vue3+ts基于axios小重新封装http请求

219 阅读1分钟
const http = <T>(method: Method, url: string, submitData?: object) => {

//ResTpype为后台返回的数据类型,

//Methods:axios官方提供的请求数据类型
//举例:type ResType<T> = {
        code: number;
        msg: string;
        result: T;
        };
submitData:请求需要的参数
return request.request<ResType<T>>({
url,
method,
// 🔔 自动设置合适的 params/data 键名称,如果 method 为 get 用 params 传请求参数,否则用 data
[method.toUpperCase() === 'GET' ? 'params' : 'data']: submitData,
});
};