instruct-request-axios
Version:
45 lines (39 loc) • 1.8 kB
TypeScript
import { RequestMessageOption,ResponseData,ResponseSuccess,InstructionExitParams } from '../../type';
export type TipMessage = {
[propName in string | number]: string | TipGetMessage;
} & {
// 默认提示
default?: string | TipGetMessage;
};
/*
使用规则 propName > timeout > default
*/
export interface TipFailCodeMessage extends TipMessage {
// 超时提示
timeout?:string | TipGetMessage
}
/*
使用规则 propName > success > default
*/
export interface TipSuccessCodeMessage extends TipMessage {
// 成功的提示
success?:string | TipGetMessage
}
export interface TipGetMessage {
(data:InstructionExitParams,codeType:keyof TipFailCodeMessage,code:number | any):string
}
export interface TipOptionObject extends ResponseSuccess{
// 提示时长 ms
duration?:number | ((status:boolean, codeType:keyof TipFailCodeMessage, tip:string, code:number |any, data:InstructionExitParams)=> number | void ),
// 获取message
messageKey?:string | TipGetMessage,
// 是否提示 fail 默认为 true
fail?:boolean | TipFailCodeMessage,
// fail的提示类型
failType?: RequestMessageOption | ((codeType:keyof TipFailCodeMessage,tip:string,code:number |any,data:InstructionExitParams)=> { type: RequestMessageOption,tip:string } | RequestMessageOption | void )
// 是否提示 常规的 默认为 true
tip?:boolean | TipSuccessCodeMessage,
// 常规的提示类型 是否成功根据 responseCode
tipType?: {success?:RequestMessageOption | false,default?:RequestMessageOption | false} | ((codeType:keyof TipSuccessCodeMessage,tip:string,code:number |any,data:ResponseData)=> { type: RequestMessageOption,tip:string } | RequestMessageOption | void | any ),
}
export type TipPluginOption = boolean | TipOptionObject;