目录
一、安装axios
npm install --save axios
# 这一步作用是能把json格式的直接转成data所需的格式
npm install qs.js
二、在main.js页面引用
import Vue from 'vue'
import axios from 'axios'
Vue.prototype.$axios = axios //全局注册,使用方法为:this.$axios
Vue.prototype.qs = qs //全局注册,使用方法为:this.qs
三、axios的封装
1、在 /src/plugins 下新建 axios.js 文件
import axios from "axios";
import QS from 'qs'
// Full config: https://github.com/axios/axios#request-config
// axios.defaults.timeout = 1000 * 10; // 请求超时时间
// axios.defaults.baseURL = process.env.baseURL || process.env.apiUrl || ''; // 设置公共url
// axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
// axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'; // post请求头
let config = {
// baseURL: process.env.baseURL || process.env.apiUrl || ""
// timeout: 60 * 1000, // Timeout
// withCredentials: true, // Check cross-site Access-Control
};
const _axios = axios.create(config);
// Add a request interceptor
_axios.interceptors.request.use(
function(config) {
// Do something before request is sent
return config;
},
function(error) {
// Do something with request error
return Promise.reject(error);
}
);
// Add a response interceptor
_axios.interceptors.response.use(
function(response) {
// Do something with response data
return response;
},
function(error) {
// Do something with response error
return Promise.reject(error);
}
);
export default axios
2、在apis.js里集中写项目需要的接口请求
import axios from './$http'
import base from './base'
import QS from 'qs'
const demo = {
eggDemo() {
return axios.get(`${base.egg}/api/role` );
}
}
export default demo;
3、把汇总了所有接口的apis.js引入到main.js里,并挂载到vue原型上:
import demo from './request/apis'
Vue.prototype.$api = demo;
版权声明:本文为anndy_原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。