后端提供了一个接口,要求可以在浏览器控制台更改参数,以方便后端可以随时更改参数
- 新建一个存放全局变量的js文件,如: params.js,内容如下:
export default {
de:'qweqweqweqwe', //封装的axios中要用到的默认值
setParams(v){ //用于浏览器修改全局变量"de"
this.de= v
}
}
- main.js
import params from './params' //引入params.js Vue.prototype.$params = params //挂载到vue实例上,以便项目随处可用 const vm = new Vue({ //vue实例定义为变量 router, store, render: h => h(App) }).$mount('#app') window.params= vm.$params //挂载到window对象上,以便浏览器可以访问 export default vm //把vue实例暴露出去,以便js文件可以访问到vue实例
- request.js (封装的axios文件)
import axios from 'axios' import vm from '@/main' //引入main.js以便访问vue实例 axios.interceptors.request.use( config => { config.params = { 'xxxxxxxx': vm.$params.de } //这里要用到params.js定义的de(默认值) return config }, error => { return Promise.reject(error) } )
现在可以打开浏览器控制台,输入params,会出现:
{ de:'qweqweqweqwe', setParams(v){ this.de= v } }
输入params.setParams('abcdefg') , 哈哈, 你再调用接口, 大功告成!