优化更新

This commit is contained in:
2026-09-14 09:44:33 +08:00
parent b3a9e21254
commit 5b8e178970
60 changed files with 1243 additions and 1022 deletions
@@ -88,6 +88,8 @@ return R.failed("参数错误")
```typescript
// src/utils/http/axios/index.ts
import { message, Modal } from 'ant-design-vue';
transformRequestData: (res: AxiosResponse<Result>, options: RequestOptions) => {
const { code, data, msg } = res.data;
@@ -98,19 +100,21 @@ transformRequestData: (res: AxiosResponse<Result>, options: RequestOptions) => {
// 业务失败(code === 1):弹出错误提示
if (code === ResultEnum.ERROR) {
ElMessage.error(msg);
message.error(msg);
throw new Error(msg);
}
// 登录超时(code === 401):弹出确认框,跳转登录页
if (code === ResultEnum.TIMEOUT) {
ElMessageBox.confirm('登录身份已失效,请重新登录!', '提示', {
confirmButtonText: '确定',
showCancelButton: false,
type: 'warning',
}).then(() => {
storage.clear();
window.location.href = '/login';
Modal.confirm({
title: '提示',
content: '登录身份已失效,请重新登录!',
okText: '确定',
cancelText: '取消',
onOk: () => {
storage.clear();
window.location.href = '/login';
},
});
throw new Error(msg);
}
@@ -144,22 +148,24 @@ const result = await getPositionList(params);
| code | 说明 | 前端行为 |
|------|------|----------|
| 0 | 成功 | 返回 `data` |
| 1 | 业务失败 | `ElMessage.error(msg)` + `throw` |
| 1 | 业务失败 | `message.error(msg)` + `throw` |
| 401 | 未登录或 Token 过期 | 弹出确认框 → 跳转登录页 |
HTTP 状态码始终为 200,业务成功/失败通过 `code` 字段区分。
## 前端错误展示
业务错误通过 `ElMessage.error` 弹出提示,无需组件手动处理:
业务错误通过 `message.error` 弹出提示,无需组件手动处理:
```typescript
import { message } from 'ant-design-vue';
// 组件中直接调用,错误由拦截器处理
try {
await positionAdd(formData);
message('操作成功');
message.success('操作成功');
} catch (e) {
// 拦截器已弹出 ElMessage.error,此处可选处理
// 拦截器已弹出 message.error,此处可选处理
}
```