This commit is contained in:
2026-08-10 12:24:15 +08:00
parent 2915e6d599
commit b53d090b50
3 changed files with 8 additions and 10 deletions
+5 -5
View File
@@ -39,7 +39,6 @@ function sessionFromToken(token: string) {
account: claims.username || '',
roles: claims.roles ?? [],
} satisfies CurrentUser,
permissions: claims.permissions ?? [],
}
}
@@ -58,7 +57,7 @@ export const useAuthStore = defineStore('admin-auth', () => {
const cachedPermissions = JSON.parse(localStorage.getItem(PERMISSION_CODES_KEY) || '[]') as unknown
if (!Array.isArray(cachedPermissions)) throw new Error('权限缓存格式无效')
user.value = session.user
permissions.value = session.permissions.filter((code) => cachedPermissions.includes(code))
permissions.value = cachedPermissions.filter((code): code is string => typeof code === 'string')
isServerSession.value = true
} catch (error) {
token.value = ''
@@ -98,8 +97,7 @@ export const useAuthStore = defineStore('admin-auth', () => {
const activePermissionCodes = await listCurrentPlatformPermissionCodes()
ensureCurrentGeneration(expectedGeneration)
permissionResources.value = []
const activePermissionCodeSet = new Set(activePermissionCodes)
applyPermissionCodes(session.permissions.filter((code) => activePermissionCodeSet.has(code)))
applyPermissionCodes(activePermissionCodes)
} catch (error) {
ensureCurrentGeneration(expectedGeneration)
throw error
@@ -138,7 +136,9 @@ export const useAuthStore = defineStore('admin-auth', () => {
token.value = storedToken
refreshToken.value = storedRefreshToken
user.value = session.user
permissions.value = session.permissions.filter((code) => Array.isArray(cachedPermissions) && cachedPermissions.includes(code))
permissions.value = Array.isArray(cachedPermissions)
? cachedPermissions.filter((code): code is string => typeof code === 'string')
: []
permissionResources.value = []
isServerSession.value = true
} catch {