request.js 1.14 KB
import axios from 'axios'
import Helper from './helper'
import Store from '../store'
import tim from '../tim'


const service = axios.create({
    baseURL: 'http://spread_dev.hikoon.com/mapi',
    // withCredentials: true, // send cookies when cross-domain requests
    timeout: 5000 // request timeout
})

service.interceptors.request.use(config => {
    config.headers['Authorization'] = 'Bearer ' + Helper.getToken()
    config.headers['Accept'] = 'application/json'
    return config
}, error => {
    return Promise.reject(error)
})

service.interceptors.response.use(response => {
    switch (response.data.code) {
        case 200:
            return response.data
        case 401:
            Store.commit('showMessage', {type: 'error', message: '身份信息已失效,请重新登录'})
            tim.logout().then(() => {
                Store.commit('user/toggleIsLogin')
                Store.commit('user/stopComputeCurrent')
                Store.commit('user/reset')
            })
            break
        default:
            return Promise.reject(response.data)
    }
}, error => {
    return Promise.reject(error)
})

export default service