在我们使用vue开发的时候,请求后台我们通常使用axios这些第三方库来实现,但是我们在使用的时候,遇到一个问题,我们每一个请求都需要带上token,这样就增加了我们的重复工作量。
所以,我们可以对axios做一个封装,让我们使用它的时候,自动带入token和url的前缀(url的前缀生产环境和开发环境可以不同)
好了,直接上代码:
import axios from 'axios'
import Vue from 'vue';
import qs from 'qs';
//import store from '@/store';
import { MessageBox, Message,Notification,Loading } from 'element-ui';
import router from '@/router/index.js';
//import store from '@/store'
const service = axios.create({
baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url
timeout: 30000 // request timeout
})
// request interceptor
service.interceptors.request.use(
config => {
//store.commit("app/SHOW_LOADING");//一个用vuex实现的全局变量,用来展示是否loadding中
if(config.method === 'post') {
if(config.isObj&&am