From 0ac3181dcd83e3caab600e42ca27fecd344ae674 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E5=85=88=E7=94=9F?= <1780089502@qq.com> Date: Fri, 14 Jul 2023 13:21:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/layout/index.vue | 5 +- src/views/login/index.vue | 105 +++++++++++++++++++++++++++++-------- vite.config.js | 4 +- 3 files changed, 87 insertions(+), 27 deletions(-) diff --git a/src/views/layout/index.vue b/src/views/layout/index.vue index 8bbe765..690717f 100644 --- a/src/views/layout/index.vue +++ b/src/views/layout/index.vue @@ -67,14 +67,13 @@ - - + diff --git a/src/views/login/index.vue b/src/views/login/index.vue index 44819be..d938a89 100644 --- a/src/views/login/index.vue +++ b/src/views/login/index.vue @@ -11,6 +11,7 @@ size="medium" ref="formRef" @keyup.enter.native="handleSubmit" + v-if="formPhoneIf" > 登 录 + + 验证码已发送至手机为({{ phone }}) + + + + + { slideVerifyShow.value = false; loading.value = true; var params = { - user: encrypt(data.user), + loginName: encrypt(data.user), password: encrypt(data.password), }; http.post("/api/auth/login", params).then((resp) => { if (resp.code == 200) { - var user = { - token: resp.data.token, - name: resp.data.name, - menus: resp.data.menus, - buttons: resp.data.buttons, - accountType: resp.data.accountType, - }; - tools.data.set("user", user); - - if (remembIf) { - tools.data.set("params", { - user: data.user, - password: data.password, - }); - } else { - tools.data.remove("params"); - } - ElMessage.success("登录成功"); - //loading.value = false; - Router.push("/"); - // 跳转到 首页路由 + console.log(resp.data.loginAuthCode); + phone.value = resp.data.phone; + postPhoneCode(resp.data.loginAuthCode); } else { ElMessage.error(resp.message); loading.value = false; @@ -126,6 +141,52 @@ const handleSubmit = async () => { } }); }; + +const postPhoneCode = (loginAuthCode) => { + var formData = new FormData(); + dataPhone.value.loginAuthCode = loginAuthCode; + formData.append("loginAuthCode", loginAuthCode); + http.post("/api/auth/phone_code", formData).then((resp) => { + if (resp.code == 200) { + dataPhone.value.smsAuthCode = resp.data.smsAuthCode; + formPhoneIf.value = false; + } + }); +}; + +const formPhoneIf = ref(true); + +const formPhoneCodeRef = ref(null); +const rules = reactive({ + phoneCode: [{ required: true, message: "请输入验证码", trigger: "blur" }], +}); + +const handlePhoneSubmit = (formEl) => { + if (!formEl) return; + formEl.validate((valid, fields) => { + if (valid) { + http.post("/api/auth/token", dataPhone.value).then((resp) => { + if (resp.code == 200) { + var user = { + token: resp.data.token, + name: resp.data.userInfo.userName, + menus: resp.data.menuList, + permissions: resp.data.permissions, + }; + tools.data.set("user", user); + ElMessage.success("登录成功"); + //loading.value = false; + Router.push("/"); + // 跳转到 首页路由 + } else { + ElMessage.error(resp.message); + } + }); + } else { + console.log("error submit!", fields); + } + }); +};