diff --git a/ruoyi-ui-next/src/stores/modules/user.ts b/ruoyi-ui-next/src/stores/modules/user.ts index 1da5150..5bdfbee 100644 --- a/ruoyi-ui-next/src/stores/modules/user.ts +++ b/ruoyi-ui-next/src/stores/modules/user.ts @@ -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 }