You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1 line
10 KiB

(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["pages-login-index"],{"0cb1":function(t,e,a){"use strict";a.d(e,"b",(function(){return i})),a.d(e,"c",(function(){return n})),a.d(e,"a",(function(){}));var i=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("v-uni-view",{staticClass:"login-container"},[a("v-uni-image",{staticClass:"background-image",attrs:{src:"/static/cancel_bg.png",mode:"aspectFill"}}),a("v-uni-view",{staticClass:"login-header"},[a("v-uni-view",{staticClass:"header-content"},[a("v-uni-image",{staticClass:"header-logo",attrs:{src:"/static/logo-index.png",mode:"aspectFit"}}),a("v-uni-view",{staticClass:"header-text"},[a("v-uni-text",{staticClass:"welcome-title"},[t._v("Hello!")]),a("v-uni-text",{staticClass:"welcome-subtitle"},[t._v("欢迎登录访客管理系统")])],1)],1)],1),a("v-uni-view",{staticClass:"login-form"},[a("v-uni-view",{staticClass:"form-item"},[a("v-uni-view",{staticClass:"input-wrapper"},[a("v-uni-image",{staticClass:"input-icon",attrs:{src:"/static/username.png",mode:"aspectFit"}}),a("v-uni-view",{staticClass:"input-divider"}),a("v-uni-input",{staticClass:"form-input",attrs:{placeholder:"请输入用户名",disabled:t.loading},on:{input:function(e){arguments[0]=e=t.$handleEvent(e),t.clearError.apply(void 0,arguments)}},model:{value:t.form.username,callback:function(e){t.$set(t.form,"username",e)},expression:"form.username"}})],1)],1),a("v-uni-view",{staticClass:"form-item"},[a("v-uni-view",{staticClass:"input-wrapper"},[a("v-uni-image",{staticClass:"input-icon",attrs:{src:"/static/pwd.png",mode:"aspectFit"}}),a("v-uni-view",{staticClass:"input-divider"}),a("v-uni-input",{staticClass:"form-input",attrs:{placeholder:"请输入密码",password:!0,disabled:t.loading},on:{input:function(e){arguments[0]=e=t.$handleEvent(e),t.clearError.apply(void 0,arguments)},confirm:function(e){arguments[0]=e=t.$handleEvent(e),t.handleLogin.apply(void 0,arguments)}},model:{value:t.form.password,callback:function(e){t.$set(t.form,"password",e)},expression:"form.password"}})],1)],1),t.errorMsg?a("v-uni-view",{staticClass:"error-message"},[a("v-uni-text",[t._v(t._s(t.errorMsg))])],1):t._e()],1),a("v-uni-view",{staticClass:"login-actions"},[a("v-uni-button",{staticClass:"login-btn",class:{loading:t.loading},attrs:{disabled:t.loading},on:{click:function(e){arguments[0]=e=t.$handleEvent(e),t.handleLogin.apply(void 0,arguments)}}},[t._v(" "+t._s(t.loading?"登录中...":"立即登录")+" ")])],1),a("v-uni-view",{staticClass:"footer"},[a("v-uni-text",{staticClass:"copyright"},[t._v("© BD管理系统")])],1)],1)},n=[]},"1eb7":function(t,e,a){"use strict";var i=a("3518"),n=a.n(i);n.a},3518:function(t,e,a){var i=a("7c23");i.__esModule&&(i=i.default),"string"===typeof i&&(i=[[t.i,i,""]]),i.locals&&(t.exports=i.locals);var n=a("967d").default;n("26eb8e98",i,!0,{sourceMap:!1,shadowMode:!1})},"36f8":function(t,e,a){"use strict";a.r(e);var i=a("0cb1"),n=a("3e78");for(var r in n)["default"].indexOf(r)<0&&function(t){a.d(e,t,(function(){return n[t]}))}(r);a("1eb7");var o=a("828b"),s=Object(o["a"])(n["default"],i["b"],i["c"],!1,null,"41404061",null,!1,i["a"],void 0);e["default"]=s.exports},"3e78":function(t,e,a){"use strict";a.r(e);var i=a("52a4"),n=a.n(i);for(var r in i)["default"].indexOf(r)<0&&function(t){a.d(e,t,(function(){return i[t]}))}(r);e["default"]=n.a},"52a4":function(t,e,a){"use strict";a("6a54");var i=a("f5bd").default;Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n=i(a("2634")),r=i(a("2fdc"));a("0c26");var o={data:function(){return{form:{username:"",password:""},loading:!1,errorMsg:""}},onLoad:function(){this.checkLoginStatus()},methods:{checkLoginStatus:function(){try{var t=uni.getStorageSync("mkwcancel_lifeData");t&&t.vuex_token&&uni.reLaunch({url:"/pages/index/index"})}catch(e){console.error("检查登录状态失败:",e)}},clearError:function(){this.errorMsg=""},validateForm:function(){return this.form.username.trim()?this.form.password.trim()?this.form.username.length<2?(this.errorMsg="用户名至少2个字符",!1):!(this.form.password.length<4)||(this.errorMsg="密码至少4个字符",!1):(this.errorMsg="请输入密码",!1):(this.errorMsg="请输入用户名",!1)},handleLogin:function(){var t=this;return(0,r.default)((0,n.default)().mark((function e(){var a,i,r;return(0,n.default)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(!t.loading){e.next=2;break}return e.abrupt("return");case 2:if(t.validateForm()){e.next=4;break}return e.abrupt("return");case 4:return t.loading=!0,t.errorMsg="",e.prev=6,e.next=9,t.$u.api.login({username:t.form.username,password:t.form.password});case 9:if(a=e.sent,console.log("登录结果:",a),!a||!a.access_token){e.next=29;break}return i=a.access_token,t.$u.vuex("vuex_token",i),e.prev=14,e.next=17,t.$u.api.user();case 17:r=e.sent,console.log("用户信息:",r),r&&r?(t.$u.vuex("vuex_user",r),uni.showToast({title:"登录成功",icon:"success"}),setTimeout((function(){uni.reLaunch({url:"/pages/index/index"})}),1500)):(t.errorMsg=(null===r||void 0===r?void 0:r.errmsg)||"获取用户信息失败",t.$u.vuex("vuex_token","")),e.next=27;break;case 22:e.prev=22,e.t0=e["catch"](14),console.error("获取用户信息失败:",e.t0),t.errorMsg="获取用户信息失败,请重试",t.$u.vuex("vuex_token","");case 27:e.next=30;break;case 29:t.errorMsg=(null===a||void 0===a?void 0:a.errmsg)||"登录失败,请检查用户名和密码";case 30:e.next=36;break;case 32:e.prev=32,e.t1=e["catch"](6),console.error("登录失败:",e.t1),t.errorMsg="网络错误,请检查网络连接后重试";case 36:return e.prev=36,t.loading=!1,e.finish(36);case 39:case"end":return e.stop()}}),e,null,[[6,32,36,39],[14,22]])})))()}}};e.default=o},"7c23":function(t,e,a){var i=a("c86c");e=i(!1),e.push([t.i,'@charset "UTF-8";\n/* 颜色变量 */\n/* 行为相关颜色 */\n/* 文字基本颜色 */\n/* 背景颜色 */\n/* 边框颜色 */\n/* 尺寸变量 */\n/* 文字尺寸 */\n/* 图片尺寸 */\n/* Border Radius */\n/* 水平间距 */\n/* 垂直间距 */\n/* 透明度 */\n/* 文章场景相关 */\n/* uni.scss */.login-container[data-v-41404061]{min-height:100vh;position:relative;width:100%;padding:%?40?%;box-sizing:border-box}.background-image[data-v-41404061]{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;object-fit:cover}.login-header[data-v-41404061]{position:absolute;top:10%;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);z-index:1}.login-header .header-content[data-v-41404061]{display:flex;align-items:center}.login-header .header-content .header-logo[data-v-41404061]{width:%?80?%;height:%?80?%;margin-right:%?24?%}@media (max-width:750px){.login-header .header-content .header-logo[data-v-41404061]{width:%?64?%;height:%?64?%;margin-right:%?20?%}}.login-header .header-content .header-text[data-v-41404061]{display:flex;flex-direction:column}.login-header .header-content .header-text .welcome-title[data-v-41404061]{font-size:%?64?%;font-weight:700;color:#333;margin-bottom:%?8?%;line-height:1}@media (max-width:750px){.login-header .header-content .header-text .welcome-title[data-v-41404061]{font-size:%?48?%;color:#fff}}.login-header .header-content .header-text .welcome-subtitle[data-v-41404061]{font-size:%?32?%;color:#333;line-height:1}@media (max-width:750px){.login-header .header-content .header-text .welcome-subtitle[data-v-41404061]{font-size:%?28?%;color:#fff}}.login-form[data-v-41404061]{width:100%;max-width:%?600?%;position:absolute;top:50%;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);z-index:1}.login-form .form-item[data-v-41404061]{margin-bottom:%?40?%}.login-form .form-item[data-v-41404061]:last-child{margin-bottom:0}.input-wrapper[data-v-41404061]{display:flex;align-items:center;background:#f0f0f0;border-radius:%?44?%;padding:0 %?24?%;border:none;transition:all .3s ease}.input-wrapper[data-v-41404061]:focus-within{background:#fff;box-shadow:0 %?4?% %?12?% rgba(0,0,0,.1)}.input-wrapper .input-icon[data-v-41404061]{width:%?36?%;height:%?36?%;margin-right:%?20?%;opacity:.7}@media (max-width:750px){.input-wrapper .input-icon[data-v-41404061]{width:%?32?%;height:%?32?%;margin-right:%?16?%}}.input-wrapper .input-divider[data-v-41404061]{width:%?2?%;height:%?60?%;background-color:#d0d0d0;margin-right:%?20?%}@media (max-width:750px){.input-wrapper .input-divider[data-v-41404061]{height:%?50?%;margin-right:%?16?%}}@media (max-width:750px){.input-wrapper[data-v-41404061]{border-radius:%?40?%}}.input-wrapper .form-input[data-v-41404061]{flex:1;height:%?88?%;font-size:%?32?%;color:#333;background:transparent;border:none}@media (max-width:750px){.input-wrapper .form-input[data-v-41404061]{height:%?80?%;font-size:%?28?%}}@media (min-width:768px){.input-wrapper .form-input[data-v-41404061]{height:%?100?%;font-size:%?36?%}}.error-message[data-v-41404061]{background:#fef0f0;border:%?1?% solid #fcdcdc;border-radius:%?8?%;padding:%?20?% %?24?%;margin-bottom:%?30?%}.error-message uni-text[data-v-41404061]{color:#f56c6c;font-size:%?26?%}@media (max-width:750px){.error-message uni-text[data-v-41404061]{font-size:%?24?%}}.login-actions[data-v-41404061]{position:absolute;top:75%;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);z-index:1;width:100%;max-width:%?600?%}.login-actions .login-btn[data-v-41404061]{width:100%;height:%?88?%;background:#18284b;color:#fff;border:none;border-radius:%?44?%;font-size:%?32?%;font-weight:600;transition:all .3s ease}@media (max-width:750px){.login-actions .login-btn[data-v-41404061]{height:%?80?%;font-size:%?28?%;border-radius:%?40?%}}@media (min-width:768px){.login-actions .login-btn[data-v-41404061]{height:%?100?%;font-size:%?36?%}}.login-actions .login-btn[data-v-41404061]:not(:disabled):active{-webkit-transform:translateY(%?2?%);transform:translateY(%?2?%);box-shadow:0 %?4?% %?12?% rgba(0,69,147,.3)}.login-actions .login-btn[data-v-41404061]:disabled{opacity:.6;cursor:not-allowed}.login-actions .login-btn.loading[data-v-41404061]{background:#c0c4cc}.footer[data-v-41404061]{text-align:center;position:absolute;bottom:8%;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);z-index:1;width:100%}.footer .copyright[data-v-41404061]{font-size:%?24?%;color:#666}@media (max-width:750px){.footer .copyright[data-v-41404061]{font-size:%?22?%}}\n/* 响应式优化 */@media (max-width:750px){.login-container[data-v-41404061]{padding:%?20?%}.login-card[data-v-41404061]{padding:%?40?% %?30?%}.login-header[data-v-41404061]{margin-bottom:%?40?%}.login-actions[data-v-41404061]{margin-top:%?40?%}}',""]),t.exports=e}}]);