import axios from 'axios' // import store from '@/vuex/store.js' import router from '../router' import qs from 'qs' const instance = axios.create({}); instance.defaults.baseURL = 'http://mini.youhulianchuang.com'; instance.defaults.timeout = 5000; instance.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'; instance.defaults.headers.post['X-Requested-With'] = 'XMLHttpRequest'; instance.defaults.headers.post['top-token'] = 'top-token'; instance.defaults.responseType = 'json'; // 請求攔截 instance.interceptors.request.use(function (config) { // 在發送請求以前作些什麼 console.log('請求攔截') console.log(config) return config; }, function (error) { // 對請求錯誤作些什麼 // alert('網絡錯誤,請稍後再試'); }); // 對傳給後臺的數據作統一的操做 instance.defaults.transformRequest=[function (data) { // 對 data 進行任意轉換處理 Object.assign(data,{age:21}) console.log(data) return data; }] // `transformResponse` 在傳遞給 then/catch 前,容許修改響應數據 instance.defaults.transformResponse=[function (data) { // 對 data 進行任意轉換處理 console.log(data) return data; }] // 添加響應攔截器 instance.interceptors.response.use(function (response) { console.log('添加響應攔截器') console.log(response) return response.data; }, function (error) { // 對響應錯誤作點什麼 if(error.response) { } // return Promise.reject(error); }); export default {
install: function(vm){
vm.prototype.$instance = instance;
}
在main.js中引入封裝文件並看成vue插件使用javascript
import Utile from './lib/utils'vue
Vue.use(Utile)java
this.$instance.get(`Employee/Detail/${this.$route.query.userId}`
).then((res)=>{
console.log(res.data)
if(res.data.code == 0){
操做
}
else{ios
}vuex
})json
this.$instance.post("/enumList",
params).then(({ data: { data = []} = {} })=>{
console.log(data)
})
.catch((error) =>{
console.log(error);
});
})axios
注:params是參數網絡