anl
Version:
FE command line tool
60 lines (48 loc) • 1.23 kB
text/typescript
import type { AxiosResponse } from 'axios';
import { message } from 'antd';
/**
* 跳过提示的 code 码
*/
const skipTipCode: number[] = [];
/**
* 需要重写提示的 code 码
*/
const rewriteCodeMessage = ({ code = 10000, message = '网络错误,稍后重试!' }: ResponseModel<unknown>) => {
switch (code) {
case 10000:
return { code, message: '系统错误,稍后重试!' };
default:
return { code, message };
}
};
export const messageTip = ({ data }: AxiosResponse<ResponseModel<unknown>>) => {
if (Object.prototype.toString.call(data) !== '[object Object]') return;
if (!('message' in data && 'code' in data)) return;
const { code, message: msg } = rewriteCodeMessage(data);
if (skipTipCode.includes(code)) return;
// 以下的代码是根据 code 码范围来显示不同的提示信息,请根据实际需求修改
/**
* 信息提示范围
*/
if (code >= 2000 && code <= 3999) {
message.info(msg);
}
/**
* 警告提示范围
*/
if (code > 3999 && code <= 4999) {
message.warning(msg);
}
/**
* 错误提示范围
*/
if (code > 4999 && code <= 5999) {
message.error(msg);
}
/**
* 系统提示范围
*/
if (code >= 9000) {
message.info(msg);
}
};