From 7067723946f837d0468814c28fe4971b7c331d11 Mon Sep 17 00:00:00 2001 From: liudong <liudong> Date: 星期六, 24 八月 2024 20:12:28 +0800 Subject: [PATCH] 知识库列表修改 --- src/store/modules/user/index.ts | 30 +++++++++++++++++++++++++++--- 1 files changed, 27 insertions(+), 3 deletions(-) diff --git a/src/store/modules/user/index.ts b/src/store/modules/user/index.ts index c77c21a..426abc7 100644 --- a/src/store/modules/user/index.ts +++ b/src/store/modules/user/index.ts @@ -5,10 +5,12 @@ getUserInfo, LoginData, } from '@/api/user'; -import { setToken, clearToken,setUserInfo } from '@/utils/auth'; +import { setToken, clearToken, setUserInfo, setUserResources, clearUserResources } from "@/utils/auth"; import { removeRouteListener } from '@/utils/route-listener'; import { UserState } from './types'; import useAppStore from '../app'; +import router from "@/router"; + const useUserStore = defineStore('user', { state: (): UserState => ({ @@ -28,6 +30,8 @@ accountId: undefined, certification: undefined, role: '', + resources:undefined, + hrefUrl:undefined }), getters: { @@ -50,6 +54,7 @@ // Reset user's information resetInfo() { + clearUserResources() this.$reset(); }, @@ -61,16 +66,27 @@ }, // Login - async login(loginForm: LoginData) { + async login(loginForm: LoginData):string { try { const res = await userLogin(loginForm); + setToken(res.data.access_token); const userInfo = { avatar: res.data.avatar, name: res.data.nickname, email: res.data.email, + role: res.data.roles[0].roleKey, }; - setUserInfo(JSON.stringify(userInfo)); + + if(res.data?.roles.length>0) + this.resources=res.data.roles[0].resources; + setUserInfo(JSON.stringify(userInfo)); + setUserResources(JSON.stringify(this.resources)) + for (const r of this.resources) { + if (r.menuType == 0) { + return r.component + } + } } catch (err) { clearToken(); throw err; @@ -88,9 +104,17 @@ try { await userLogout(); } finally { + router.push({ + name: "login", + }); this.logoutCallBack(); } }, + + + getHreFurl(url: string) { + this.hrefUrl=url + }, }, }); -- Gitblit v1.8.0