import { Toast } from 'mand-mobile';
import utils from '@/utils/utils.js';
// 创建axios实例
const service = axios.create({
timeout: 15 * 1000,
baseURL: '/'
});
// request拦截器
service.interceptors.request.use(
async config => {
let session=JSON.parse(localStorage.getItem('zsession'));
let token=session?session.token:null;
if (config.method === 'get') {
token&&(config.params.token=token);
config.params.traceLogId = utils.randomstring();
} else if (config.method === 'post') {
token&&(config.data.token=token);
config.data.traceLogId = utils.randomstring();
}
return config;
},
error => {
if (navigator.onLine) {
Toast.info('服务器繁忙,请稍后重试');
} else {
Toast.info('网络异常,请稍后重试');
}
// Toast.info("网络异常,请稍候重试");
console.log('request拦截器error', error);
return Promise.reject(error);
}
);
// respone拦截器
service.interceptors.response.use(
response => {
console.log('response', response);
// 如果接口success = false
if (!response.data.success) {
if (response.data.errorStyle==='TOAST') {
if (navigator.onLine) {
Toast.info('服务器繁忙,请稍后重试');
} else {
Toast.info('网络异常,请稍后重试');
}
}
return Promise.reject(response.data);
}
return response;
},
error => {
if (navigator.onLine) {
Toast.info('服务器繁忙,请稍后重试');
} else {
Toast.info('网络异常,请稍后重试');
}
console.log('err-------------' + error); // for debug
return Promise.reject(error);
}
);
const service1 = axios.create({
timeout: 15 * 1000,
baseURL: '/'
});
const api = {
async get(url, data) {
try {
let res = await service.get(url, {
params: data
});
res = res.data;
return new Promise(resolve => {
resolve(res);
});
} catch (err) {
console.log('get出错', err);
return Promise.reject(err);
}
},
async post(url, data) {
try {
let res = await service.post(url, data);
res = res.data;
return new Promise((resolve) => {
resolve(res);
});
} catch (err) {
console.log('post错误', err);
return Promise.reject(err);
}
},
// get1为不经过拦截器的get请求
async get1(url, data) {
try {
let res = await service1.get(url, {
params: data
});
res = res.data;
return new Promise(resolve => {
resolve(res);
});
} catch (err) {
console.log('get1出错', err);
return Promise.reject(err);
}
},
};
export {
api
};