const baseURL = "地址";
const request = ({url="",method="GET",data={},header={}})=>{
if(typeof(url) !== "string"){
throw new Error("Request传递的url不是string类型!")
}
// 没有// 做//拼接
if(!url.includes("://")){
url = baseURL + url;
}
// 获取token
let token = wx.getStorageSync('token');
if(token){
// 如果有token就请求头默认带上
header.token = token;
}
return new Promise((resolve,reject)=>{
wx.request({
url,
method,
data,
header,
success:(res)=>{
// 响应拦截器
// 处理token失效
if(res.statusCode == 401){
wx.removeStorageSync('token');
// wx.navigateTo 。redirectTo 不能跳转到tabbar页面
// reLaunch删除其他页面,清空记录然后跳转
wx.reLaunch({
url: '/subpkg/login/login',
})
}
console.log(res);
resolve(res.data);
reject(res.data.message)
},
fail:(err)=>{reject(err)}
})
})
}
request.get = (url,data,header)=>{
return request({url,method:"GET",data,header})
}
request.post = (url,data,header)=>{
return request({url,method:"POST",data,header})
}
export default request;
小程序二次封装wx.request
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 在开发项目过大时,太多的接口如果不进行封装的话会很难以管理,今天就来说一下怎么通过Promise进行二次封装wx....
- 我们在开发小程序都会用到request请求,但是在每个请求都要写wx.request,这样就造成我们代码的重复率;...
- 在开发项目过大时,太多的接口如果不进行封装的话会很难以管理,今天就来说一下怎么通过Promise进行二次封装wx....
- 这些天团队里开始做小程序开发了,之前没做过,都是第一次,第一次的感觉大家都懂的。周末看了一下小程序项目的代码,在网...
- const request = (url, data, successCallback, errorCallbac...