123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- import Taro from '@tarojs/taro'
- import Axios from 'axios'
- import { OPEN_ID_STORAGE_KEY } from '../constant'
- import { getUserInfo } from '../utils/auth'
- import sign from './sign'
- const axiosIns = Axios.create({
- siren: false,
- })
- export const getSimpleHeader = () => {
- const headers = {}
- const userInfo = getUserInfo()
- headers['X-Enniu-End'] = 'mp'
- if (userInfo.userId && userInfo.token) {
- headers.userId = `${userInfo.userId}`
- headers.Authorization = `encrypt ${userInfo.token}`
- }
- return headers
- };
- export const getHeaders = async (config) => {
- const userInfo = await getUserInfo()
- // console.log('userInfo', userInfo)
- config.params = config.params || {}
- config.headers = config.headers || {}
- config.headers['X-Enniu-End'] = 'mp'
- if (userInfo.userId && userInfo.token) {
- config.headers.userId = `${userInfo.userId}`
- config.headers.Authorization = `encrypt ${userInfo.token}`
- }
- const openId = Taro.getStorageInfoSync(OPEN_ID_STORAGE_KEY)
- config.headers.openId = `${openId}`
- await sign(config)
- return config
- };
- axiosIns.interceptors.request.use(async (config) => {
-
- try {
- return getHeaders(config)
- } catch (e) {
- console.log(e)
- }
- })
- axiosIns.interceptors.response.use(
- (response) => {
- if (response.headers && response.headers.token && response.headers.userId) {
- Taro.setStorageSync('hasLogin', '1') // 已经登录过,可以认为微信号跟手机号绑定了,后面可以只授权微信信息登录
- Taro.setStorageSync('u51UserId', response.headers.userId)
- Taro.setStorageSync('u51UserToken', response.headers.token)
- }
- return response
- },
- async (err) => {
- console.log(err)
- const config = err.config
- let error = {}
- // if (ignoreError((err.config || {}).url)) {
- // return Promise.reject(err)
- // }
- if (err.response && err.response.data) {
- error = err.response.data.errors
- ? err.response.data.errors[0]
- : err.response.data
- }
- if (error.code === 401) {
- Taro.setStorageSync('hasLogin', '0')
- Taro.switchTab({
- url: '/pages/personal/index',
- });
- // Taro.navigateTo({
- // url: '/pages/login/index'
- // })
- return Promise.reject(error)
- } else if (error.code === 1020 || error.code === 1021) {
- return error
- } else if (
- error &&
- error.message &&
- error.message.indexOf('timeout') === 0
- ) {
- if (!config.omitError) {
- Taro.showToast({
- title: '网络异常',
- icon: 'none',
- })
- }
- } else if (error.message) {
- if (!config.omitError) {
- Taro.showToast({
- title: error.message,
- icon: 'none',
- })
- }
- } else {
- if (!config.omitError) {
- Taro.showToast({
- title: '出了点问题,暂时加载不出来,请稍后再来吧',
- icon: 'none',
- })
- }
- }
- return Promise.reject(err)
- },
- )
- export default axiosIns
|