export type ErrorMessageMode = 'none' | 'modal' | 'message' | 'notification' | 'custom' | undefined; export type ErrorModalType = 'info' | 'success' | 'error' | 'warning'; export interface CustomModalResult { msg: string; status: number; } export interface NeedAuthResult extends CustomModalResult {} export interface replaceFields { // 状态码 statusField: string; // 信息 messageField: string; // 数据 dataField: string; // 结果类型 resultTypeField: string; // 成功标志位 successCode?: string | number; } export interface RequestOptions { // 接口地址, apiUrl?: string; // 请求拼接路径 urlPrefix?: string; // 拼接请求参数到url joinParamsToUrl?: boolean; // 格式请求参数时间 formatDate?: boolean; // 是否处理请求结果 isTransformResponse?: boolean; //错误情况也 返回处理结果 isReturnResult?: boolean; // 是否返回本机响应头 // 例如:当需要获取响应头时使用此属性 isReturnNativeResponse?: boolean; // 是否加入url joinPrefix?: boolean; // 错误提示类型 errorMessageMode?: ErrorMessageMode; // 错误框提示 类型 errorModalType?: ErrorModalType; // 是否添加时间戳 joinTime?: boolean; ignoreCancelToken?: boolean; // 是否在报头header中加入token withToken?: boolean; // 接口返回的字段名 replaceFields?: replaceFields; // 需要授权的回调 例如 401 needAuthCallBack?: (result: any) => any; //自定义显示弹窗时 触发显示回调 customModalCallBack?: (result: any) => any; } export interface Result { type: 'success' | 'error' | 'warning'; status: number; //状态码 msg: string; // 自定义message信息 data: T; //数据 resultType?: number; //结果类型 1成功 2失败 3提示 4验证 timestamp?: number; // 时间戳 elapsedTime?: number; //消费耗时 requestId?: string; exception?: string; //异常信息 } // multipart/form-data: 文件上传 export interface UploadFileParams { // 其他参数 file: File | Blob; [key: string]: any; data?: Recordable; // 上传接口 文件字段名 name?: string; // 文件对象 // 文件名 filename?: string; }