12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- const axios = window.axios;
- const baseURL = "http://chip.hdlkeji.com";
- // 创建axios实例
- const instance = axios.create({
- baseURL, // api的base_url
- });
- // request拦截器
- instance.interceptors.request.use(
- (config) => {
- return config;
- },
- (error) => {
- // Do something with request error
- console.log(error); // for debug
- Promise.reject(error);
- }
- );
- // respone拦截器
- instance.interceptors.response.use(
- // response => response,
- /**
- * 下面的注释为通过response自定义code来标示请求状态,当code返回如下情况为权限有问题,登出并返回到登录页
- * 如通过xmlhttprequest 状态码标识 逻辑可写在下面error中
- */
- (response) => {
- const res = response.data;
- // 处理异常的情况
- if (res.code !== 1) {
- return Promise.reject("error");
- } else {
- // 默认只返回data,不返回状态码和message
- // 通过 meta 中的 responseAll 配置来取决后台是否返回所有数据(包括状态码,message和data)
- const isbackAll =
- response.config.meta && response.config.meta.responseAll;
- if (isbackAll) {
- return res;
- } else {
- return res.data;
- }
- }
- },
- (error) => {
- console.log("err" + error); // for debug
- return Promise.reject(error);
- }
- );
- export default {
- get: (url, params, config) => instance.get(url, { params, ...config }),
- post: (url, params, config) => instance.post(url, params, config),
- baseURL,
- };
|