{"ast":null,"code":"import \"core-js/modules/es.array.push.js\";\nimport md5 from 'js-md5';\nimport { loginApi } from '@/api';\nexport default {\n name: 'Login',\n data() {\n return {\n form: {\n username: '',\n password: '',\n captcha: ''\n },\n rules: {\n username: [{\n required: true,\n message: '请输入用户名',\n trigger: 'blur'\n }],\n password: [{\n required: true,\n message: '请输入密码',\n trigger: 'blur'\n }],\n captcha: [{\n required: true,\n message: '请输入验证码',\n trigger: 'blur'\n }]\n },\n loading: false,\n captchaText: '0000'\n };\n },\n methods: {\n refreshCaptcha() {\n // 模拟验证码,固定为0000\n this.captchaText = '0000';\n },\n handleLogin() {\n this.$refs.loginForm.validate(async valid => {\n if (!valid) return;\n\n // 验证码校验\n if (this.form.captcha !== '0000') {\n this.$message.error('验证码错误');\n return;\n }\n this.loading = true;\n try {\n // 密码使用md5加密后提交\n const params = {\n username: this.form.username,\n password: md5(this.form.password)\n };\n const res = await loginApi(params);\n // 保存token到Vuex\n this.$store.dispatch('login', res.data);\n this.$message.success('登录成功');\n this.$router.push('/lab-status');\n } catch (err) {\n this.$message.error('登录失败,请重试');\n } finally {\n this.loading = false;\n }\n });\n }\n }\n};","map":{"version":3,"names":["md5","loginApi","name","data","form","username","password","captcha","rules","required","message","trigger","loading","captchaText","methods","refreshCaptcha","handleLogin","$refs","loginForm","validate","valid","$message","error","params","res","$store","dispatch","success","$router","push","err"],"sources":["src/views/Login.vue"],"sourcesContent":["\n\n\n\n\n"],"mappings":";AA2DA,OAAAA,GAAA;AACA,SAAAC,QAAA;AAEA;EACAC,IAAA;EACAC,KAAA;IACA;MACAC,IAAA;QACAC,QAAA;QACAC,QAAA;QACAC,OAAA;MACA;MACAC,KAAA;QACAH,QAAA;UAAAI,QAAA;UAAAC,OAAA;UAAAC,OAAA;QAAA;QACAL,QAAA;UAAAG,QAAA;UAAAC,OAAA;UAAAC,OAAA;QAAA;QACAJ,OAAA;UAAAE,QAAA;UAAAC,OAAA;UAAAC,OAAA;QAAA;MACA;MACAC,OAAA;MACAC,WAAA;IACA;EACA;EACAC,OAAA;IACAC,eAAA;MACA;MACA,KAAAF,WAAA;IACA;IACAG,YAAA;MACA,KAAAC,KAAA,CAAAC,SAAA,CAAAC,QAAA,OAAAC,KAAA;QACA,KAAAA,KAAA;;QAEA;QACA,SAAAhB,IAAA,CAAAG,OAAA;UACA,KAAAc,QAAA,CAAAC,KAAA;UACA;QACA;QAEA,KAAAV,OAAA;QACA;UACA;UACA,MAAAW,MAAA;YACAlB,QAAA,OAAAD,IAAA,CAAAC,QAAA;YACAC,QAAA,EAAAN,GAAA,MAAAI,IAAA,CAAAE,QAAA;UACA;UACA,MAAAkB,GAAA,SAAAvB,QAAA,CAAAsB,MAAA;UACA;UACA,KAAAE,MAAA,CAAAC,QAAA,UAAAF,GAAA,CAAArB,IAAA;UACA,KAAAkB,QAAA,CAAAM,OAAA;UACA,KAAAC,OAAA,CAAAC,IAAA;QACA,SAAAC,GAAA;UACA,KAAAT,QAAA,CAAAC,KAAA;QACA;UACA,KAAAV,OAAA;QACA;MACA;IACA;EACA;AACA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}