const API_LIST = {
login: {
baseURL: "/contactList",
method: "get"
},
register: {
baseURL: "/contact/new/json",
method: "post"
},
getuserlist: {
baseURL: "/getuserlist",
method: "get"
}
}
export default API_LIST
import axios from 'axios'
import { Toast } from 'vant'
import qs from 'qs'
import API_LIST from './api';
const instance = axios.create({
baseURL: "http://localhost:9000/api",
timeout: 1000
})
const HTTP = {};
for (const key in API_LIST) {
let api = API_LIST[key];
HTTP[key] = async function (params, config = {}) {
let response = {};
if (api.method === "post") {
let newParams = qs.stringify(params);
try {
response = await instance[api.method](api.baseURL, newParams, config)
} catch (error) {
response = error
}
} else if (api.method === "get") {
config.params = params;
try {
response = await instance[api.method](api.baseURL, config)
} catch (error) {
response = error
}
}
return response
}
}
instance.interceptors.request.use(config => {
Toast.loading({
duration: 0,
message: "加载中..."
})
const token = sessionStorage.getItem("token");
if (token) {
config.headers.token = token;
}
return config;
}, error => {
Toast.clear();
Toast.fail("数据请求失败!请稍后重试");
return Promise.reject(error);
});
instance.interceptors.response.use(response => {
Toast.clear();
return response.data;
}, error => {
Toast.clear();
Toast.fail("服务器数错误!");
return Promise.reject(error);
});
export default HTTP