import Vue from 'vue'; import VueCookies from 'vue-cookies'; import axios from 'axios'; import qs from 'qs'; import utils from './utils'; const DATA_URL = process.env.VUE_APP_PHP_URL; // const DATA_URL = '/phpapi'; const APP_VERSION = process.env.VUE_APP_VERSION; const PLATFORM = process.env.VUE_APP_PLATFORM; const defaultOptions = { timeout: 20000, baseURL: DATA_URL, promptError: true, // 自动弹出错误信息判断 headers: { 'Content-Type': 'application/x-www-form-urlencoded', }, }; const request = axios.create({ ...defaultOptions, }); request.interceptors.request.use((options) => { const config = { ...options }; if (!config.data) { config.data = {}; } const token = utils.getLocalStorage('token'); // const token1 = utils.getLocalStorage('token'); // console.log(token1); // const token = 'MDAwMDAwMDAwMLCdyZ6xrrGg'; // const token = utils.getUrlParam('token') ? utils.getUrlParam('token') : ''; config.data.appVersion = APP_VERSION; config.data.platform = PLATFORM; config.data.token = token; config.data = qs.stringify(config.data); return config; }); request.interceptors.response.use((response) => { if (!response || response.status !== 200) { Vue.prototype.$message.error(response.data.message); return Promise.reject(response.data.message); } if (response.data.code === -100) { localStorage.clear(); VueCookies.keys().forEach((cookie) => VueCookies.remove(cookie)); return Promise.reject(); } if (response.data.code !== 0) { Vue.prototype.$message.error(response.data.message); return Promise.reject(response.data.message); } return response.data; }, (error) => { const { status, data } = error.response || {}; if (status === 200) { return Promise.reject(data); } return Promise.reject(error); }); export default request;