fix: correct getInfo response parsing for RuoYi backend format

- RuoYi /getInfo returns user/roles/permissions at top level, not nested in data
- Support both formats: {data:{user,roles,permissions}} and {user,roles,permissions}
- This fixes the silent exception in navigation guard that redirected back to login
feature/20260628/refactor-frontend-modernization
Lxy 2 weeks ago
parent 9fd2e737b0
commit ee1338f9c3

@ -111,14 +111,19 @@ export const useUserStore = defineStore('user', () => {
async function getInfo() {
const res = await apiClient.get('/getInfo')
// 兼容两种返回结构:
// 1. { data: { user, roles, permissions } }
// 2. { user, roles, permissions }RuoYi 后端 /getInfo 实际格式)
const data = res.data || {}
const user = data.user
const user = data.user || res.user
const rolesData = data.roles || res.roles || []
const permissionsData = data.permissions || res.permissions || []
if (!user) {
throw new Error('获取用户信息失败')
}
userInfo.value = user
roles.value = user.roles || data.roles || []
permissions.value = user.permissions || data.permissions || []
roles.value = user.roles || rolesData
permissions.value = user.permissions || permissionsData
return res
}

Loading…
Cancel
Save