request.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. import Vue from 'vue';
  2. import VueCookies from 'vue-cookies';
  3. import axios from 'axios';
  4. import qs from 'qs';
  5. import utils from './utils';
  6. const DATA_URL = process.env.VUE_APP_PHP_URL;
  7. // const DATA_URL = '/phpapi';
  8. const APP_VERSION = process.env.VUE_APP_VERSION;
  9. const PLATFORM = process.env.VUE_APP_PLATFORM;
  10. const defaultOptions = {
  11. timeout: 20000,
  12. baseURL: DATA_URL,
  13. promptError: true, // 自动弹出错误信息判断
  14. headers: {
  15. 'Content-Type': 'application/x-www-form-urlencoded',
  16. },
  17. };
  18. const request = axios.create({
  19. ...defaultOptions,
  20. });
  21. request.interceptors.request.use((options) => {
  22. const config = { ...options };
  23. if (!config.data) {
  24. config.data = {};
  25. }
  26. const token = utils.getLocalStorage('token');
  27. // const token1 = utils.getLocalStorage('token');
  28. // console.log(token1);
  29. // const token = 'MDAwMDAwMDAwMLCdyZ6xrrGg';
  30. // const token = utils.getUrlParam('token') ? utils.getUrlParam('token') : '';
  31. config.data.appVersion = APP_VERSION;
  32. config.data.platform = PLATFORM;
  33. config.data.token = token;
  34. config.data = qs.stringify(config.data);
  35. return config;
  36. });
  37. request.interceptors.response.use((response) => {
  38. if (!response || response.status !== 200) {
  39. Vue.prototype.$message.error(response.data.message);
  40. return Promise.reject(response.data.message);
  41. }
  42. if (response.data.code === -100) {
  43. localStorage.clear();
  44. VueCookies.keys().forEach((cookie) => VueCookies.remove(cookie));
  45. return Promise.reject();
  46. }
  47. if (response.data.code !== 0) {
  48. Vue.prototype.$message.error(response.data.message);
  49. return Promise.reject(response.data.message);
  50. }
  51. return response.data;
  52. }, (error) => {
  53. const { status, data } = error.response || {};
  54. if (status === 200) {
  55. return Promise.reject(data);
  56. }
  57. return Promise.reject(error);
  58. });
  59. export default request;