vue-封装axios(带token,跳转到login页面)

vue-封装axios(带token,跳转到login页面)

import Vue from 'vue'
import axios from 'axios'
import router from '@/router'

// 创建axios实例
const service = axios.create({
  timeout: 1000 * 30,
  // 允许跨域带token
  withCredentials: true,
  headers: {
    'Content-Type': 'application/json; charset=utf-8'
  }
})

// request拦截器
service.interceptors.request.use(
  (config) => {
    config.headers['token'] = Vue.cookie.get('token')
      ? Vue.cookie.get('token')
      : '74c8ffe4a59da108f03aa7afc77cc24e'
    // if(config.url.indexOf("http://result.eolinker.com")) {
    //   config.headers['token'] = Vue.cookie.get('token') ? Vue.cookie.get('token') : '74c8ffe4a59da108f03aa7afc77cc24e';
    // }
    return config
  },
  (error) => {
    return Promise.reject(error)
  })

// response拦截器
service.interceptors.response.use(response => {
  if (response.data && response.data.code === 401) { // 401, token失效
    Vue.cookie.delete('token')
    router.push({name: 'login'})
  }
  return response
}, error => {
  return Promise.reject(error)
})

export default service

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 目录 UI组件 开发框架 实用库 服务端 辅助工具 应用实例 Demo示例 UI组件 element★13489 ...
    余生社会阅读 20,270评论 7 233
  • 唉 轻叹一声 年轮第二十次走过同一个路口 恰值同学年少时 书生意气中 风华正茂却不曾有 彷徨于十字路口 未来三条路...
    划水蜻蜓阅读 1,248评论 0 0
  • 90后正从社会萌新成长为生力军,失眠,口臭,肥胖,正从四面八方席卷而来,压力和责任像一把利剑,刺破羸弱的胸膛,无尽...
    油炸橘子皮阅读 1,937评论 0 0
  • 这是11年的一个实例,也是我算的最准的一次: 那晚一朋友要来家里借宿,23点之后还没到。起局得到这样一个奇门局。 ...
    塔罗右手三知六应阅读 4,451评论 0 50
  • 鸡汤虽补,喝多了难免会腻味。可如果是实用的人生信条呢?你愿意恪守吗? 人生不需要大道理,一点小哲学就够了。 我们总...
    LIZZY小梨阅读 5,276评论 0 6