fix(web+config): E2E 测试发现的问题修复
- 排班状态过滤 'active' → 'enabled'(与后端 validation.rs 一致) - 全局 403 拦截器不再弹出"权限不足" toast(AuthButton 已隐藏入口) - 角色未关联菜单时回退显示全部(避免种子数据阶段菜单空白)
This commit is contained in:
@@ -160,13 +160,23 @@ function showGlobalError(msg: string) {
|
||||
}
|
||||
|
||||
// 全局错误拦截 — 在响应拦截器之后、组件 catch 之前执行
|
||||
// 组件可通过 axios config 中设置 skipGlobalError: true 来抑制全局提示
|
||||
declare module 'axios' {
|
||||
interface InternalAxiosRequestConfig {
|
||||
skipGlobalError?: boolean;
|
||||
}
|
||||
}
|
||||
|
||||
client.interceptors.response.use(
|
||||
(response) => response,
|
||||
(error) => {
|
||||
if (error.config?.skipGlobalError) {
|
||||
return Promise.reject(error);
|
||||
}
|
||||
if (!error.response) {
|
||||
showGlobalError('网络连接异常,请检查网络');
|
||||
} else if (error.response.status === 403) {
|
||||
showGlobalError('权限不足,无法执行此操作');
|
||||
// 403 通常是权限不足,不全局提示 — 组件层通过 AuthButton 已隐藏操作入口
|
||||
} else if (error.response.status === 404) {
|
||||
// 404 通常由组件自行处理(如跳转),不全局提示
|
||||
} else if (error.response.status >= 500) {
|
||||
|
||||
Reference in New Issue
Block a user