From 3dc6bfe6ee3c12a70e41da6e8b5a703859186180 Mon Sep 17 00:00:00 2001 From: Xwen <929716663@qq.com> Date: Fri, 22 Dec 2023 22:25:37 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E9=AA=8C=E8=AF=81?= =?UTF-8?q?=E7=A0=81=E6=8A=A5=E9=94=99=E5=88=B7=E6=96=B0=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Yi.Bbs.Vue3/src/config/axios/service.js | 2 +- Yi.Bbs.Vue3/src/hooks/useAuths.js | 21 ++++++++++++++------- Yi.Bbs.Vue3/src/stores/user.js | 9 ++++++++- Yi.Bbs.Vue3/src/views/login/index.vue | 25 +++++++++++-------------- 4 files changed, 34 insertions(+), 23 deletions(-) diff --git a/Yi.Bbs.Vue3/src/config/axios/service.js b/Yi.Bbs.Vue3/src/config/axios/service.js index 6724bb60..141385a8 100644 --- a/Yi.Bbs.Vue3/src/config/axios/service.js +++ b/Yi.Bbs.Vue3/src/config/axios/service.js @@ -86,7 +86,7 @@ service.interceptors.response.use( } } } - return Promise.reject(new Error(error)); + return Promise.reject(error.response); } ); diff --git a/Yi.Bbs.Vue3/src/hooks/useAuths.js b/Yi.Bbs.Vue3/src/hooks/useAuths.js index cd88d469..8699c715 100644 --- a/Yi.Bbs.Vue3/src/hooks/useAuths.js +++ b/Yi.Bbs.Vue3/src/hooks/useAuths.js @@ -89,13 +89,20 @@ export default function useAuths(opt) { // 用户名密码登录 const loginFun = async (params) => { - const res = await userLogin(params); - ElMessage({ - message: `您好${params.userName},登录成功!`, - type: "success", - }); - loginSuccess(res); - return res; + try { + const res = await userLogin(params); + ElMessage({ + message: `您好${params.userName},登录成功!`, + type: "success", + }); + loginSuccess(res); + return res; + } catch (error) { + const { data } = error; + if (error.status === 403 && data.error?.message === "验证码错误") { + useUserStore().updateCodeImage(); + } + } }; // 获取用户基本信息、角色、菜单权限 diff --git a/Yi.Bbs.Vue3/src/stores/user.js b/Yi.Bbs.Vue3/src/stores/user.js index 2d181b65..0de44a9d 100644 --- a/Yi.Bbs.Vue3/src/stores/user.js +++ b/Yi.Bbs.Vue3/src/stores/user.js @@ -1,5 +1,5 @@ import { login, logout, register } from "@/apis/accountApi"; -import { getUserDetailInfo } from "@/apis/auth"; +import { getUserDetailInfo, getLoginCode } from "@/apis/auth"; import useAuths from "@/hooks/useAuths"; import { defineStore } from "pinia"; @@ -14,6 +14,8 @@ const useUserStore = defineStore("user", { icon: null, roles: [], permissions: [], + codeImageURL: "", + codeUUid: "", }), getters: {}, actions: { @@ -112,6 +114,11 @@ const useUserStore = defineStore("user", { this.userName = ""; this.id = ""; }, + async updateCodeImage() { + const { data } = await getLoginCode(); + this.codeImageURL = "data:image/jpg;base64," + data.img; + this.codeUUid = data.uuid; + }, }, persist: { key: "userInfo", diff --git a/Yi.Bbs.Vue3/src/views/login/index.vue b/Yi.Bbs.Vue3/src/views/login/index.vue index 0b6f9966..4bddbec1 100644 --- a/Yi.Bbs.Vue3/src/views/login/index.vue +++ b/Yi.Bbs.Vue3/src/views/login/index.vue @@ -53,7 +53,7 @@