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
7.0 KiB

{"remainingRequest":"/Users/linhuakun/Downloads/nodejs/codewhy/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/linhuakun/Downloads/nodejs/codewhy/src/views/login/Login.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/linhuakun/Downloads/nodejs/codewhy/src/views/login/Login.vue","mtime":1608347491656},{"path":"/Users/linhuakun/Downloads/nodejs/codewhy/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/Users/linhuakun/Downloads/nodejs/codewhy/node_modules/babel-loader/lib/index.js","mtime":499162500000},{"path":"/Users/linhuakun/Downloads/nodejs/codewhy/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/Users/linhuakun/Downloads/nodejs/codewhy/node_modules/vue-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCi8vIGltcG9ydCBsb2dpbmZhdHVyZSBmcm9tICIuL2NoaWxpZENvbXBzL2xvZ2luZmF0dXJlIgppbXBvcnQgc2Nyb2xsIGZyb20gIkAvY29tcG9uZW50cy9jb21tb24vU2Nyb2xsL1Njcm9sbCI7CgpleHBvcnQgZGVmYXVsdCB7CiAgbmFtZTogImxvZ2luIiwKICBjb21wb25lbnRzOiB7CiAgICBzY3JvbGwsCiAgfSwKICBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgbG9naW5Gb3JtOiB7CiAgICAgICAgbmFtZTogImx1Y2siLAogICAgICAgIHBhc3N3b3JkOiAiYWJjMTIzIiwKICAgICAgfSwKICAgICAgbG9naW5Gb3JtUnVsZXM6IHsKICAgICAgICAvL+mqjOivgeeUqOaIt+WQjeaYr+WQpuWQiOazlQogICAgICAgIG5hbWU6IFsKICAgICAgICAgIHsgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6ICLor7fovpPlhaXnlKjmiLflkI0iLCB0cmlnZ2VyOiAiYmx1ciIgfSwKICAgICAgICAgIHsgbWluOiAzLCBtYXg6IDEwLCBtZXNzYWdlOiAi6ZW/5bqm5ZyoIDMg5YiwIDUg5Liq5a2X56ymIiwgdHJpZ2dlcjogImJsdXIiIH0sCiAgICAgICAgXSwKICAgICAgICAvL+mqjOivgeWvhueggeaYr+WQpuWQiOazlQogICAgICAgIHBhc3N3b3JkOiBbCiAgICAgICAgICB7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiAi6K+36L6T5YWl5a+G56CBIiwgdHJpZ2dlcjogImJsdXIiIH0sCiAgICAgICAgICB7CiAgICAgICAgICAgIG1pbjogNCwKICAgICAgICAgICAgbWF4OiAxMCwKICAgICAgICAgICAgbWVzc2FnZTogIumVv+W6puWcqCA0IOWIsCAxMCDkuKrlrZfnrKYiLAogICAgICAgICAgICB0cmlnZ2VyOiAiYmx1ciIsCiAgICAgICAgICB9LAogICAgICAgIF0sCiAgICAgIH0sCiAgICB9OwogIH0sCiAgbWV0aG9kczogewogICAgaW5mb1JlZ2lzdGVyKCkgewogICAgICB0aGlzLiRyb3V0ZXIucHVzaCgnL3JlZ2lzdGVyJyk7CiAgICB9LAogICAgbG9naW4oKSB7CiAgICAgIHRoaXMuJHJlZnMubG9naW5Gb3JtUmVmLnZhbGlkYXRlKGFzeW5jIHZhbGlkID0+IHsKICAgICAgICBpZiAoIXZhbGlkKSByZXR1cm47CiAgICAgICAgICBjb25zdCB7ZGF0YTpyZXN9ID1hd2FpdCB0aGlzLiRodHRwLnBvc3QoJ2xvZ2luJyx0aGlzLmxvZ2luRm9ybSk7CiAgICAgICAgICBpZihyZXMuc3RhdHVzIT0yMDApIHJldHVybiB0aGlzLiRtZXNzYWdlLmVycm9yKCfnmbvpmYblpLHotKUnKQogICAgICAgICAgdGhpcy4kbWVzc2FnZS5zdWNjZXNzKCfnmbvpmYbmiJDlip8nKQogICAgICAgICAgd2luZG93LnNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ3Rva2VuJyxyZXMudG9rZW4pOwogICAgICAgICAgd2luZG93LnNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ3VzZXJJZCcscmVzLmlkKTsKICAgICAgICAgIHdpbmRvdy5zZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCduYW1lJyxyZXMubmFtZSk7CiAgICAgICAgICB0aGlzLiRyb3V0ZXIucHVzaCgnL3Byb2ZpbGUnKTsKICAgICAgfSk7CiAgICB9LAogIH0sCiAgbW91bnRlZCgpIHsKICAgIHRoaXMuJHJlZnMuc2Nyb2xsLnJlZnJlc2goKTsKICB9LAp9Owo="},{"version":3,"sources":["Login.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6CA;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","file":"Login.vue","sourceRoot":"src/views/login","sourcesContent":["<template>\n <scroll ref=\"scroll\">\n <div class=\"login_container\">\n <div class=\"login_box\">\n <!-- 头像区域 -->\n <div class=\"avatar_box\">\n <img src=\"@/assets/img/cart/logo.jpg\" alt=\"\" />\n </div>\n <!-- 登陆区域 -->\n <el-form\n ref=\"loginFormRef\"\n label-width=\"0px\"\n class=\"login_form\"\n :model=\"loginForm\"\n :rules=\"loginFormRules\"\n >\n <el-form-item prop=\"name\">\n <el-input\n placeholder=\"请输入用户名\"\n v-model=\"loginForm.name\"\n prefix-icon=\"el-icon-user-solid\"\n ></el-input>\n </el-form-item>\n <el-form-item prop=\"password\">\n <el-input\n placeholder=\"请输入密码\"\n v-model=\"loginForm.password\"\n prefix-icon=\"el-icon-s-goods\"\n type=\"password\"\n ></el-input>\n </el-form-item>\n <!-- 按钮区域 -->\n <el-form-item class=\"btns\">\n <el-row>\n <el-button type=\"primary\" @click=\"login\">登陆</el-button>\n <el-button type=\"info\" @click=\"infoRegister\">注册</el-button>\n </el-row>\n </el-form-item>\n </el-form>\n </div>\n </div>\n </scroll>\n</template>\n\n<script>\n// import loginfature from \"./chilidComps/loginfature\"\nimport scroll from \"@/components/common/Scroll/Scroll\";\n\nexport default {\n name: \"login\",\n components: {\n scroll,\n },\n data() {\n return {\n loginForm: {\n name: \"luck\",\n password: \"abc123\",\n },\n loginFormRules: {\n //验证用户名是否合法\n name: [\n { required: true, message: \"请输入用户名\", trigger: \"blur\" },\n { min: 3, max: 10, message: \"长度在 3 到 5 个字符\", trigger: \"blur\" },\n ],\n //验证密码是否合法\n password: [\n { required: true, message: \"请输入密码\", trigger: \"blur\" },\n {\n min: 4,\n max: 10,\n message: \"长度在 4 到 10 个字符\",\n trigger: \"blur\",\n },\n ],\n },\n };\n },\n methods: {\n infoRegister() {\n this.$router.push('/register');\n },\n login() {\n this.$refs.loginFormRef.validate(async valid => {\n if (!valid) return;\n const {data:res} =await this.$http.post('login',this.loginForm);\n if(res.status!=200) return this.$message.error('登陆失败')\n this.$message.success('登陆成功')\n window.sessionStorage.setItem('token',res.token);\n window.sessionStorage.setItem('userId',res.id);\n window.sessionStorage.setItem('name',res.name);\n this.$router.push('/profile');\n });\n },\n },\n mounted() {\n this.$refs.scroll.refresh();\n },\n};\n</script>\n\n<style lang=\"less\" scoped>\n.login_container {\n height: 100vh;\n background-color: #fff;\n}\n.login_box {\n width: 300px;\n height: 280px;\n background-color: #ffffff;\n border-radius: 3px;\n position: relative;\n left: 50%;\n top: 40%;\n transform: translate(-50%, -50%);\n}\n.avatar_box {\n height: 70px;\n width: 70px;\n position: absolute;\n left: 50%;\n transform: translate(-50%);\n background-color: #fff;\n img {\n height: 70px;\n width: 70px;\n }\n}\n.btns {\n display: flex;\n justify-content: flex-end;\n}\n.login_form {\n position: absolute;\n bottom: 0;\n width: 100%;\n padding: 0 20px;\n box-sizing: border-box;\n}\n\n</style>\n\n"]}]}