axios.js 文件
import axios from "axios";
import qs from "qs";
import cookie from "js-cookie";
import { Message } from "element-ui";
const ERR_OK = "1"; //接口成功code值
const http = axios.create({
// baseURL: `${process.env.VUE_APP_API}:10091`
/**
项目的服务端口号{
本地:10091,
正式:api
}
判断是否为本地服务
*/
baseURL: `${
process.env.VUE_APP_API == "http://192.168.20.113"
? process.env.VUE_APP_API + ":10091"
: process.env.VUE_APP_API + "/api"
}`
});
http.CancelToken = axios.CancelToken;
http.interceptors.request.use(
config => {
const token = cookie.get("token");
if (config.url != "https://zsty18.com/api/postOrder.act") {
if (token) {
config.headers.authentication = token;
}
config.headers.clientType = 3;
}
if (config.url.indexOf("upload") > -1 && config.data.isNotQs) {
const formData = new FormData();
formData.append("img", config.data.img);
config.data = formData;
} else if (
config.url.indexOf("base/") > -1 ||
config.url.indexOf("postOrder.act") > -1
) {
config.data = qs.stringify(config.data);
}
return config;
},
err => {
Message({
type: "warning",
showClose: true,
message: err
});
return Promise.reject(err);
}
);
http.interceptors.response.use(
response => {
const data =
typeof response.data == "string"
? JSON.parse(response.data)
: response.data;
if (response.config.url == "https://zsty18.com/api/postOrder.act") {
return data;
}
if (response.config.url.indexOf("live/liveRoom/query") > -1) {
return data;
}
if (
data.code == ERR_OK ||
data.code == 200 ||
data.code == 1003 ||
data.code == 406 ||
data.code == 9012
) {
return data;
} else {
Message({
message: data.message,
type: "error"
}
}
},
err => {
return Promise.reject(err);
}
);
export default http;
main.js 文件
import axios from "./axios";
Vue.prototype.$axios = axios;
使用
this.$axios.get(url).then(res => {}).catch(() => {}).finally(()=>{});