From 16b648f3a27d80ec36614bb188182490e233d6de Mon Sep 17 00:00:00 2001 From: likun <906102152@qq.com> Date: Wed, 30 Apr 2025 16:10:09 +0800 Subject: [PATCH] fix login refresh permission --- ui/src/permission.js | 2 ++ ui/src/router/index.js | 2 +- ui/src/utils/request.js | 18 +++++++++++++----- ui/src/views/Home.vue | 6 ++++-- ui/src/views/Login.vue | 4 ++-- ui/src/views/welcome.vue | 5 ++--- 6 files changed, 24 insertions(+), 13 deletions(-) diff --git a/ui/src/permission.js b/ui/src/permission.js index 0089b57..8b62643 100644 --- a/ui/src/permission.js +++ b/ui/src/permission.js @@ -45,8 +45,10 @@ router.beforeEach((to, from, next) => { console.log("跳转路径:", to.path, " 报错:", err) LocalCache.deleteCache("token") LocalCache.deleteCache("user") + LocalCache.deleteCache("projectsRoute") }) } else { + // console.log("访问页面" + to.path + "已经请求过用户数据,跳过获取") // console.log("op tree routes length valid:", projectOpTreeRoutes.value.length) next() } diff --git a/ui/src/router/index.js b/ui/src/router/index.js index b77fe34..21ff5b3 100644 --- a/ui/src/router/index.js +++ b/ui/src/router/index.js @@ -144,5 +144,5 @@ export function setProjectOperationRoutes(projectList) { } LocalCache.setCache("projectsRoute", projectList) - // console.log("after set all routes:", router.getRoutes()) + // console.log("重新获取了用户数据,刷新路由表:", router.getRoutes()) } diff --git a/ui/src/utils/request.js b/ui/src/utils/request.js index 8cb9d8f..5a18fe7 100644 --- a/ui/src/utils/request.js +++ b/ui/src/utils/request.js @@ -55,11 +55,19 @@ const resInterceptor = (res) => { location.href = "/login" return Promise.reject() } - console.log("interceptor err code", res) - ElMessageBox.alert("请求服务器成功,但是逻辑错误:" + res.data.msg, "服务器错误码[" + code + "]", { - type: "warning", - confirmButtonText: '知道了', - }) + if (code == 7) { + ElMessageBox.alert("用户名或密码错误!", { + type: "warning", + confirmButtonText: '知道了', + }) + } else { + console.log("interceptor err code", res) + ElMessageBox.alert("请求服务器成功,但是逻辑错误:" + res.data.msg, "服务器错误码[" + code + "]", { + type: "warning", + confirmButtonText: '知道了', + }) + } + return Promise.reject(res.data) } diff --git a/ui/src/views/Home.vue b/ui/src/views/Home.vue index fdd0684..8135126 100644 --- a/ui/src/views/Home.vue +++ b/ui/src/views/Home.vue @@ -2,7 +2,7 @@ import {useRoute, useRouter} from 'vue-router' import {computed} from 'vue' import avatarUrl from '@/assets/icon/header.png' -import {constUserChildrenRoutes, projectOpTreeRoutes} from '@/router/index.js' +import {constUserChildrenRoutes, isGetUserInfo, projectOpTreeRoutes} from '@/router/index.js' import LocalCache from "@/stores/localCache.js"; import welcome from '@/views/welcome.vue' @@ -26,7 +26,7 @@ const handleEnterIndex = () => { // 处理菜单点击事件 const handleMenuSelect = (clickResource) => { - console.log("点击资源:", clickResource) + // console.log("点击资源:", clickResource) LocalCache.setCache("resource", clickResource) router.push({path: clickResource.path}) hasClickedMenu.value = true @@ -48,8 +48,10 @@ function logout() { cancelButtonText: '取消', type: 'warning' }).then(() => { + isGetUserInfo.value = false LocalCache.deleteCache("user") LocalCache.deleteCache("token") + LocalCache.deleteCache("projectsRoute") router.push('/login') }).catch(() => { }); diff --git a/ui/src/views/Login.vue b/ui/src/views/Login.vue index aa209eb..c48358e 100644 --- a/ui/src/views/Login.vue +++ b/ui/src/views/Login.vue @@ -83,8 +83,8 @@ const submitForm = (formEl) => { LocalCache.setCache('token', res.data.token_info.token) LocalCache.setCache('user', res.data.user_info) ExpireCache.setCache("token", res.data.token_info.token, res.data.token_info.expire_at) - console.log("登录成功,返回数据:", res.data, ",准备重定向到页面:", redirect.value) - router.push({path: redirect.value || "/"}) + console.log("登录成功,返回数据:", res.data,) + router.push({path: "/"}) }, (res) => { console.log("login response error:") console.log(res) diff --git a/ui/src/views/welcome.vue b/ui/src/views/welcome.vue index 9df87a6..f29fbdf 100644 --- a/ui/src/views/welcome.vue +++ b/ui/src/views/welcome.vue @@ -6,9 +6,8 @@ const userInfo = LocalCache.getCache("user")