import { baseURL, timeout } from './config'
function request(option){
return new Promise((resolve,reject)=>{
uni.request({
url: baseURL + option.url,
//这里设置了15000
timeout:timeout,
data: option.data,
method: option.method,
//请求头
header:{
'Authorization':uni.getStorageSync('TOKEN')
},
success: function(response){
let res = response.data
if(res.code!=='200'){
//如果返回401,跳转登录页
if(res.status == '401'){
uni.showModal({
title: '提示',
content: '用户信息已过期,请重新登录!',
showCancel:false,
confirmText: '确认',
success: res => {
if (res.confirm) {
uni.clearStorage()
uni.reLaunch({url: '/pages/login/login'})
}
}
})
return reject('用户信息已过期')
}
//自定义处理部分
else if(res.code=='201'||res.code=='203'){
resolve(res)
}
else{
uni.showToast({
icon:'none',
title: res.message||'信息有误,请重试'
})
return reject('error')
}
}
resolve(res)
},
fail: function(error) {
console.log(error)
uni.showToast({
icon:'none',
title: error
})
reject()
},
complete: function() {
}
})
})
}
export default request
uni-app:通用拦截器
最新推荐文章于 2024-07-09 13:40:19 发布
该代码段展示了如何在uni-app中进行网络请求,包括设置超时时间、处理用户信息过期的情况以及展示错误信息。当收到401状态码时,会提示用户重新登录并清除本地存储的用户信息。此外,还对不同错误状态进行了定制化的响应处理。
摘要由CSDN通过智能技术生成