import Request from './request'
const test = new Request();
test.setConfig((config) => { / 设置全局配置 /
let token = '';
try{
let st =uni.getStorageSync('token');
if(st){
token = st
}
}catch(e){}
config.baseUrl = 'http://dev.pjy.name:8180/api/bizcust/';
config.header = {
'Content-Type': 'application/json;charset=UTF-8',
"Content-Type": "application/x-www-form-urlencoded",
"Token":token
}
return config
})
test.interceptor.request((config, cancel) => { / 请求之前拦截器 /
config.header = {
...config.header,
'Content-Type': 'application/json;charset=UTF-8',
"Content-Type": "application/x-www-form-urlencoded",
}
/*
if (!token) { // 如果token不存在,调用cancel 会取消本次请求,但是该函数的catch() 仍会执行
cancel('token 不存在') // 接收一个参数,会传给catch((err) => {}) err.errMsg === 'token 不存在'
}
*/
return config;
})
test.interceptor.response((response) => { / 请求之后拦截器 /
return response;
})
const http = new Request();
http.setConfig((config) => { / 设置全局配置 /
let token = '';
try{
let st = uni.getStorageSync('token');
if(st){
token = st;
}
}catch(e){
//TODO handle the exception
}
config.baseUrl = 'http://dev.pjy.name:8170/api/bizcust/'; / 根域名不同 /
config.header = {
'Content-Type': 'application/json;charset=UTF-8',
"Content-Type": "application/x-www-form-urlencoded",
...config.header,
Token:token
}
return config
})
http.interceptor.request((config, cancel) => { / 请求之前拦截器 /
config.header = {
...config.header,
b: 1
}
if (!token) { // 如果token不存在,调用cancel 会取消本次请求,但是该函数的catch() 仍会执行
cancel('token 不存在') // 接收一个参数,会传给catch((err) => {}) err.errMsg === 'token 不存在'
}
return config;
})
http.interceptor.response((response) => { / 请求之后拦截器 /
console.log(response);
return response;
})
export {
http,
test
};
luch (作者)
好的,感谢反馈。研究了一下,决定在下个版本加入该功能
2020-04-16 22:14
今天你很美
回复 luch: 哈哈,才看见,感谢啊,那我可以直接用npm安装的版本了。还是不习惯这种生态啊,我该直接去你GitHub提pr的。
2020-05-20 22:18
1***@qq.com
回复 http.interceptor.request(async (config, cancel) => {
不能使用 async await函数吗
2022-12-15 11:31