From 6ec44b5b24621627e0d8a8388f10ac2e1c171c14 Mon Sep 17 00:00:00 2001 From: EarlySummer <785383749@qq.com> Date: Mon, 16 Dec 2024 16:55:50 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=8A=A8=E6=80=81=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E7=BB=93=E6=9E=84accessToken=E4=B8=8ErefreshToken?= =?UTF-8?q?=E5=AD=98=E5=82=A8=E4=BB=A4=E7=89=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/router/router-guards.ts | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/src/router/router-guards.ts b/src/router/router-guards.ts index 853a1940..6d5c7e57 100644 --- a/src/router/router-guards.ts +++ b/src/router/router-guards.ts @@ -1,7 +1,12 @@ import { Router } from 'vue-router'; import { PageEnum, PreviewEnum } from '@/enums/pageEnum' -import {loginCheck, setSessionStorage} from '@/utils' +import {getLocalStorage, loginCheck, setSessionStorage} from '@/utils' +import {useSystemStore} from "@/store/modules/systemStore/systemStore"; const viteRouter = import.meta.env.VITE_ROUTER_DEFAULT +import { SystemStoreUserInfoEnum, SystemStoreEnum } from '@/store/modules/systemStore/systemStore.d' +import {pinia} from "@/store/index" +import {StorageEnum} from "@/enums/storageEnum"; +const systemStore = useSystemStore(pinia) // 路由白名单 const routerAllowList = [ // 登录 @@ -19,33 +24,32 @@ export function createRouterGuards(router: Router) { if (!window.route) window.route = {params: {}} // @ts-ignore Object.assign(window.route.params, to.query) - + // 如果外部参数中存在accessToken与refreshToken就存储令牌 + // @ts-ignore + if(window.route.params.accessToken){ + systemStore.setItem(SystemStoreEnum.USER_INFO, { + // @ts-ignore + [SystemStoreUserInfoEnum.USER_TOKEN]: window.route.params.accessToken, + // 如果有刷新令牌就存储刷新令牌如果没有就随便放一个什么等到令牌过去后就会重新登录从而不刷新令牌 + // @ts-ignore + [SystemStoreUserInfoEnum.USER_REFRESH_TOKEN]: window.route.params.refreshToken?window.route.params.refreshToken:'null', + [SystemStoreUserInfoEnum.TOKEN_NAME]: "Authorization", + }) + } const Loading = window['$loading']; Loading && Loading.start(); const isErrorPage = router.getRoutes().findIndex((item) => item.name === to.name); - console.log(router.getRoutes()) if (isErrorPage === -1) { next({ name: PageEnum.ERROR_PAGE_NAME_404 }) return } - console.log(to) - // @ts-ignore - console.log(!routerAllowList.includes(to.name), !loginCheck()) - // @ts-ignore - console.log('路由开关:',viteRouter==='false') - console.log('路由开关2:',viteRouter,!viteRouter,!!viteRouter) - console.log(!routerAllowList.includes(to.name),!loginCheck()) if (!routerAllowList.includes(to.name)&&!loginCheck()) { if(PreviewEnum.CHART_PREVIEW_NAME === to.name&& viteRouter==='false'){ - console.log(to.fullPath,'存储临时跳回路径与查询ID') setSessionStorage('setRedirectPath','/chart/preview') setSessionStorage('setRedirectPathId',to.params.id[0]) } - console.log('test...login....') next({ name: PageEnum.BASE_LOGIN_NAME }) } - console.log('test。。。next。。。') - console.log("现地址",to.path,"重定向前地址",to.redirectedFrom?.path) next() }) -- Gitee