微信小程序request.js文件对请求接口的封装
wx.request()发起 HTTPS 网络请求。
wx.request({
url: 'example.php', //仅为示例,并非真实的接口地址
data: {
x: '',
y: ''
},
header: {
'content-type': 'application/json' // 默认值
},
success (res) {
console.log(res.data)
},
fail (res) { }
})
微信小程序request.js文件对请求接口的封装步骤:
1、 定义一个方法,判断请求状态是否成功
function isHttpSuccess(status) {
return (status >= 200 && status < 300) || status === 304;
}
2、定义一个方法,配置请求域名
function $request(options = {}) {
options.url = env.baseUrl + options.url;
return requestInterceptor(options);
}
3、 请求参数配置,请求响应统一处理
1)配置header,
header["content-type"],不同的请求类型,比如get /post/upload 等配置content-type
header["source"],
header["token"]
header.sign
header.version
2)return 一个Promise实例,这样调佣接口的时候可以很方便的调用Promise实例的方法,Promise实例返回对wx.request()方法的二次封装
options接收的传参中包含url,data,
调用成功后做一些校验
res.statusMsg请求token为空,提示重新登录
请求状态成功后,如果200,resolve(res);不然就吐司提示reject(res);
如果请求状态没有成功
100:判断token失效时, reject(res);
调用模态对话框wx.showModal() 提示重新登录,当前页面如果连续发出了多个请求,避免多个登录提示弹框
其他情况提示:服务器好像出了点小问题,请与客服联系
吐司提示,reject(err)
调用失败后做一些校验 reject(error);
400:请求错误(400)
401:未授权,请重新登录(401),重定向到登录页
403:拒绝访问(403)
404:请求的资源不存在
408:请求超时
500:服务器错误

浙公网安备 33010602011771号