统一处理axios的返回promise
统一处理axios的返回promis 1.都是返回Promise对象2.返回数据类型为ResponseData3.只有data不同采用泛型
//定义//默认T = {}可以让不需要返回值的接口不写泛型export type PromiseRes<T = {}> = Promise<ResponseData<T>>export interface ResponseData<T = null> {code?: number;message?: string;data?: T;errno?: number;}export interface LoginData {token: string;tokenHead: string;}//使用//登录接口export const adminLogin = (): PromiseRes<LoginData> => request.post('/admin/login')//xx接口 不需要返回值export const xx = (): PromiseRes => request.post('/xx')
{}[]
{ }[ ] :代表数组嵌套对象的类型数据
interface Person {
name: string;
}
const data: {}[] = []
const data2: Person[] = [{ name: 'dan' }]
不确定key的类型
interface NewMenusObj {
[key: string]: MenusObjItf
}
const newMenus: NewMenusObj = {};
const mid = '1' //1则报错
newMenus[mid] = { };
继承
interface queryParams {
pageNum: number;
pageSize: number;
}
export interface AdminListsParams extends queryParams {
keyword: string;
}
