perf: 代码优化 store/modules/user
This commit is contained in:
parent
4dd30c8233
commit
51916b6bc0
@ -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()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user