1 line
50 KiB
JSON
1 line
50 KiB
JSON
{"remainingRequest":"F:\\workspace\\webstorm\\SafetyScreen-ui2\\node_modules\\babel-loader\\lib\\index.js!F:\\workspace\\webstorm\\SafetyScreen-ui2\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!F:\\workspace\\webstorm\\SafetyScreen-ui2\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!F:\\workspace\\webstorm\\SafetyScreen-ui2\\src\\views\\login\\login1.vue?vue&type=script&lang=js","dependencies":[{"path":"F:\\workspace\\webstorm\\SafetyScreen-ui2\\src\\views\\login\\login1.vue","mtime":1740033221819},{"path":"F:\\workspace\\webstorm\\SafetyScreen-ui2\\babel.config.js","mtime":1740032703932},{"path":"F:\\workspace\\webstorm\\SafetyScreen-ui2\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1740032832373},{"path":"F:\\workspace\\webstorm\\SafetyScreen-ui2\\node_modules\\babel-loader\\lib\\index.js","mtime":1740032833520},{"path":"F:\\workspace\\webstorm\\SafetyScreen-ui2\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1740032832373},{"path":"F:\\workspace\\webstorm\\SafetyScreen-ui2\\node_modules\\vue-loader\\lib\\index.js","mtime":1740032833997}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:InVzZSBzdHJpY3QiOwoKdmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKCJGOi93b3Jrc3BhY2Uvd2Vic3Rvcm0vU2FmZXR5U2NyZWVuLXVpMi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZURlZmF1bHQuanMiKS5kZWZhdWx0OwpPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgIl9fZXNNb2R1bGUiLCB7CiAgdmFsdWU6IHRydWUKfSk7CmV4cG9ydHMuZGVmYXVsdCA9IHZvaWQgMDsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnB1c2guanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC5rZXlzLmpzIik7CnZhciBfbG9naW4gPSByZXF1aXJlKCJAL2FwaS9sb2dpbiIpOwp2YXIgX2pzQ29va2llID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKCJqcy1jb29raWUiKSk7CnZhciBfanNlbmNyeXB0ID0gcmVxdWlyZSgiQC91dGlscy9qc2VuY3J5cHQiKTsKLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8gaW1wb3J0IGRpbmdkaW5nIGZyb20gJ0AvYXNzZXRzL2ltYWdlcy9kaW5nZGluZy5zdmcnCi8vIGltcG9ydCB3eCBmcm9tICdAL2Fzc2V0cy9pbWFnZXMvd3guc3ZnJwovLyBpbXBvcnQgcXEgZnJvbSAnQC9hc3NldHMvaW1hZ2VzL1FRLnN2ZycKdmFyIF9kZWZhdWx0ID0gZXhwb3J0cy5kZWZhdWx0ID0gewogIG5hbWU6ICdMb2dpbicsCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIC8vIGRpbmdkaW5nOiBkaW5nZGluZywKICAgICAgLy8gd3g6IHd4LAogICAgICAvLyBxcTogcXEsCiAgICAgIGNvZGVVcmw6ICcnLAogICAgICBpc0FkbWluOiBmYWxzZSwKICAgICAgbG9naW5Gb3JtOiB7CiAgICAgICAgdXNlcm5hbWU6ICcnLAogICAgICAgIHBhc3N3b3JkOiAnJywKICAgICAgICByZW1lbWJlck1lOiBmYWxzZSwKICAgICAgICBjb2RlOiAnJywKICAgICAgICBtb2JpbGU6ICcnLAogICAgICAgIHZlcmlmaWNhdGlvbkNvZGU6ICcnLAogICAgICAgIHV1aWQ6ICcnLAogICAgICAgIGxvZ2luVHlwZTogJycsCiAgICAgICAgcGhvbmVVdWlkOiAnJywKICAgICAgICBtb2JpbGVDb2RlVHlwZTogJ0xPR0lOJwogICAgICB9LAogICAgICBwYXNzd29yZExvZ2luUnVsZXM6IHsKICAgICAgICB1c2VybmFtZTogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgdHJpZ2dlcjogJ2JsdXInLAogICAgICAgICAgbWVzc2FnZTogJ+ivt+i+k+WFpeaCqOeahOi0puWPtycKICAgICAgICB9XSwKICAgICAgICBwYXNzd29yZDogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgdHJpZ2dlcjogJ2JsdXInLAogICAgICAgICAgbWVzc2FnZTogJ+ivt+i+k+WFpeaCqOeahOWvhueggScKICAgICAgICB9XSwKICAgICAgICBjb2RlOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICB0cmlnZ2VyOiAnY2hhbmdlJywKICAgICAgICAgIG1lc3NhZ2U6ICfor7fovpPlhaXpqozor4HnoIEnCiAgICAgICAgfV0KICAgICAgfSwKICAgICAgbW9iaWxlTG9naW5SdWxlczogewogICAgICAgIG1vYmlsZTogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgdHJpZ2dlcjogJ2JsdXInLAogICAgICAgICAgbWVzc2FnZTogJ+ivt+i+k+WFpeaCqOeahOaJi+acuuWPtycKICAgICAgICB9XSwKICAgICAgICB2ZXJpZmljYXRpb25Db2RlOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICB0cmlnZ2VyOiAnYmx1cicsCiAgICAgICAgICBtZXNzYWdlOiAn6K+36L6T5YWl6aqM6K+B56CBJwogICAgICAgIH1dCiAgICAgIH0sCiAgICAgIGxvYWRpbmc6IGZhbHNlLAogICAgICBjYXB0Y2hhRW5hYmxlZDogdHJ1ZSwKICAgICAgcmVkaXJlY3Q6IHVuZGVmaW5lZCwKICAgICAgaXNTZW5kaW5nQ29kZTogZmFsc2UsCiAgICAgIGNvdW50ZG93bjogMCwKICAgICAgbG9naW5NZXRob2Q6ICdwYXNzd29yZCcsCiAgICAgIC8vICdwYXNzd29yZCcgb3IgJ21vYmlsZScKICAgICAgc3VwcG9ydHNQaG9uZUxvZ2luOiBmYWxzZSwKICAgICAgc3VwcG9ydHNFbWFpbExvZ2luOiBmYWxzZQogICAgfTsKICB9LAogIGNvbXB1dGVkOiB7CiAgICBjb25maWc6IGZ1bmN0aW9uIGNvbmZpZygpIHsKICAgICAgcmV0dXJuIEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3N5c3RlbUNvbmZpZycpKSB8fCB7CiAgICAgICAgbG9naW5Db25maWc6IHsKICAgICAgICAgIHBob25lUGFzc3dvcmQ6IHRydWUsCiAgICAgICAgICBlbWFpbFBhc3N3b3JkOiB0cnVlLAogICAgICAgICAgcGhvbmVDb2RlOiBmYWxzZSwKICAgICAgICAgIGVtYWlsQ29kZTogZmFsc2UKICAgICAgICB9LAogICAgICAgIHJlZ2lzdGVyc0NvbmZpZzogewogICAgICAgICAgcGhvbmVSZWdpc3RlcnM6IHRydWUsCiAgICAgICAgICBlbWFpbFJlZ2lzdGVyczogdHJ1ZQogICAgICAgIH0KICAgICAgfTsgLy8g6I635Y+WIEpTT04g5a+56LGhCiAgICB9LAogICAgbG9naW5SdWxlczogZnVuY3Rpb24gbG9naW5SdWxlcygpIHsKICAgICAgcmV0dXJuIHRoaXMubG9naW5NZXRob2QgPT09ICdwYXNzd29yZCcgPyB0aGlzLnBhc3N3b3JkTG9naW5SdWxlcyA6IHRoaXMubW9iaWxlTG9naW5SdWxlczsKICAgIH0KICB9LAogIHdhdGNoOiB7CiAgICAkcm91dGU6IHsKICAgICAgaGFuZGxlcjogZnVuY3Rpb24gaGFuZGxlcihyb3V0ZSkgewogICAgICAgIHRoaXMucmVkaXJlY3QgPSByb3V0ZS5xdWVyeSAmJiByb3V0ZS5xdWVyeS5yZWRpcmVjdDsKICAgICAgfSwKICAgICAgaW1tZWRpYXRlOiB0cnVlCiAgICB9CiAgfSwKICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkgewogICAgdGhpcy5nZXRDb2RlKCk7CiAgICB0aGlzLmdldENvb2tpZSgpOwogIH0sCiAgbWV0aG9kczogewogICAgZ2V0Q29kZTogZnVuY3Rpb24gZ2V0Q29kZSgpIHsKICAgICAgdmFyIF90aGlzID0gdGhpczsKICAgICAgKDAsIF9sb2dpbi5nZXRDb2RlSW1nKSgpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgIF90aGlzLmNhcHRjaGFFbmFibGVkID0gcmVzLmNhcHRjaGFFbmFibGVkICE9PSB1bmRlZmluZWQgPyByZXMuY2FwdGNoYUVuYWJsZWQgOiB0cnVlOwogICAgICAgIGNvbnNvbGUubG9nKF90aGlzLmNhcHRjaGFFbmFibGVkKTsKICAgICAgICBpZiAoX3RoaXMuY2FwdGNoYUVuYWJsZWQpIHsKICAgICAgICAgIF90aGlzLmNvZGVVcmwgPSAnZGF0YTppbWFnZS9naWY7YmFzZTY0LCcgKyByZXMuaW1nOwogICAgICAgICAgX3RoaXMubG9naW5Gb3JtLnV1aWQgPSByZXMudXVpZDsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIGdldENvb2tpZTogZnVuY3Rpb24gZ2V0Q29va2llKCkgewogICAgICB2YXIgdXNlcm5hbWUgPSBfanNDb29raWUuZGVmYXVsdC5nZXQoJ3VzZXJuYW1lJyk7CiAgICAgIHZhciBwYXNzd29yZCA9IF9qc0Nvb2tpZS5kZWZhdWx0LmdldCgncGFzc3dvcmQnKTsKICAgICAgdmFyIHJlbWVtYmVyTWUgPSBfanNDb29raWUuZGVmYXVsdC5nZXQoJ3JlbWVtYmVyTWUnKTsKICAgICAgdGhpcy5sb2dpbkZvcm0udXNlcm5hbWUgPSB1c2VybmFtZSB8fCAnJzsKICAgICAgdGhpcy5sb2dpbkZvcm0ucGFzc3dvcmQgPSBwYXNzd29yZCA/ICgwLCBfanNlbmNyeXB0LmRlY3J5cHQpKHBhc3N3b3JkKSA6ICcnOwogICAgICB0aGlzLmxvZ2luRm9ybS5yZW1lbWJlck1lID0gcmVtZW1iZXJNZSA9PT0gJ3RydWUnOwogICAgfSwKICAgIGhhbmRsZUxvZ2luOiBmdW5jdGlvbiBoYW5kbGVMb2dpbigpIHsKICAgICAgdmFyIF90aGlzMiA9IHRoaXM7CiAgICAgIHRoaXMuJHJlZnMubG9naW5Gb3JtLnZhbGlkYXRlKGZ1bmN0aW9uICh2YWxpZCkgewogICAgICAgIGlmICh2YWxpZCkgewogICAgICAgICAgX3RoaXMyLmxvYWRpbmcgPSB0cnVlOwogICAgICAgICAgaWYgKF90aGlzMi5sb2dpbkZvcm0ucmVtZW1iZXJNZSkgewogICAgICAgICAgICBfanNDb29raWUuZGVmYXVsdC5zZXQoJ3VzZXJuYW1lJywgX3RoaXMyLmxvZ2luRm9ybS51c2VybmFtZSwgewogICAgICAgICAgICAgIGV4cGlyZXM6IDMwCiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBfanNDb29raWUuZGVmYXVsdC5zZXQoJ3Bhc3N3b3JkJywgKDAsIF9qc2VuY3J5cHQuZW5jcnlwdCkoX3RoaXMyLmxvZ2luRm9ybS5wYXNzd29yZCksIHsKICAgICAgICAgICAgICBleHBpcmVzOiAzMAogICAgICAgICAgICB9KTsKICAgICAgICAgICAgX2pzQ29va2llLmRlZmF1bHQuc2V0KCdyZW1lbWJlck1lJywgX3RoaXMyLmxvZ2luRm9ybS5yZW1lbWJlck1lLCB7CiAgICAgICAgICAgICAgZXhwaXJlczogMzAKICAgICAgICAgICAgfSk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBfanNDb29raWUuZGVmYXVsdC5yZW1vdmUoJ3VzZXJuYW1lJyk7CiAgICAgICAgICAgIF9qc0Nvb2tpZS5kZWZhdWx0LnJlbW92ZSgncGFzc3dvcmQnKTsKICAgICAgICAgICAgX2pzQ29va2llLmRlZmF1bHQucmVtb3ZlKCdyZW1lbWJlck1lJyk7CiAgICAgICAgICB9CiAgICAgICAgICBfdGhpczIubG9naW5Gb3JtLmxvZ2luTWV0aG9kID0gX3RoaXMyLmxvZ2luTWV0aG9kOwogICAgICAgICAgX3RoaXMyLiRzdG9yZS5kaXNwYXRjaCgnTG9naW4nLCBfdGhpczIubG9naW5Gb3JtKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICAgICAgY29uc29sZS5sb2cocmVzKTsKICAgICAgICAgICAgaWYgKHJlcy5jb2RlID09PSAyMDApIHsKICAgICAgICAgICAgICBpZiAocmVzLmlzTG9naW4pIHsKICAgICAgICAgICAgICAgIF90aGlzMi4kbW9kYWwuY29uZmlybSgn6LSm5Y+35bey5Zyo5YW25LuW5Zyw5pa555m75b2V5piv5ZCm57un57ut55m75b2V77yB77yB77yB77yBJykudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLiRyb3V0ZXIucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgcGF0aDogdGhpcy5yZWRpcmVjdCB8fCAnLycKICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9KS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgX3RoaXMyLmxvYWRpbmcgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgX3RoaXMyLmxvYWRpbmcgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBfdGhpczIuJHJvdXRlci5wdXNoKHsKICAgICAgICAgICAgICAgICAgcGF0aDogX3RoaXMyLnJlZGlyZWN0IHx8ICcvJwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIF90aGlzMi5sb2FkaW5nID0gZmFsc2U7CiAgICAgICAgICAgIGlmIChfdGhpczIuY2FwdGNoYUVuYWJsZWQpIF90aGlzMi5nZXRDb2RlKCk7CiAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIElzQWRtaW46IGZ1bmN0aW9uIElzQWRtaW4oKSB7CiAgICAgIHZhciBfdGhpczMgPSB0aGlzOwogICAgICB0aGlzLmxvZ2luRm9ybS5sb2dpbk1ldGhvZCA9IHRoaXMubG9naW5NZXRob2Q7CiAgICAgIHRoaXMuJHN0b3JlLmRpc3BhdGNoKCdJc0FkbWluJywgdGhpcy5sb2dpbkZvcm0pLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgIGlmIChyZXMuZGF0YSkgewogICAgICAgICAgX3RoaXMzLmlzQWRtaW4gPSByZXMuZGF0YTsKICAgICAgICAgIF90aGlzMy4kbWVzc2FnZS5zdWNjZXNzKCfmo4DmtYvliLDmgqjmmK/otoXnuqfnrqHnkIbotKblj7cs6ZyA6L+b6KGM5omL5py65qOA6aqMJyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIF90aGlzMy5oYW5kbGVMb2dpbigpOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgaXNMb2dpbjogZnVuY3Rpb24gaXNMb2dpbigpIHsKICAgICAgdmFyIF90aGlzNCA9IHRoaXM7CiAgICAgIHRoaXMuJHJlZnMubG9naW5Gb3JtLnZhbGlkYXRlKGZ1bmN0aW9uICh2YWxpZCkgewogICAgICAgIGlmICh2YWxpZCkgewogICAgICAgICAgX3RoaXM0LmxvYWRpbmcgPSB0cnVlOwogICAgICAgICAgdmFyIHRoYXQgPSBfdGhpczQ7CiAgICAgICAgICBfdGhpczQubG9naW5Gb3JtLmxvZ2luTWV0aG9kID0gX3RoaXM0LmxvZ2luTWV0aG9kOwogICAgICAgICAgX3RoaXM0LiRzdG9yZS5kaXNwYXRjaCgnSXNMb2dpbicsIF90aGlzNC5sb2dpbkZvcm0pLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgICAgICBpZiAocmVzLmRhdGEpIHsKICAgICAgICAgICAgICBfdGhpczQuJG1vZGFsLmNvbmZpcm0oJ+i0puWPt+W3suWcqOWFtuS7luWcsOaWueeZu+W9leaYr+WQpue7p+e7reeZu+W9le+8ge+8ge+8ge+8gScpLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHRoYXQuaGFuZGxlTG9naW4oKTsKICAgICAgICAgICAgICB9KS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIF90aGlzNC5sb2FkaW5nID0gZmFsc2U7CiAgICAgICAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgX3RoaXM0LmxvYWRpbmcgPSBmYWxzZTsKICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICB0aGF0LmhhbmRsZUxvZ2luKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgX3RoaXM0LmxvYWRpbmcgPSBmYWxzZTsKICAgICAgICAgICAgaWYgKF90aGlzNC5jYXB0Y2hhRW5hYmxlZCkgX3RoaXM0LmdldENvZGUoKTsKICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgc2VuZEFkbWluQ29kZTogZnVuY3Rpb24gc2VuZEFkbWluQ29kZSgpIHsKICAgICAgdmFyIF90aGlzNSA9IHRoaXM7CiAgICAgIHRoaXMubG9naW5Gb3JtLm1vYmlsZSA9IHRoaXMubG9naW5Gb3JtLnVzZXJuYW1lOwogICAgICB0aGlzLiRzdG9yZS5kaXNwYXRjaCgnR2V0UGhvbmVDb2RlJywgdGhpcy5sb2dpbkZvcm0pLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgIGlmIChyZXMuY29kZSA9PT0gMjAwKSB7CiAgICAgICAgICBfdGhpczUubG9naW5Gb3JtLnBob25lVXVpZCA9IHJlcy5kYXRhOwogICAgICAgICAgX3RoaXM1LiRtZXNzYWdlLnN1Y2Nlc3MoJ+mqjOivgeeggeWPkemAgeaIkOWKnycpOwogICAgICAgICAgX3RoaXM1LmlzU2VuZGluZ0NvZGUgPSB0cnVlOwogICAgICAgICAgX3RoaXM1LmNvdW50ZG93biA9IDYwOwogICAgICAgICAgdmFyIHRpbWVyID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBfdGhpczUuY291bnRkb3duIC09IDE7CiAgICAgICAgICAgIGlmIChfdGhpczUuY291bnRkb3duIDw9IDApIHsKICAgICAgICAgICAgICBjbGVhckludGVydmFsKHRpbWVyKTsKICAgICAgICAgICAgICBfdGhpczUuaXNTZW5kaW5nQ29kZSA9IGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgICB9LCAxMDAwKTsKICAgICAgICB9CiAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uICgpIHsKICAgICAgICBfdGhpczUubG9hZGluZyA9IGZhbHNlOwogICAgICAgIC8vIOWmguaenOWQr+eUqOS6humqjOivgeegge+8jOWImemHjeaWsOiOt+WPlumqjOivgeeggQogICAgICAgIGlmIChfdGhpczUuY2FwdGNoYUVuYWJsZWQpIHsKICAgICAgICAgIF90aGlzNS5nZXRDb2RlKCk7CiAgICAgICAgfQogICAgICAgIC8vIOWFtuS7luWksei0peWkhOeQhumAu+i+kQogICAgICAgIF90aGlzNS5pc1NlbmRpbmdDb2RlID0gZmFsc2U7CiAgICAgICAgX3RoaXM1LmNvdW50ZG93biA9IDA7CiAgICAgIH0pOwogICAgfSwKICAgIHNlbmRDb2RlOiBmdW5jdGlvbiBzZW5kQ29kZSgpIHsKICAgICAgdmFyIF90aGlzNiA9IHRoaXM7CiAgICAgIGlmICh0aGlzLmNhcHRjaGFFbmFibGVkID8gIXRoaXMubG9naW5Gb3JtLmNvZGUgOiBmYWxzZSkgewogICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IoJ+ivt+WFiOWhq+WGmemqjOivgeeggScpOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICBpZiAoIXRoaXMubG9naW5Gb3JtLm1vYmlsZSkgewogICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IoJ+ivt+WFiOWhq+WGmScgKyB0aGlzLmNvbmZpZy5sb2dpbkNvbmZpZy5waG9uZUNvZGUgPyAn5omL5py65Y+3JyA6ICcvJyArIHRoaXMuY29uZmlnLmxvZ2luQ29uZmlnLmVtYWlsQ29kZSA/ICfpgq7nrrEnIDogJycpOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICB0aGlzLiRzdG9yZS5kaXNwYXRjaCgnR2V0UGhvbmVDb2RlJywgdGhpcy5sb2dpbkZvcm0pLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIF90aGlzNi5pc1NlbmRpbmdDb2RlID0gdHJ1ZTsKICAgICAgICBfdGhpczYuY291bnRkb3duID0gNjA7CiAgICAgICAgdmFyIHRpbWVyID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24gKCkgewogICAgICAgICAgX3RoaXM2LmNvdW50ZG93biAtPSAxOwogICAgICAgICAgaWYgKF90aGlzNi5jb3VudGRvd24gPD0gMCkgewogICAgICAgICAgICBjbGVhckludGVydmFsKHRpbWVyKTsKICAgICAgICAgICAgX3RoaXM2LmlzU2VuZGluZ0NvZGUgPSBmYWxzZTsKICAgICAgICAgIH0KICAgICAgICB9LCAxMDAwKTsKICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKCkgewogICAgICAgIF90aGlzNi5sb2FkaW5nID0gZmFsc2U7CiAgICAgICAgLy8g5aaC5p6c5ZCv55So5LqG6aqM6K+B56CB77yM5YiZ6YeN5paw6I635Y+W6aqM6K+B56CBCiAgICAgICAgaWYgKF90aGlzNi5jYXB0Y2hhRW5hYmxlZCkgewogICAgICAgICAgX3RoaXM2LmdldENvZGUoKTsKICAgICAgICB9CiAgICAgICAgLy8g5YW25LuW5aSx6LSl5aSE55CG6YC76L6RCiAgICAgICAgX3RoaXM2LmlzU2VuZGluZ0NvZGUgPSBmYWxzZTsKICAgICAgICBfdGhpczYuY291bnRkb3duID0gMDsKICAgICAgfSk7CiAgICB9LAogICAgdG9nZ2xlTG9naW5NZXRob2Q6IGZ1bmN0aW9uIHRvZ2dsZUxvZ2luTWV0aG9kKCkgewogICAgICB0aGlzLmxvZ2luTWV0aG9kID0gdGhpcy5sb2dpbk1ldGhvZCA9PT0gJ3Bhc3N3b3JkJyA/ICdtb2JpbGUnIDogJ3Bhc3N3b3JkJzsKICAgICAgdGhpcy5sb2dpbkZvcm0udXNlcm5hbWUgPSAnJzsKICAgICAgdGhpcy5sb2dpbkZvcm0ucGFzc3dvcmQgPSAnJzsKICAgICAgdGhpcy5sb2dpbkZvcm0uY29kZSA9ICcnOwogICAgICB0aGlzLmxvZ2luRm9ybS52ZXJpZmljYXRpb25Db2RlID0gJyc7CiAgICAgIHRoaXMubG9naW5Gb3JtLmxvZ2luTWV0aG9kID0gJyc7CiAgICAgIHRoaXMuaXNBZG1pbiA9IGZhbHNlOwogICAgICB0aGlzLmdldENvZGUoKTsKICAgIH0KICB9Cn07"},{"version":3,"names":["_login","require","_jsCookie","_interopRequireDefault","_jsencrypt","_default","exports","default","name","data","codeUrl","isAdmin","loginForm","username","password","rememberMe","code","mobile","verificationCode","uuid","loginType","phoneUuid","mobileCodeType","passwordLoginRules","required","trigger","message","mobileLoginRules","loading","captchaEnabled","redirect","undefined","isSendingCode","countdown","loginMethod","supportsPhoneLogin","supportsEmailLogin","computed","config","JSON","parse","localStorage","getItem","loginConfig","phonePassword","emailPassword","phoneCode","emailCode","registersConfig","phoneRegisters","emailRegisters","loginRules","watch","$route","handler","route","query","immediate","created","getCode","getCookie","methods","_this","getCodeImg","then","res","console","log","img","Cookies","get","decrypt","handleLogin","_this2","$refs","validate","valid","set","expires","encrypt","remove","$store","dispatch","isLogin","$modal","confirm","$router","push","path","catch","IsAdmin","_this3","$message","success","_this4","that","sendAdminCode","_this5","timer","setInterval","clearInterval","sendCode","_this6","error","toggleLoginMethod"],"sources":["src/views/login/login1.vue"],"sourcesContent":["<template>\r\n <div class=\"container\">\r\n <div class=\"bg-cont\">\r\n <div class=\"bg\">\r\n <img src=\"@/assets/images/dp-bg.png\" />\r\n </div>\r\n </div>\r\n <!-- <div class=\"lef-cont\">\r\n <div class=\"circle1\"></div>\r\n <div class=\"circle2\"></div>\r\n <div class=\"tit\">\r\n <span style=\"padding-bottom: 15px\">您好,</span>\r\n <span>欢迎来到输变电工程施工现场安全风险预警系统</span>\r\n </div>\r\n <div class=\"tit-en\">\r\n <span style=\"padding-bottom: 15px\">Hello!</span>\r\n <span>Welcome to the Safety Construction Warning System</span>\r\n </div>\r\n <div class=\"img-cont\">\r\n <img src=\"@/assets/images/warn-bg.png\">\r\n </div>\r\n </div> -->\r\n <div class=\"login\">\r\n <h3 class=\"title\" style=\"font-weight: bold;\">变电站扩建工程施工现场智能风险预警系统</h3>\r\n <div class=\"login-form\">\r\n <el-form ref=\"loginForm\" :model=\"loginForm\" :rules=\"loginRules\">\r\n <!-- -->\r\n <template v-if=\"loginMethod === 'password'\">\r\n <el-form-item prop=\"username\">\r\n <el-input\r\n v-model=\"loginForm.username\"\r\n type=\"text\"\r\n auto-complete=\"off\"\r\n :placeholder=\"`用户名${\r\n config.loginConfig.phonePassword\r\n ? '/手机号'\r\n : ''\r\n }${\r\n config.loginConfig.emailPassword\r\n ? '/邮箱'\r\n : ''\r\n }`\"\r\n >\r\n <svg-icon\r\n slot=\"prefix\"\r\n icon-class=\"user\"\r\n class=\"el-input__icon input-icon\"\r\n />\r\n </el-input>\r\n </el-form-item>\r\n <el-form-item prop=\"password\">\r\n <el-input\r\n v-model=\"loginForm.password\"\r\n type=\"password\"\r\n placeholder=\"密码\"\r\n auto-complete=\"off\"\r\n @keyup.enter.native=\"handleLogin\"\r\n >\r\n <svg-icon\r\n slot=\"prefix\"\r\n icon-class=\"password\"\r\n class=\"el-input__icon input-icon\"\r\n />\r\n </el-input>\r\n </el-form-item>\r\n <el-form-item prop=\"code\" v-if=\"captchaEnabled\">\r\n <el-input\r\n v-model=\"loginForm.code\"\r\n auto-complete=\"off\"\r\n placeholder=\"验证码\"\r\n style=\"width: 63%\"\r\n @keyup.enter.native=\"handleLogin\"\r\n >\r\n <svg-icon\r\n slot=\"prefix\"\r\n icon-class=\"validCode\"\r\n class=\"el-input__icon input-icon\"\r\n />\r\n </el-input>\r\n <div class=\"login-code\">\r\n <img\r\n :src=\"codeUrl\"\r\n @click=\"getCode\"\r\n class=\"login-code-img\"\r\n />\r\n </div>\r\n </el-form-item>\r\n <el-form-item v-show=\"isAdmin\" prop=\"verificationCode\">\r\n <el-input\r\n v-model=\"loginForm.verificationCode\"\r\n placeholder=\"请输入验证码\"\r\n >\r\n <template slot=\"append\">\r\n <el-button\r\n type=\"primary\"\r\n @click=\"sendAdminCode\"\r\n :disabled=\"\r\n isSendingCode || captchaEnabled\r\n ? !loginForm.code\r\n : false\r\n \"\r\n class=\"send-code-button\"\r\n >\r\n {{\r\n countdown === 0\r\n ? '获取验证码'\r\n : `${countdown}s`\r\n }}\r\n </el-button>\r\n </template>\r\n <svg-icon\r\n slot=\"prefix\"\r\n icon-class=\"message\"\r\n class=\"el-input__icon input-icon\"\r\n />\r\n </el-input>\r\n </el-form-item>\r\n </template>\r\n <template v-else>\r\n <el-form-item prop=\"mobile\">\r\n <el-input\r\n v-model=\"loginForm.mobile\"\r\n type=\"text\"\r\n auto-complete=\"off\"\r\n :placeholder=\"`${\r\n config.loginConfig.phoneCode\r\n ? '手机号'\r\n : '/'\r\n }${config.loginConfig.emailCode ? '邮箱' : ''}`\"\r\n >\r\n <svg-icon\r\n slot=\"prefix\"\r\n icon-class=\"user\"\r\n class=\"el-input__icon input-icon\"\r\n />\r\n </el-input>\r\n </el-form-item>\r\n <el-form-item prop=\"code\" v-if=\"captchaEnabled\">\r\n <el-input\r\n v-model=\"loginForm.code\"\r\n auto-complete=\"off\"\r\n placeholder=\"验证码\"\r\n style=\"width: 63%\"\r\n @keyup.enter.native=\"handleLogin\"\r\n >\r\n <svg-icon\r\n slot=\"prefix\"\r\n icon-class=\"validCode\"\r\n class=\"el-input__icon input-icon\"\r\n />\r\n </el-input>\r\n <div class=\"login-code\">\r\n <img\r\n :src=\"codeUrl\"\r\n @click=\"getCode\"\r\n class=\"login-code-img\"\r\n />\r\n </div>\r\n </el-form-item>\r\n <el-form-item prop=\"verificationCode\">\r\n <el-input\r\n v-model=\"loginForm.verificationCode\"\r\n placeholder=\"请输入验证码\"\r\n >\r\n <template slot=\"append\">\r\n <el-button\r\n type=\"primary\"\r\n @click=\"sendCode\"\r\n :disabled=\"\r\n isSendingCode || captchaEnabled\r\n ? !loginForm.code\r\n : false\r\n \"\r\n class=\"send-code-button\"\r\n >\r\n {{\r\n countdown === 0\r\n ? '获取验证码'\r\n : `${countdown}s`\r\n }}\r\n </el-button>\r\n </template>\r\n <svg-icon\r\n slot=\"prefix\"\r\n icon-class=\"message\"\r\n class=\"el-input__icon input-icon\"\r\n />\r\n </el-input>\r\n </el-form-item>\r\n </template>\r\n <div class=\"login-form-center\">\r\n <el-link\r\n v-if=\"\r\n config.loginConfig.emailCode ||\r\n config.loginConfig.phoneCode\r\n \"\r\n @click=\"toggleLoginMethod\"\r\n >\r\n {{\r\n loginMethod === 'password'\r\n ? '短信登录'\r\n : '密码登录'\r\n }}\r\n </el-link>\r\n <router-link\r\n v-if=\"\r\n config.registersConfig.emailRegisters ||\r\n config.registersConfig.phoneRegisters\r\n \"\r\n to=\"/register\"\r\n >\r\n <!-- <el-link>注册账号</el-link> -->\r\n </router-link>\r\n <!-- <el-checkbox v-model=\"loginForm.rememberMe\">记住密码</el-checkbox> -->\r\n </div>\r\n <el-form-item style=\"width: 100%\">\r\n <el-button\r\n v-if=\"!isAdmin\"\r\n :loading=\"loading\"\r\n size=\"medium\"\r\n type=\"primary\"\r\n style=\"width: 100%\"\r\n @click=\"\r\n loginMethod === 'password'\r\n ? IsAdmin()\r\n : handleLogin()\r\n \"\r\n >\r\n <span v-if=\"!loading\">登 录</span>\r\n <span v-else>登 录 中...</span>\r\n </el-button>\r\n <el-button\r\n v-if=\"isAdmin\"\r\n :loading=\"loading\"\r\n size=\"medium\"\r\n type=\"primary\"\r\n style=\"width: 100%\"\r\n @click=\"handleLogin()\"\r\n >\r\n <span v-if=\"!loading\">登 录</span>\r\n <span v-else>登 录 中...</span>\r\n </el-button>\r\n </el-form-item>\r\n <!-- <el-form-item>\r\n <div class=\"login-divider\">第三方登录</div>\r\n <div class=\"login-icons\">\r\n <div class=\"login-icon\">\r\n <img :src=\"dingding\" alt=\"Weibo\">\r\n </div>\r\n <div class=\"login-icon\">\r\n <img :src=\"wx\" alt=\"WeChat\">\r\n </div>\r\n <div class=\"login-icon\">\r\n <img :src=\"qq\" alt=\"QQ\">\r\n </div>\r\n </div>\r\n </el-form-item>-->\r\n </el-form>\r\n </div>\r\n </div>\r\n\r\n <div class=\"bottom-info\">\r\n 版权所有权归国网电力工程技术研究院有限公司\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { getCodeImg } from '@/api/login'\r\nimport Cookies from 'js-cookie'\r\nimport { encrypt, decrypt } from '@/utils/jsencrypt'\r\n// import dingding from '@/assets/images/dingding.svg'\r\n// import wx from '@/assets/images/wx.svg'\r\n// import qq from '@/assets/images/QQ.svg'\r\n\r\nexport default {\r\n name: 'Login',\r\n data() {\r\n return {\r\n // dingding: dingding,\r\n // wx: wx,\r\n // qq: qq,\r\n codeUrl: '',\r\n isAdmin: false,\r\n loginForm: {\r\n username: '',\r\n password: '',\r\n rememberMe: false,\r\n code: '',\r\n mobile: '',\r\n verificationCode: '',\r\n uuid: '',\r\n loginType: '',\r\n phoneUuid: '',\r\n mobileCodeType: 'LOGIN',\r\n },\r\n passwordLoginRules: {\r\n username: [\r\n {\r\n required: true,\r\n trigger: 'blur',\r\n message: '请输入您的账号',\r\n },\r\n ],\r\n password: [\r\n {\r\n required: true,\r\n trigger: 'blur',\r\n message: '请输入您的密码',\r\n },\r\n ],\r\n code: [\r\n {\r\n required: true,\r\n trigger: 'change',\r\n message: '请输入验证码',\r\n },\r\n ],\r\n },\r\n mobileLoginRules: {\r\n mobile: [\r\n {\r\n required: true,\r\n trigger: 'blur',\r\n message: '请输入您的手机号',\r\n },\r\n ],\r\n verificationCode: [\r\n {\r\n required: true,\r\n trigger: 'blur',\r\n message: '请输入验证码',\r\n },\r\n ],\r\n },\r\n loading: false,\r\n captchaEnabled: true,\r\n redirect: undefined,\r\n isSendingCode: false,\r\n countdown: 0,\r\n loginMethod: 'password', // 'password' or 'mobile'\r\n supportsPhoneLogin: false,\r\n supportsEmailLogin: false,\r\n }\r\n },\r\n computed: {\r\n config() {\r\n return (\r\n JSON.parse(localStorage.getItem('systemConfig')) || {\r\n loginConfig: {\r\n phonePassword: true,\r\n emailPassword: true,\r\n phoneCode: false,\r\n emailCode: false,\r\n },\r\n registersConfig: {\r\n phoneRegisters: true,\r\n emailRegisters: true,\r\n },\r\n }\r\n ) // 获取 JSON 对象\r\n },\r\n loginRules() {\r\n return this.loginMethod === 'password'\r\n ? this.passwordLoginRules\r\n : this.mobileLoginRules\r\n },\r\n },\r\n watch: {\r\n $route: {\r\n handler(route) {\r\n this.redirect = route.query && route.query.redirect\r\n },\r\n immediate: true,\r\n },\r\n },\r\n created() {\r\n this.getCode()\r\n this.getCookie()\r\n },\r\n methods: {\r\n getCode() {\r\n getCodeImg().then((res) => {\r\n this.captchaEnabled =\r\n res.captchaEnabled !== undefined ? res.captchaEnabled : true\r\n console.log(this.captchaEnabled)\r\n if (this.captchaEnabled) {\r\n this.codeUrl = 'data:image/gif;base64,' + res.img\r\n this.loginForm.uuid = res.uuid\r\n }\r\n })\r\n },\r\n getCookie() {\r\n const username = Cookies.get('username')\r\n const password = Cookies.get('password')\r\n const rememberMe = Cookies.get('rememberMe')\r\n this.loginForm.username = username || ''\r\n this.loginForm.password = password ? decrypt(password) : ''\r\n this.loginForm.rememberMe = rememberMe === 'true'\r\n },\r\n handleLogin() {\r\n this.$refs.loginForm.validate((valid) => {\r\n if (valid) {\r\n this.loading = true\r\n if (this.loginForm.rememberMe) {\r\n Cookies.set('username', this.loginForm.username, {\r\n expires: 30,\r\n })\r\n Cookies.set(\r\n 'password',\r\n encrypt(this.loginForm.password),\r\n { expires: 30 },\r\n )\r\n Cookies.set('rememberMe', this.loginForm.rememberMe, {\r\n expires: 30,\r\n })\r\n } else {\r\n Cookies.remove('username')\r\n Cookies.remove('password')\r\n Cookies.remove('rememberMe')\r\n }\r\n this.loginForm.loginMethod = this.loginMethod\r\n this.$store\r\n .dispatch('Login', this.loginForm)\r\n .then((res) => {\r\n console.log(res)\r\n if (res.code === 200) {\r\n if (res.isLogin) {\r\n this.$modal\r\n .confirm(\r\n '账号已在其他地方登录是否继续登录!!!!',\r\n )\r\n .then(function () {\r\n return this.$router.push({\r\n path: this.redirect || '/',\r\n })\r\n })\r\n .then(() => {\r\n this.loading = false\r\n })\r\n .catch(() => {\r\n this.loading = false\r\n })\r\n } else {\r\n this.$router.push({\r\n path: this.redirect || '/',\r\n })\r\n }\r\n }\r\n })\r\n .catch(() => {\r\n this.loading = false\r\n if (this.captchaEnabled) this.getCode()\r\n })\r\n }\r\n })\r\n },\r\n IsAdmin() {\r\n this.loginForm.loginMethod = this.loginMethod\r\n this.$store.dispatch('IsAdmin', this.loginForm).then((res) => {\r\n if (res.data) {\r\n this.isAdmin = res.data\r\n this.$message.success(\r\n '检测到您是超级管理账号,需进行手机检验',\r\n )\r\n } else {\r\n this.handleLogin()\r\n }\r\n })\r\n },\r\n isLogin() {\r\n this.$refs.loginForm.validate((valid) => {\r\n if (valid) {\r\n this.loading = true\r\n let that = this\r\n this.loginForm.loginMethod = this.loginMethod\r\n this.$store\r\n .dispatch('IsLogin', this.loginForm)\r\n .then((res) => {\r\n if (res.data) {\r\n this.$modal\r\n .confirm(\r\n '账号已在其他地方登录是否继续登录!!!!',\r\n )\r\n .then(function () {\r\n return that.handleLogin()\r\n })\r\n .then(() => {\r\n this.loading = false\r\n })\r\n .catch(() => {\r\n this.loading = false\r\n })\r\n } else {\r\n that.handleLogin()\r\n }\r\n })\r\n .catch(() => {\r\n this.loading = false\r\n if (this.captchaEnabled) this.getCode()\r\n })\r\n }\r\n })\r\n },\r\n sendAdminCode() {\r\n this.loginForm.mobile = this.loginForm.username\r\n this.$store\r\n .dispatch('GetPhoneCode', this.loginForm)\r\n .then((res) => {\r\n if (res.code === 200) {\r\n this.loginForm.phoneUuid = res.data\r\n this.$message.success('验证码发送成功')\r\n this.isSendingCode = true\r\n this.countdown = 60\r\n const timer = setInterval(() => {\r\n this.countdown -= 1\r\n if (this.countdown <= 0) {\r\n clearInterval(timer)\r\n this.isSendingCode = false\r\n }\r\n }, 1000)\r\n }\r\n })\r\n .catch(() => {\r\n this.loading = false\r\n // 如果启用了验证码,则重新获取验证码\r\n if (this.captchaEnabled) {\r\n this.getCode()\r\n }\r\n // 其他失败处理逻辑\r\n this.isSendingCode = false\r\n this.countdown = 0\r\n })\r\n },\r\n sendCode() {\r\n if (this.captchaEnabled ? !this.loginForm.code : false) {\r\n this.$message.error('请先填写验证码')\r\n return\r\n }\r\n if (!this.loginForm.mobile) {\r\n this.$message.error(\r\n '请先填写' + this.config.loginConfig.phoneCode\r\n ? '手机号'\r\n : '/' + this.config.loginConfig.emailCode\r\n ? '邮箱'\r\n : '',\r\n )\r\n return\r\n }\r\n this.$store\r\n .dispatch('GetPhoneCode', this.loginForm)\r\n .then(() => {\r\n this.isSendingCode = true\r\n this.countdown = 60\r\n const timer = setInterval(() => {\r\n this.countdown -= 1\r\n if (this.countdown <= 0) {\r\n clearInterval(timer)\r\n this.isSendingCode = false\r\n }\r\n }, 1000)\r\n })\r\n .catch(() => {\r\n this.loading = false\r\n // 如果启用了验证码,则重新获取验证码\r\n if (this.captchaEnabled) {\r\n this.getCode()\r\n }\r\n // 其他失败处理逻辑\r\n this.isSendingCode = false\r\n this.countdown = 0\r\n })\r\n },\r\n toggleLoginMethod() {\r\n this.loginMethod =\r\n this.loginMethod === 'password' ? 'mobile' : 'password'\r\n this.loginForm.username = ''\r\n this.loginForm.password = ''\r\n this.loginForm.code = ''\r\n this.loginForm.verificationCode = ''\r\n this.loginForm.loginMethod = ''\r\n this.isAdmin = false\r\n this.getCode()\r\n },\r\n },\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n// @font-face {\r\n// font-family: 'titleFont';\r\n// src: url('../assets/iconFont/titleFont.ttf');\r\n// }\r\n\r\n.container {\r\n display: flex;\r\n justify-content: flex-end;\r\n align-items: center;\r\n flex-wrap: wrap;\r\n background-color: #eaf0fb;\r\n height: 100%;\r\n}\r\n.bg-cont {\r\n width: 50%;\r\n height: 90%;\r\n display: flex;\r\n justify-content: flex-end;\r\n align-items: center;\r\n .bg {\r\n width: 90%;\r\n height: 70%;\r\n img {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n }\r\n}\r\n.lef-cont {\r\n width: 50%;\r\n height: 100%;\r\n background-color: #7288fa;\r\n box-sizing: border-box;\r\n padding: 5%;\r\n position: relative;\r\n .circle1 {\r\n position: absolute;\r\n top: 8%;\r\n left: 8%;\r\n width: 50px;\r\n height: 50px;\r\n border-radius: 50%;\r\n background-color: #8ea0fb;\r\n }\r\n .circle2 {\r\n position: absolute;\r\n top: calc(8% + 25px);\r\n left: calc(8% + 25px);\r\n width: 30px;\r\n height: 30px;\r\n border-radius: 50%;\r\n background-color: #fff;\r\n }\r\n .tit {\r\n margin-top: 10%;\r\n margin-bottom: 20px;\r\n display: flex;\r\n flex-direction: column;\r\n font-size: 32px;\r\n color: #fff;\r\n }\r\n .tit-en {\r\n display: flex;\r\n flex-direction: column;\r\n font-size: 20px;\r\n color: #fff;\r\n }\r\n .img-cont {\r\n width: 300px;\r\n height: 300px;\r\n margin: 80px auto;\r\n img {\r\n width: 100%;\r\n height: 95%;\r\n }\r\n }\r\n}\r\n\r\n.bottom-info {\r\n width: 100%;\r\n height: 10%;\r\n text-align: center;\r\n font-size: 18px;\r\n font-weight: bold;\r\n color: #1e67e7;\r\n}\r\n.login {\r\n width: 50%;\r\n height: 90%;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\n.title {\r\n // font-family: 'titleFont', sans-serif;\r\n margin: 0 auto 50px;\r\n text-align: center;\r\n font-size: 32px;\r\n color: #1e67e7;\r\n}\r\n\r\n.login-form {\r\n border-radius: 6px;\r\n background: #ffffff;\r\n width: 60%;\r\n padding: 25px;\r\n\r\n .el-input {\r\n height: 38px;\r\n\r\n input {\r\n height: 38px;\r\n }\r\n }\r\n\r\n .input-icon {\r\n height: 39px;\r\n width: 14px;\r\n margin-left: 2px;\r\n }\r\n\r\n .login-form-center {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: flex-start;\r\n padding: 1%;\r\n margin-bottom: 5%;\r\n }\r\n}\r\n\r\n.login-tip {\r\n font-size: 13px;\r\n text-align: center;\r\n color: #bfbfbf;\r\n}\r\n\r\n.login-code {\r\n width: 33%;\r\n float: right;\r\n\r\n img {\r\n cursor: pointer;\r\n vertical-align: middle;\r\n }\r\n}\r\n\r\n.el-login-footer {\r\n height: 40px;\r\n line-height: 40px;\r\n position: fixed;\r\n bottom: 0;\r\n width: 100%;\r\n text-align: center;\r\n color: #fff;\r\n font-family: Arial;\r\n font-size: 12px;\r\n letter-spacing: 1px;\r\n}\r\n\r\n.login-code-img {\r\n height: 38px;\r\n}\r\n\r\n.login-container {\r\n text-align: center;\r\n margin-top: 50px;\r\n}\r\n\r\n.login-divider {\r\n display: flex;\r\n align-items: center;\r\n text-align: center;\r\n margin: 20px 0;\r\n}\r\n\r\n.login-divider::before,\r\n.login-divider::after {\r\n content: '';\r\n flex: 1;\r\n border-bottom: 1px solid #ccc;\r\n}\r\n\r\n.login-divider:not(:empty)::before {\r\n margin-right: 0.25em;\r\n}\r\n\r\n.login-divider:not(:empty)::after {\r\n margin-left: 0.25em;\r\n}\r\n\r\n.login-icons {\r\n display: flex;\r\n justify-content: center;\r\n gap: 20px;\r\n}\r\n\r\n.login-icon {\r\n width: 50px;\r\n height: 50px;\r\n border-radius: 50%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\r\n}\r\n\r\n.login-icon img {\r\n width: 50px;\r\n height: 50px;\r\n}\r\n</style>\r\n"],"mappings":"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","ignoreList":[]}]} |