1.在vue项目的 src/ 文件夹下新建一个文件夹为 plugins,然后在 plugins/ 下新建 axios.js 文件,写入如下代码
import axios from 'axios'
import { base } from '../router/config'
import { config } from '../config'
import { Message, Modal } from 'iview'
let loading = null
// 设置基础apiUrl(和请求拦截中的 配置axios请求的url 的功能类似,建议使用下面的)
// axios.defaults.baseURL = 'https://www.apiopen.top/'
// 请求拦截 (这里以后写axios请求拦截)
axios.interceptors.request.use(
conf => {
// 配置全局http请求的加载动画
if (!loading) {
loading = Message.loading({
content: 'Loading...',
duration: 0
})
}
// 配置axios请求的url ${config.ajaxUrl} 是配置的请求url统一前缀,配置好就不用重复写一样的url前缀了,只写后面不同的就可以了
conf.url = `${config.ajaxUrl}${conf.url}`
// console.log(conf)
// 判断是否存在token,如果存在的话,则每个http header都加上token
if (sessionStorage.getItem(