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
15 KiB
1 line
15 KiB
{"remainingRequest":"/Users/linhuakun/Downloads/coderlhk/big bar/bigbar-start/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/linhuakun/Downloads/coderlhk/big bar/bigbar-start/src/views/login/Iphone.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/linhuakun/Downloads/coderlhk/big bar/bigbar-start/src/views/login/Iphone.vue","mtime":1618237335791},{"path":"/Users/linhuakun/Downloads/coderlhk/big bar/bigbar-start/node_modules/babel-loader/lib/index.js","mtime":499162500000},{"path":"/Users/linhuakun/Downloads/coderlhk/big bar/bigbar-start/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/Users/linhuakun/Downloads/coderlhk/big bar/bigbar-start/node_modules/vue-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCi8vIGltcG9ydCBsb2dpbmZhdHVyZSBmcm9tICIuL2NoaWxpZENvbXBzL2xvZ2luZmF0dXJlIgovLyBpbXBvcnQgU2Nyb2xsIGZyb20gJ0AvY29tcG9uZW50cy9jb21tb24vU2Nyb2xsL1Njcm9sbCcKCmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAiSXBob25lIiwKICBjb21wb25lbnRzOiB7fSwKICBkYXRhKCkgewogICAgdmFyIGNoZWNrcGhvbmUgPSAocnVsZSwgdmFsdWUsIGNhbGxiYWNrKSA9PiB7CiAgICAgIC8vIGxldCBwaG9uZVJlZyA9IC8oXjFbM3w0fDV8Nnw3fDh8OV1cZHs5fSQpfCheMDlcZHs4fSQpLzsKICAgICAgaWYgKHZhbHVlID09PSAiIikgewogICAgICAgIGNhbGxiYWNrKG5ldyBFcnJvcigi6K+36L6T5YWl5omL5py65Y+3IikpOwogICAgICB9IGVsc2UgaWYgKCF0aGlzLmlzQ2VsbFBob25lKHZhbHVlKSkgewogICAgICAgIC8vIOW8leWFpW1ldGhvZHPkuK3lsIHoo4XnmoTmo4Dmn6XmiYvmnLrmoLzlvI/nmoTmlrnms5UKICAgICAgICBjYWxsYmFjayhuZXcgRXJyb3IoIuivt+i+k+WFpeato+ehrueahOaJi+acuuWPtyEiKSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgY2FsbGJhY2soKTsKICAgICAgfQogICAgfTsKICAgIHJldHVybiB7CiAgICAgIHZlcmlmeUZvcm06IHsKICAgICAgICBpcGhvbmU6ICIiLAogICAgICAgIGNvZGU6ICIiCiAgICAgIH0sCiAgICAgIHZlcmlmeUZvcm1SdWxlczogewogICAgICAgIC8v6aqM6K+B55So5oi35ZCN5piv5ZCm5ZCI5rOVCiAgICAgICAgaXBob25lOiBbCiAgICAgICAgICB7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiAi6K+36L6T5YWl55S16K+d5Y+356CBIiwgdHJpZ2dlcjogImJsdXIiIH0sCiAgICAgICAgICB7IHZhbGlkYXRvcjogY2hlY2twaG9uZSwgdHJpZ2dlcjogImJsdXIiIH0KICAgICAgICBdLAogICAgICAgIC8v6aqM6K+B5a+G56CB5piv5ZCm5ZCI5rOVCiAgICAgICAgY29kZTogWwogICAgICAgICAgeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogIuivt+i+k+WFpemqjOivgeeggSIsIHRyaWdnZXI6ICJibHVyIiB9LAogICAgICAgICAgewogICAgICAgICAgICBtaW46IDYsCiAgICAgICAgICAgIG1heDogNiwKICAgICAgICAgICAgbWVzc2FnZTogIumqjOivgeeggeS4ujbkvY0iLAogICAgICAgICAgICB0cmlnZ2VyOiAiYmx1ciIKICAgICAgICAgIH0KICAgICAgICBdCiAgICAgIH0KICAgIH07CiAgfSwKICBtZXRob2RzOiB7CiAgICBhc3luYyBlbWl0c21zdmVyaWZ5KCkgewogICAgICB0aGlzLiRyZWZzLnZlcmlmeUZvcm1SZWYudmFsaWRhdGVGaWVsZCgiaXBob25lIiwgYXN5bmMgZXJyID0+IHsKICAgICAgICBpZiAoZXJyKSByZXR1cm47CiAgICAgICAgdGhpcy5lbWl0c21zKCk7CiAgICAgICAgdmFyIGZvcm1EYXRhID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpOwogICAgICAgIGZvcm1EYXRhLmFwcGVuZCgiaXBob25lIiwgdGhpcy52ZXJpZnlGb3JtLmlwaG9uZSk7CiAgICAgICAgdHJ5IHsKICAgICAgICAgIGF3YWl0IHRoaXMuJGh0dHAoewogICAgICAgICAgICBtZXRob2Q6ICJwb3N0IiwKICAgICAgICAgICAgdXJsOiAiL3Ntcy9nZXQiLAogICAgICAgICAgICBkYXRhOiBmb3JtRGF0YQogICAgICAgICAgfSk7CiAgICAgICAgICB0aGlzLiRtZXNzYWdlLnN1Y2Nlc3MoIuWPkemAgeaIkOWKnyIpOwogICAgICAgIH0gY2F0Y2ggewogICAgICAgICAgZXJyID0+IHsKICAgICAgICAgICAgdGhpcy4kbWVzc2FnZS5lcnJvcigi5Y+R6YCB5aSx6LSlIik7CiAgICAgICAgICB9OwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgZW1pdHNtcygpIHsKICAgICAgY29uc3QgYnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiZ2V0VmVyaWZ5IilbMF07CiAgICAgIGJ0bi5zZXRBdHRyaWJ1dGUoImRpc2FibGVkIiwgdHJ1ZSk7CiAgICAgIGxldCB0aW1lOwogICAgICBsZXQgbG9jYWx0aW1lID0gd2luZG93LnNlc3Npb25TdG9yYWdlLmdldEl0ZW0oInRpbWUiKTsKICAgICAgaWYgKGxvY2FsdGltZSA9PSAwIHx8IGxvY2FsdGltZSA9PSBudWxsKSB7CiAgICAgICAgdGltZSA9IDYwOwogICAgICB9IGVsc2UgewogICAgICAgIHRpbWUgPSBsb2NhbHRpbWU7CiAgICAgIH0KICAgICAgbGV0IHRpbWVyID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24oKSB7CiAgICAgICAgaWYgKHRpbWUgPj0gMCkgewogICAgICAgICAgYnRuLnN0eWxlLmNvbG9yID0gIiM2MDYyNjYiOwogICAgICAgICAgYnRuLnN0eWxlLmJvcmRlckNvbG9yID0gIiNEQ0RGRTYiOwogICAgICAgICAgYnRuLnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICIjRkZGIjsKICAgICAgICAgIGJ0bi5pbm5lckhUTUwgPSB0aW1lLS0gKyAi56eSIjsKICAgICAgICAgIHdpbmRvdy5zZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCJ0aW1lIiwgdGltZSArIDEpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBjbGVhckludGVydmFsKHRpbWVyKTsKICAgICAgICAgIGJ0bi5kaXNhYmxlZCA9IGZhbHNlOwogICAgICAgICAgYnRuLnN0eWxlLmNvbG9yID0gIiNmZmYiOwogICAgICAgICAgYnRuLnN0eWxlLmJvcmRlckNvbG9yID0gIiNkZjM4MzIiOwogICAgICAgICAgYnRuLnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICIjZGYzODMyIjsKICAgICAgICAgIGJ0bi5pbm5lckhUTUwgPSAi6aqM6K+B56CBIjsKICAgICAgICB9CiAgICAgIH0sIDEwMDApOwogICAgICAvLyAgICBzZXRJbnRlcnZhbChmdW5jdGlvbigpewogICAgICAvLyAgICAgICAgdGhpcy5pc2NsaWNrPWZhbHNlCiAgICAgIC8vICAgIH0sNjAwMDApCiAgICB9LAogICAgaXNDZWxsUGhvbmUodmFsKSB7CiAgICAgIGlmICghL14xKDN8NHw1fDZ8N3w4fDkpXGR7OX0kLy50ZXN0KHZhbCkpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0KICAgIH0sCiAgICBiYWNrQ2xpY2soKSB7CiAgICAgIHRoaXMuJHJvdXRlci5wdXNoKCIvbG9naW4iKTsKICAgIH0sCiAgICBsb2dpbigpIHsKICAgICAgdGhpcy4kcmVmcy52ZXJpZnlGb3JtUmVmLnZhbGlkYXRlKGFzeW5jIHZhbGlkID0+IHsKICAgICAgICBpZiAoIXZhbGlkKSByZXR1cm47CiAgICAgICAgdHJ5IHsKICAgICAgICAgIGNvbnN0IHsgZGF0YTogcmVzIH0gPSBhd2FpdCB0aGlzLiRodHRwLnBvc3QoIi9zbXMvbG9naW4iLCB0aGlzLnZlcmlmeUZvcm0pOwogICAgICAgICAgdGhpcy4kbWVzc2FnZS5zdWNjZXNzKCLlpoLmnpznrKzkuIDmrKHnmbvlvZXmiYvmnLrnmbvlvZXvvIzpu5jorqTlr4bnoIHkuLrmiYvmnLrlj7ciKTsKICAgICAgICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbSgidG9rZW4iLCByZXMudG9rZW4pOwogICAgICAgICAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKCJ1c2VySWQiLCByZXMuaWQpOwogICAgICAgICAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKCJuYW1lIiwgcmVzLm5hbWUpOwogICAgICAgICAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKCJpc3ByYWlzZSIsICIxIik7CiAgICAgICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oIm51bWJlciIsICIwIik7CiAgICAgICAgICB0aGlzLiRyZWZzLnZlcmlmeUZvcm1SZWYucmVzZXRGaWVsZHMoKTsKICAgICAgICAgIHRoaXMuJGJ1cy4kZW1pdCgnaXNhbGxyZWZyZXNoSW5mbycpCiAgICAgICAgICB0aGlzLiRyb3V0ZXIucHVzaCgiL2hvbWUiKTsKICAgICAgICB9IGNhdGNoIChlcnIpIHsKICAgICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IoIueZu+W9leWksei0pSIpOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9CiAgfSwKICBtb3VudGVkKCkgewogICAgLy8gd2luZG93Lm9ucmVzaXpl55uR5ZCs6aG16Z2i6auY5bqm55qE5Y+Y5YyWCiAgICB3aW5kb3cub25yZXNpemUgPSAoKSA9PiB7CiAgICAgIHJldHVybiAoKCkgPT4gewogICAgICAgIHRoaXMuc2hvd0hlaWdodCA9IGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0OwogICAgICB9KSgpOwogICAgfTsKCiAgICBsZXQgbG9jYWx0aW1lciA9IHdpbmRvdy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCJ0aW1lIik7CiAgICBpZiAobG9jYWx0aW1lciA9PSAwfHxsb2NhbHRpbWVyPT1udWxsKSB7CiAgICB9ZWxzZXsKICAgICAgdGhpcy5lbWl0c21zKCk7CiAgICB9CiAgfQp9Owo="},{"version":3,"sources":["Iphone.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA;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;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA","file":"Iphone.vue","sourceRoot":"src/views/login","sourcesContent":["<template>\n <div class=\"login_container\">\n <div class=\"top\">\n <div class=\"back\" @click=\"backClick\">\n <img src=\"@/assets/img/home/back.svg\" alt=\"\" />\n </div>\n <span>短信登录</span>\n <div>\n <img src=\"@/assets/img/cart/logo.jpg\" class=\"logo\" alt=\"\" />\n <div class=\"icon\">big bar</div>\n </div>\n </div>\n <div class=\"login_box\">\n <!-- 登陆区域 -->\n <el-form\n ref=\"verifyFormRef\"\n label-width=\"0px\"\n class=\"login_form\"\n :model=\"verifyForm\"\n :rules=\"verifyFormRules\"\n >\n <el-form-item prop=\"iphone\">\n <el-input\n placeholder=\"请输入手机号\"\n v-model=\"verifyForm.iphone\"\n prefix-icon=\"el-icon-phone\"\n ref=\"iphoneFormRef\"\n ></el-input>\n </el-form-item>\n <el-form-item prop=\"code\" class=\"verify\">\n <el-input\n class=\"verifyMessage\"\n placeholder=\"请输入验证码\"\n v-model=\"verifyForm.code\"\n prefix-icon=\"el-icon-s-goods\"\n ></el-input>\n <el-button class=\"getVerify\" @click=\"emitsmsverify\">验证码</el-button>\n </el-form-item>\n <el-form-item>\n <el-row>\n <el-button class=\"btns-login\" type=\"primary\" @click=\"login\">登陆</el-button>\n </el-row>\n <!-- <el-button type=\"info\" @click=\"infoRegister\">注册</el-button> -->\n </el-form-item>\n </el-form>\n </div>\n\n\n </div>\n</template>\n\n<script>\n// import loginfature from \"./chilidComps/loginfature\"\n// import Scroll from '@/components/common/Scroll/Scroll'\n\nexport default {\n name: \"Iphone\",\n components: {},\n data() {\n var checkphone = (rule, value, callback) => {\n // let phoneReg = /(^1[3|4|5|6|7|8|9]\\d{9}$)|(^09\\d{8}$)/;\n if (value === \"\") {\n callback(new Error(\"请输入手机号\"));\n } else if (!this.isCellPhone(value)) {\n // 引入methods中封装的检查手机格式的方法\n callback(new Error(\"请输入正确的手机号!\"));\n } else {\n callback();\n }\n };\n return {\n verifyForm: {\n iphone: \"\",\n code: \"\"\n },\n verifyFormRules: {\n //验证用户名是否合法\n iphone: [\n { required: true, message: \"请输入电话号码\", trigger: \"blur\" },\n { validator: checkphone, trigger: \"blur\" }\n ],\n //验证密码是否合法\n code: [\n { required: true, message: \"请输入验证码\", trigger: \"blur\" },\n {\n min: 6,\n max: 6,\n message: \"验证码为6位\",\n trigger: \"blur\"\n }\n ]\n }\n };\n },\n methods: {\n async emitsmsverify() {\n this.$refs.verifyFormRef.validateField(\"iphone\", async err => {\n if (err) return;\n this.emitsms();\n var formData = new URLSearchParams();\n formData.append(\"iphone\", this.verifyForm.iphone);\n try {\n await this.$http({\n method: \"post\",\n url: \"/sms/get\",\n data: formData\n });\n this.$message.success(\"发送成功\");\n } catch {\n err => {\n this.$message.error(\"发送失败\");\n };\n }\n });\n },\n emitsms() {\n const btn = document.getElementsByClassName(\"getVerify\")[0];\n btn.setAttribute(\"disabled\", true);\n let time;\n let localtime = window.sessionStorage.getItem(\"time\");\n if (localtime == 0 || localtime == null) {\n time = 60;\n } else {\n time = localtime;\n }\n let timer = setInterval(function() {\n if (time >= 0) {\n btn.style.color = \"#606266\";\n btn.style.borderColor = \"#DCDFE6\";\n btn.style.backgroundColor = \"#FFF\";\n btn.innerHTML = time-- + \"秒\";\n window.sessionStorage.setItem(\"time\", time + 1);\n } else {\n clearInterval(timer);\n btn.disabled = false;\n btn.style.color = \"#fff\";\n btn.style.borderColor = \"#df3832\";\n btn.style.backgroundColor = \"#df3832\";\n btn.innerHTML = \"验证码\";\n }\n }, 1000);\n // setInterval(function(){\n // this.isclick=false\n // },60000)\n },\n isCellPhone(val) {\n if (!/^1(3|4|5|6|7|8|9)\\d{9}$/.test(val)) {\n return false;\n } else {\n return true;\n }\n },\n backClick() {\n this.$router.push(\"/login\");\n },\n login() {\n this.$refs.verifyFormRef.validate(async valid => {\n if (!valid) return;\n try {\n const { data: res } = await this.$http.post(\"/sms/login\", this.verifyForm);\n this.$message.success(\"如果第一次登录手机登录,默认密码为手机号\");\n window.localStorage.setItem(\"token\", res.token);\n window.localStorage.setItem(\"userId\", res.id);\n window.localStorage.setItem(\"name\", res.name);\n window.localStorage.setItem(\"ispraise\", \"1\");\n window.localStorage.setItem(\"number\", \"0\");\n this.$refs.verifyFormRef.resetFields();\n this.$bus.$emit('isallrefreshInfo')\n this.$router.push(\"/home\");\n } catch (err) {\n this.$message.error(\"登录失败\");\n }\n });\n }\n },\n mounted() {\n // window.onresize监听页面高度的变化\n window.onresize = () => {\n return (() => {\n this.showHeight = document.body.clientHeight;\n })();\n };\n\n let localtimer = window.sessionStorage.getItem(\"time\");\n if (localtimer == 0||localtimer==null) {\n }else{\n this.emitsms();\n }\n }\n};\n</script>\n\n<style scoped>\n.getVerify {\n color: #fff;\n border-color: #df3832;\n background-color: #df3832;\n}\n\n.getVerify {\n width: 30%;\n margin-left: 10%;\n text-align: center;\n font-size: 12px;\n}\n.back {\n position: relative;\n width: 30px;\n height: 30px;\n left:10px;\n top: 50%;\n transform: translate(0, -50%);\n}\n\n.login_container {\n height: 100vh;\n position: relative;\n}\n\n.verifyMessage {\n width: 60%;\n}\n\n.login_container .top .logo {\n top: 50%;\n transform: translate(0, -50%);\n right: 10px;\n position: absolute;\n height: 30px;\n width: 30px;\n}\n\n.login_container .top {\n position: relative;\n height: 44px;\n background-color: #df3832;\n color: #fff;\n text-align: center;\n}\n\n.login_container .top .icon {\n position: absolute;\n top: 50%;\n transform: translate(0, -50%);\n font-size: 12px;\n right: 45px;\n}\n\n.login_container .top .icon {\n position: absolute;\n top: 50%;\n transform: translate(0, -50%);\n font-size: 12px;\n right: 45px;\n}\n\n.login_container .top span {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n}\n\n.login_form {\n width: 85%;\n margin: 0 auto;\n margin-top: 40px;\n}\n\n.btns-login {\n width: 100%;\n}\n\n.other-login {\n margin-top: 50px;\n text-align: center;\n}\n\n.bottom {\n margin: 0 auto;\n margin-top: 10px;\n width: 85%;\n height: 200px;\n border-top: 1px solid #f5f5f5;\n}\n.bottom img {\n margin-top: 20px;\n position: relative;\n left: 50%;\n transform: translate(-50%, 0);\n}\n.register {\n position: relative;\n height: 20px;\n width: 20px;\n font-size: 12px;\n color: #409eff;\n right: 0px;\n}\n</style>\n"]}]} |