| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- import Taro from "@tarojs/taro"
- import { pageToLogin } from "./utils"
- import { HTTP_STATUS } from './config'
- const customInterceptor = (chain) => {
- const requestParams = chain.requestParams
- return chain.proceed(requestParams).then(res => {
- console.log(res,'proceed')
- // 只要请求成功,不管返回什么状态码,都走这个回调
- if (res.statusCode === HTTP_STATUS.NOT_FOUND) {
- return Promise.reject("请求资源不存在")
- } else if (res.statusCode === HTTP_STATUS.BAD_GATEWAY) {
- return Promise.reject("服务端出现了问题")
- } else if (res.statusCode === HTTP_STATUS.FORBIDDEN || res.statusCode === HTTP_STATUS.NO_PERMISSION) {
- Taro.setStorageSync("token", "")
- pageToLogin()
- // TODO 根据自身业务修改
- return;
- } else if (res.statusCode === HTTP_STATUS.AUTHENTICATE) {
- Taro.setStorageSync("Authorization", "")
- pageToLogin()
- return Promise.reject("需要鉴权")
- } else if (res.statusCode === HTTP_STATUS.SUCCESS) {
- if(res.data.error.length !== 0 && res.data.error[0].field === '403'){
- Taro.setStorageSync("token", "")
- pageToLogin()
- }
- return res.data
- }
- })
- }
- const interceptors = [customInterceptor, Taro.interceptors.logInterceptor]
- export default interceptors
|