通用请求工具
支持
- 请求地址统一包装
- 统一处理响应
- 统一处理错误
- 定制不同平台配置项
- 挂载至指定对象
语法
以包装 uni-app 请求api 为例;
方式1:作为对象导出,自行决定存放位置。
import initializer from 'spider_req';
const options = {
host: 'https://my-server-host.com',
layout: '/api/v1/',
extraData: {token: 'ASDFGHJKL'},
beforeSuccess: (res)=>{
console.log('成功拦截器,成功之前统一调用')
}
};
const myRequest = initializer(uni.request,options);
myRequest({
url:'/products',
method: 'GET',
data: {
someData:'someData'
},
success: (res)=>{
console.log('响应成功了')
}
});
方式2:挂在至指定对象。
import initializer from 'spider_req';
initializer(uni.request,options,uni);
uni.req({
url:'/products',
method: 'GET',
data: {
someData:'someData'
},
success: (res)=>{
console.log('响应成功了')
}
});
初始化器中可选的options
extraData : 要追加到请求参数中的固定参数。一般适用于token之类。
beforeSuccess : 成功前的统一处理。
beforeFail : 失败前的统一处理
resetSchema : 重置语法。
可选的重置语法以及默认值
{
"url": "url",
"data": "data",
"header": "header",
"method": "method",
"dataType": "dataType",
"responseType": "responseType",
"sslVerify": "sslVerify",
"success": "success",
"fail": "fail",
"complete": "complete"
}
重新初始化
重新初始化会自动销毁原对象(仅适用于以挂载点的方式初始化),然后用新的配置进行初始化。