perf: 代码优化 store/modules/user

This commit is contained in:
pany 2023-05-31 18:23:47 +08:00
parent 4dd30c8233
commit 51916b6bc0

View File

@ -23,43 +23,17 @@ export const useUserStore = defineStore("user", () => {
roles.value = value roles.value = value
} }
/** 登录 */ /** 登录 */
const login = (loginData: LoginRequestData) => { const login = async ({ username, password, code }: LoginRequestData) => {
return new Promise((resolve, reject) => { const { data } = await loginApi({ username, password, code })
loginApi({ setToken(data.token)
username: loginData.username, token.value = data.token
password: loginData.password,
code: loginData.code
})
.then((res) => {
setToken(res.data.token)
token.value = res.data.token
resolve(true)
})
.catch((error) => {
reject(error)
})
})
} }
/** 获取用户详情 */ /** 获取用户详情 */
const getInfo = () => { const getInfo = async () => {
return new Promise((resolve, reject) => { const { data } = await getUserInfoApi()
getUserInfoApi() username.value = data.username
.then((res) => { // 验证返回的 roles 是否为一个非空数组,否则塞入一个没有任何作用的默认角色,防止路由守卫逻辑进入无限循环
const data = res.data roles.value = data.roles?.length > 0 ? data.roles : asyncRouteSettings.defaultRoles
username.value = data.username
// 验证返回的 roles 是否是一个非空数组
if (data.roles && data.roles.length > 0) {
roles.value = data.roles
} else {
// 塞入一个没有任何作用的默认角色,不然路由守卫逻辑会无限循环
roles.value = asyncRouteSettings.defaultRoles
}
resolve(res)
})
.catch((error) => {
reject(error)
})
})
} }
/** 切换角色 */ /** 切换角色 */
const changeRoles = async (role: string) => { const changeRoles = async (role: string) => {
@ -88,7 +62,7 @@ export const useUserStore = defineStore("user", () => {
token.value = "" token.value = ""
roles.value = [] roles.value = []
} }
/** 重置 visited views 和 cached views */ /** 重置 Visited Views 和 Cached Views */
const _resetTagsView = () => { const _resetTagsView = () => {
tagsViewStore.delAllVisitedViews() tagsViewStore.delAllVisitedViews()
tagsViewStore.delAllCachedViews() tagsViewStore.delAllCachedViews()