建议方案:嵌套方法封装ajax方法,根据响应体来判断是否需要执行跳转到登录页面的逻辑,另外这样做可以:根据响应体更新本地token,请求体统一规范。设计好ajax_before和ajax_after。
function ajax(_url,_data,callback){
var url = 'https://xxx.com/api/'+_url;
uni.request({
url: url,
dataType:'json',
data:_data,
header: {
"user_id" : uni.getStorageSync('user_id'),
"token" : uni.getStorageSync('token'),
"content-type":'application/x-www-form-urlencoded',
},
success: (e) => {
const res = e.data;
switch (e.statusCode){
case 2000:
callback(res.data);
break;
case 4001:
uni.navigateTo({
url:'/pages/common/login/login',
complete(e){
console.log(e);
}
})
break;
case 2001:
//其他逻辑。。。。
break;
...//更多逻辑,如系统维护中、该接口已经废弃请更新app,然后跳转到更新app页面等
//注意switch case等方式比用if性能更好。
default:
break;
}
}
})
}
1 个回复
DCloud_uniCloud_JSON
建议方案:嵌套方法封装ajax方法,根据响应体来判断是否需要执行跳转到登录页面的逻辑,另外这样做可以:根据响应体更新本地token,请求体统一规范。设计好ajax_before和ajax_after。