From e181f04c642204e79749af93fa921875ff6c21ba Mon Sep 17 00:00:00 2001 From: baoshiwei <baoshiwei@shlanbao.cn> Date: 星期二, 20 五月 2025 10:46:35 +0800 Subject: [PATCH] refactor(qms): 重构趋势图展示逻辑 --- src/store/modules/user.ts | 140 ++++++++++++++++++++++++---------------------- 1 files changed, 74 insertions(+), 66 deletions(-) diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts index dafec8b..56f369b 100644 --- a/src/store/modules/user.ts +++ b/src/store/modules/user.ts @@ -1,83 +1,91 @@ import { to } from 'await-to-js'; -import defAva from '@/assets/images/profile.jpg'; -import store from '@/store'; import { getToken, removeToken, setToken } from '@/utils/auth'; import { login as loginApi, logout as logoutApi, getInfo as getUserInfo } from '@/api/login'; import { LoginData } from '@/api/types'; +import defAva from '@/assets/images/profile.jpg'; +import store from '@/store'; export const useUserStore = defineStore('user', () => { - const token = ref(getToken()); - const name = ref(''); - const nickname = ref(''); - const userId = ref<string | number>(''); - const avatar = ref(''); - const roles = ref<Array<string>>([]); // 鐢ㄦ埛瑙掕壊缂栫爜闆嗗悎 鈫� 鍒ゆ柇璺敱鏉冮檺 - const permissions = ref<Array<string>>([]); // 鐢ㄦ埛鏉冮檺缂栫爜闆嗗悎 鈫� 鍒ゆ柇鎸夐挳鏉冮檺 + const token = ref(getToken()); + const name = ref(''); + const nickname = ref(''); + const userId = ref<string | number>(''); + const tenantId = ref<string>(''); + const avatar = ref(''); + const roles = ref<Array<string>>([]); // 鐢ㄦ埛瑙掕壊缂栫爜闆嗗悎 鈫� 鍒ゆ柇璺敱鏉冮檺 + const permissions = ref<Array<string>>([]); // 鐢ㄦ埛鏉冮檺缂栫爜闆嗗悎 鈫� 鍒ゆ柇鎸夐挳鏉冮檺 - /** - * 鐧诲綍 - * @param userInfo - * @returns - */ - const login = async (userInfo: LoginData): Promise<void> => { - const [err, res] = await to(loginApi(userInfo)); - if (res) { - const data = res.data; - setToken(data.token); - token.value = data.token; - return Promise.resolve(); - } - return Promise.reject(err); - }; + /** + * 鐧诲綍 + * @param userInfo + * @returns + */ + const login = async (userInfo: LoginData): Promise<void> => { + const [err, res] = await to(loginApi(userInfo)); + if (res) { + const data = res.data; + setToken(data.access_token); + token.value = data.access_token; + return Promise.resolve(); + } + return Promise.reject(err); + }; - // 鑾峰彇鐢ㄦ埛淇℃伅 - const getInfo = async (): Promise<void> => { - const [err, res] = await to(getUserInfo()); - if (res) { - const data = res.data; - const user = data.user; - const profile = user.avatar == '' || user.avatar == null ? defAva : user.avatar; + // 鑾峰彇鐢ㄦ埛淇℃伅 + const getInfo = async (): Promise<void> => { + const [err, res] = await to(getUserInfo()); + if (res) { + const data = res.data; + const user = data.user; + const profile = user.avatar == '' || user.avatar == null ? defAva : user.avatar; - if (data.roles && data.roles.length > 0) { - // 楠岃瘉杩斿洖鐨剅oles鏄惁鏄竴涓潪绌烘暟缁� - roles.value = data.roles; - permissions.value = data.permissions; - } else { - roles.value = ['ROLE_DEFAULT']; - } - name.value = user.userName; - nickname.value = user.nickName; - avatar.value = profile; - userId.value = user.userId; - return Promise.resolve(); - } - return Promise.reject(err); - }; + if (data.roles && data.roles.length > 0) { + // 楠岃瘉杩斿洖鐨剅oles鏄惁鏄竴涓潪绌烘暟缁� + roles.value = data.roles; + permissions.value = data.permissions; + } else { + roles.value = ['ROLE_DEFAULT']; + } + name.value = user.userName; + nickname.value = user.nickName; + avatar.value = profile; + userId.value = user.userId; + tenantId.value = user.tenantId; + return Promise.resolve(); + } + return Promise.reject(err); + }; - // 娉ㄩ攢 - const logout = async (): Promise<void> => { - await logoutApi(); - token.value = ''; - roles.value = []; - permissions.value = []; - removeToken(); - }; + // 娉ㄩ攢 + const logout = async (): Promise<void> => { + await logoutApi(); + token.value = ''; + roles.value = []; + permissions.value = []; + removeToken(); + }; - return { - userId, - token, - nickname, - avatar, - roles, - permissions, - login, - getInfo, - logout - }; + const setAvatar = (value: string) => { + avatar.value = value; + }; + + return { + userId, + tenantId, + token, + nickname, + avatar, + roles, + permissions, + login, + getInfo, + logout, + setAvatar + }; }); export default useUserStore; // 闈瀞etup export function useUserStoreHook() { - return useUserStore(store); + return useUserStore(store); } -- Gitblit v1.9.3