diff --git a/app/api/axios-client.ts b/app/api/axios-client.ts index c917180..69422bf 100644 --- a/app/api/axios-client.ts +++ b/app/api/axios-client.ts @@ -183,10 +183,8 @@ axiosInstance.interceptors.response.use( // 🔒 403 无权限错误处理 if (isAxiosError(error) && error.response?.status === 403) { console.warn('⚠️ [403 Forbidden] 无权限访问:', error.config?.url); - - // 修改错误消息为友好提示,避免显示原始的 "Request failed with status code 403" - // 注意:不在这里显示 toast,由组件层统一处理,避免重复提示 - error.message = '无权限'; + const serverMessage = (error.response?.data as any)?.message; + error.message = serverMessage || '无权限'; } return Promise.reject(error); diff --git a/app/routes/role-permissions._index.tsx b/app/routes/role-permissions._index.tsx index d103f49..032cfbc 100644 --- a/app/routes/role-permissions._index.tsx +++ b/app/routes/role-permissions._index.tsx @@ -1194,8 +1194,9 @@ export default function RolePermissions() { setExpandedRouteIds([]); // 重置展开状态 setRoleUsers(users); } catch (error) { + const errMsg = error instanceof Error ? error.message : '加载角色权限失败'; console.error('加载角色权限失败:', error); - toastService.error('加载角色权限失败'); + toastService.error(errMsg); } finally { setLoadingPermissions(false); // v3.8: 结束加载权限 setLoadingUsers(false); // 结束加载用户列表