From b071104e1700a83a4127eab59eb468f2f041f96f Mon Sep 17 00:00:00 2001 From: yxh Date: Sat, 8 Jun 2024 23:22:31 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90?= =?UTF-8?q?=E9=83=A8=E9=97=A8id=E5=A4=84=E7=90=86=EF=BC=8C=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E5=88=B7=E6=96=B0token=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/system/personal/index.ts | 7 ++++++- src/utils/websocket.ts | 18 +++++++++++++++++- src/views/system/role/component/dataScope.vue | 4 ++-- .../tools/gen/component/tableColumns.vue | 3 ++- 4 files changed, 27 insertions(+), 5 deletions(-) diff --git a/src/api/system/personal/index.ts b/src/api/system/personal/index.ts index 24eb1f6..3b23cbd 100644 --- a/src/api/system/personal/index.ts +++ b/src/api/system/personal/index.ts @@ -25,4 +25,9 @@ export function resetPwdPersonal(data:object) { }) } - +export function refreshToken() { + return request({ + url: '/api/v1/system/personal/refreshToken', + method: 'get' + }) +} diff --git a/src/utils/websocket.ts b/src/utils/websocket.ts index 7d0ac03..cb70efa 100644 --- a/src/utils/websocket.ts +++ b/src/utils/websocket.ts @@ -1,5 +1,8 @@ -import {getToken} from "/@/utils/gfast" +import {getToken, getUpFileUrl} from "/@/utils/gfast" import {noticeStore} from "/@/stores/noticeStore"; +import {refreshToken} from "/@/api/system/personal"; +import {Session} from "/@/utils/storage"; +import {useUserInfo} from "/@/stores/userInfo"; const noticeStoreAct = noticeStore() const webSocketURL = import.meta.env.VITE_WEBSOCKET_URL let socket: WebSocket; @@ -139,6 +142,19 @@ export default (onMessage: Function) => { noticeStoreAct.setMessages(message.data) return; } + //更新token + if(message.event == 'tokenUpdated'){ + refreshToken().then((res:any)=>{ + const userInfo = res.data.userInfo + userInfo.avatar = getUpFileUrl(userInfo.avatar) + // 存储 token 到浏览器缓存 + Session.set('token', res.data.token); + // 存储用户信息到浏览器缓存 + Session.set('userInfo', userInfo); + useUserInfo().setUserInfos(); + }) + return; + } if (onMessage && !isHeart) { onMessage.call(null, event); } diff --git a/src/views/system/role/component/dataScope.vue b/src/views/system/role/component/dataScope.vue index 6e2bc03..2726353 100644 --- a/src/views/system/role/component/dataScope.vue +++ b/src/views/system/role/component/dataScope.vue @@ -33,7 +33,7 @@ @@ -41,7 +41,7 @@