为什么要分装接口
方便统一管理,优化代码,减少冗余,提高复用率
除了登录接口,其他添加token。登录之前都没有token,我们必须要剔除这种情况
所以要设置token
// 先声明一个空,存放header
let header = ''
if (obj.url == '/smslogin' || obj.url == '/wxlogin') {
header = {
"content-type": "application/json"
}
} else {
header = {
// 根据你自己存本地的信息来取
authorization: uni.getStorageSync('userinfo').token
}
}
prmoise调用
在成功函数中,进行了全局错误拦截,根据后端
return new Promise((reslove, reject) => {
uni.request({
// 尽可能的把常用的所用配置都封装到这里
url: baseUrl + "/api" + obj.url,
method: obj.method || "GET",
data: obj.data || {},
header,
success(res) {
console.log(res, "响应");
// reslove(res)
if (res.data.code == 200) {
reslove(res)
} else if (res.data.msg == '请设置请求头,并携带验证字符串') {
//重新跳转到登录
// #ifdef H5
uni.navigateTo({
url: "../login/login"
})
// #endif
// #ifdef MP-WEIXIN
uni.switchTab({
url: "../main/main"
})
// #endif
} else if (res.data.msg == '登录已过期或访问权限受限') {
//重新跳转到登录
// #ifdef H5
uni.navigateTo({
url: "../login/login"
})
// #endif
// #ifdef MP-WEIXIN
uni.switchTab({
url: "../main/main"
})
// #endif
}
},
fail(err) {
reject(err)
}
})
}