forked from liweijie/education
1 line
9.0 KiB
JSON
1 line
9.0 KiB
JSON
{"remainingRequest":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\views\\register.vue?vue&type=script&lang=js","dependencies":[{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\views\\register.vue","mtime":1787567871635},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1787309791955},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\babel-loader\\lib\\index.js","mtime":1787309793142},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1787309791955},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\vue-loader\\lib\\index.js","mtime":1787309793790}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgeyByZWdpc3RlciB9IGZyb20gIkAvYXBpL2xvZ2luIg0KaW1wb3J0IHBhc3N3b3JkUnVsZSBmcm9tICJAL3V0aWxzL3Bhc3N3b3JkUnVsZSINCg0KZXhwb3J0IGRlZmF1bHQgew0KICBtaXhpbnM6IFtwYXNzd29yZFJ1bGVdLA0KICBkYXRhKCkgew0KICAgIHJldHVybiB7DQogICAgICB0aXRsZTogcHJvY2Vzcy5lbnYuVlVFX0FQUF9USVRMRSwNCiAgICAgIGZvb3RlckNvbnRlbnQ6ICJDb3B5cmlnaHQgwqkgMjAxOC0yMDI2IHJvb21yb290LiBBbGwgUmlnaHRzIFJlc2VydmVkLiIsDQogICAgICByZWdpc3RlckZvcm06IHsNCiAgICAgICAgdXNlcm5hbWU6ICIiLA0KICAgICAgICBwYXNzd29yZDogIiIsDQogICAgICAgIGNvbmZpcm1QYXNzd29yZDogIiINCiAgICAgIH0sDQogICAgICBsb2FkaW5nOiBmYWxzZQ0KICAgIH0NCiAgfSwNCiAgY29tcHV0ZWQ6IHsNCiAgICByZWdpc3RlclJ1bGVzKCkgew0KICAgICAgcmV0dXJuIHsNCiAgICAgICAgdXNlcm5hbWU6IFsNCiAgICAgICAgICB7IHJlcXVpcmVkOiB0cnVlLCB0cmlnZ2VyOiAiYmx1ciIsIG1lc3NhZ2U6ICLor7fovpPlhaXmgqjnmoTotKblj7ciIH0sDQogICAgICAgICAgeyBtaW46IDIsIG1heDogMjAsIG1lc3NhZ2U6ICfnlKjmiLfotKblj7fplb/luqblv4Xpobvku4vkuo4gMiDlkowgMjAg5LmL6Ze0JywgdHJpZ2dlcjogJ2JsdXInIH0NCiAgICAgICAgXSwNCiAgICAgICAgY29uZmlybVBhc3N3b3JkOiBbDQogICAgICAgICAgeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogIuivt+WGjeasoei+k+WFpeaCqOeahOWvhueggSIsIHRyaWdnZXI6ICJibHVyIiB9LA0KICAgICAgICAgIHsNCiAgICAgICAgICAgIHZhbGlkYXRvcjogKHJ1bGUsIHZhbHVlLCBjYWxsYmFjaykgPT4gew0KICAgICAgICAgICAgICBpZiAodGhpcy5yZWdpc3RlckZvcm0ucGFzc3dvcmQgIT09IHZhbHVlKSB7DQogICAgICAgICAgICAgICAgY2FsbGJhY2sobmV3IEVycm9yKCLkuKTmrKHovpPlhaXnmoTlr4bnoIHkuI3kuIDoh7QiKSkNCiAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBjYWxsYmFjaygpDQogICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sIHRyaWdnZXI6ICJibHVyIg0KICAgICAgICAgIH0NCiAgICAgICAgXQ0KICAgICAgfQ0KICAgIH0NCiAgfSwNCiAgbWV0aG9kczogew0KICAgIGhhbmRsZVJlZ2lzdGVyKCkgew0KICAgICAgdGhpcy4kcmVmcy5yZWdpc3RlckZvcm0udmFsaWRhdGUodmFsaWQgPT4gew0KICAgICAgICBpZiAodmFsaWQpIHsNCiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlDQogICAgICAgICAgcmVnaXN0ZXIodGhpcy5yZWdpc3RlckZvcm0pLnRoZW4oKCkgPT4gew0KICAgICAgICAgICAgY29uc3QgdXNlcm5hbWUgPSB0aGlzLnJlZ2lzdGVyRm9ybS51c2VybmFtZQ0KICAgICAgICAgICAgdGhpcy4kYWxlcnQoIjxmb250IGNvbG9yPSdyZWQnPuaBreWWnOS9oO+8jOaCqOeahOi0puWPtyAiICsgdXNlcm5hbWUgKyAiIOazqOWGjOaIkOWKn++8gTwvZm9udD4iLCAn57O757uf5o+Q56S6Jywgew0KICAgICAgICAgICAgICBkYW5nZXJvdXNseVVzZUhUTUxTdHJpbmc6IHRydWUsDQogICAgICAgICAgICAgIHR5cGU6ICdzdWNjZXNzJw0KICAgICAgICAgICAgfSkudGhlbigoKSA9PiB7DQogICAgICAgICAgICAgIHRoaXMuJHJvdXRlci5wdXNoKCIvbG9naW4iKQ0KICAgICAgICAgICAgfSkuY2F0Y2goKCkgPT4ge30pDQogICAgICAgICAgfSkuY2F0Y2goKCkgPT4gew0KICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2UNCiAgICAgICAgICB9KQ0KICAgICAgICB9DQogICAgICB9KQ0KICAgIH0NCiAgfQ0KfQ0K"},{"version":3,"sources":["register.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuDA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"register.vue","sourceRoot":"src/views","sourcesContent":["<template>\r\n <div class=\"register\">\r\n <el-form ref=\"registerForm\" :model=\"registerForm\" :rules=\"registerRules\" class=\"register-form\">\r\n <h3 class=\"title\">{{title}}</h3>\r\n <el-form-item prop=\"username\">\r\n <el-input v-model=\"registerForm.username\" type=\"text\" auto-complete=\"off\" placeholder=\"账号\">\r\n <svg-icon slot=\"prefix\" icon-class=\"user\" class=\"el-input__icon input-icon\" />\r\n </el-input>\r\n </el-form-item>\r\n <el-form-item prop=\"password\" :rules=\"registerPwdValidator\">\r\n <el-input\r\n v-model=\"registerForm.password\"\r\n type=\"password\"\r\n auto-complete=\"off\"\r\n placeholder=\"密码\"\r\n @keyup.enter.native=\"handleRegister\"\r\n >\r\n <svg-icon slot=\"prefix\" icon-class=\"password\" class=\"el-input__icon input-icon\" />\r\n </el-input>\r\n </el-form-item>\r\n <el-form-item prop=\"confirmPassword\">\r\n <el-input\r\n v-model=\"registerForm.confirmPassword\"\r\n type=\"password\"\r\n auto-complete=\"off\"\r\n placeholder=\"确认密码\"\r\n @keyup.enter.native=\"handleRegister\"\r\n >\r\n <svg-icon slot=\"prefix\" icon-class=\"password\" class=\"el-input__icon input-icon\" />\r\n </el-input>\r\n </el-form-item>\r\n <el-form-item style=\"width:100%;\">\r\n <el-button\r\n :loading=\"loading\"\r\n size=\"medium\"\r\n type=\"primary\"\r\n style=\"width:100%;\"\r\n @click.native.prevent=\"handleRegister\"\r\n >\r\n <span v-if=\"!loading\">注 册</span>\r\n <span v-else>注 册 中...</span>\r\n </el-button>\r\n <div style=\"float: right;\">\r\n <router-link class=\"link-type\" :to=\"'/login'\">使用已有账户登录</router-link>\r\n </div>\r\n </el-form-item>\r\n </el-form>\r\n <!-- 底部 -->\r\n <div class=\"el-register-footer\">\r\n <span>{{ footerContent }}</span>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { register } from \"@/api/login\"\r\nimport passwordRule from \"@/utils/passwordRule\"\r\n\r\nexport default {\r\n mixins: [passwordRule],\r\n data() {\r\n return {\r\n title: process.env.VUE_APP_TITLE,\r\n footerContent: \"Copyright © 2018-2026 roomroot. All Rights Reserved.\",\r\n registerForm: {\r\n username: \"\",\r\n password: \"\",\r\n confirmPassword: \"\"\r\n },\r\n loading: false\r\n }\r\n },\r\n computed: {\r\n registerRules() {\r\n return {\r\n username: [\r\n { required: true, trigger: \"blur\", message: \"请输入您的账号\" },\r\n { min: 2, max: 20, message: '用户账号长度必须介于 2 和 20 之间', trigger: 'blur' }\r\n ],\r\n confirmPassword: [\r\n { required: true, message: \"请再次输入您的密码\", trigger: \"blur\" },\r\n {\r\n validator: (rule, value, callback) => {\r\n if (this.registerForm.password !== value) {\r\n callback(new Error(\"两次输入的密码不一致\"))\r\n } else {\r\n callback()\r\n }\r\n }, trigger: \"blur\"\r\n }\r\n ]\r\n }\r\n }\r\n },\r\n methods: {\r\n handleRegister() {\r\n this.$refs.registerForm.validate(valid => {\r\n if (valid) {\r\n this.loading = true\r\n register(this.registerForm).then(() => {\r\n const username = this.registerForm.username\r\n this.$alert(\"<font color='red'>恭喜你,您的账号 \" + username + \" 注册成功!</font>\", '系统提示', {\r\n dangerouslyUseHTMLString: true,\r\n type: 'success'\r\n }).then(() => {\r\n this.$router.push(\"/login\")\r\n }).catch(() => {})\r\n }).catch(() => {\r\n this.loading = false\r\n })\r\n }\r\n })\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style rel=\"stylesheet/scss\" lang=\"scss\" scoped>\r\n.register {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n height: 100%;\r\n background-image: url(\"../assets/images/login-background.jpg\");\r\n background-size: cover;\r\n}\r\n.title {\r\n margin: 0px auto 30px auto;\r\n text-align: center;\r\n color: #707070;\r\n}\r\n\r\n.register-form {\r\n border-radius: 6px;\r\n background: #ffffff;\r\n width: 400px;\r\n padding: 25px 25px 5px 25px;\r\n .el-input {\r\n height: 38px;\r\n input {\r\n height: 38px;\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.register-tip {\r\n font-size: 13px;\r\n text-align: center;\r\n color: #bfbfbf;\r\n}\r\n.el-register-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</style>\r\n"]}]} |