uni-db-request
v1.0.2
Published
uni-request encapsulation interceptors
Downloads
5
Readme
安装
cnpm i uni-db-request
创建实例
import Request from '@/request.js';
// 创建实例时候可以不传配置,后面调用setConfig全局配置
const request = new Request({
baseUrl: '', // 请求链接前缀,比如 https:www.baidu.com; 传了后,请求只需要带上api名 如 request.get('/user/getInfo')
header: {
'content-type': 'application/json;charset=UTF-8'
},
method: 'GET',
dataType: 'json',
responseType: 'text',
isReturnData: true, // 传了后,返回请求数据的data,不包含cookie 等
})
全局修改配置
request.setConfig((config) => {
console.log('config', config);
return config
})
请求拦截
request.interceptors.request.use((config, handleCancel) => {
config.data.hello = 'world'
// 请求前拦截,可以写多个 config就是你当次请求得参数,
// 使用 handleCancel('错误信息',{}); 便终端请求,第二个参数是请求后获取到的数据
})
响应拦截
request.interceptors.response.use((response) => {
response.data.hello = '212'
// 请求回来拦截,可以写多个 response就是你当次请求回来得参数
})
请求
// url如果带有HTTP,https,wss等字眼,便不会再拼接baseUrl
// option 里的配置优先于全局配置。
const res = await request.get(url,data);
const res = await request.post(url,data,option);
const res = await request.put(url,data,option);
const res = await request.delete(url,data,option);
const res = await request.connect(url,data,option);
const res = await request.head(url,data,option);
const res = await request.options(url,data,option);