uni-app:通用拦截器

该代码段展示了如何在uni-app中进行网络请求,包括设置超时时间、处理用户信息过期的情况以及展示错误信息。当收到401状态码时,会提示用户重新登录并清除本地存储的用户信息。此外,还对不同错误状态进行了定制化的响应处理。
摘要由CSDN通过智能技术生成
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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值