axios.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. "use strict";
  2. /* eslint-disable */
  3. import axios from "axios"
  4. // import router from '../router/index'
  5. import {
  6. browser
  7. } from '@/utils/common'
  8. import {
  9. Toast
  10. } from 'vant'
  11. // Full config: https://github.com/axios/axios#request-config
  12. // axios.defaults.baseURL = process.env.baseURL || process.env.apiUrl || '';
  13. // axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
  14. // axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
  15. let config = {
  16. // baseURL: process.env.baseURL || process.env.apiUrl || ""
  17. // timeout: 60 * 1000, // Timeout
  18. // withCredentials: true, // Check cross-site Access-Control
  19. // transformRequest: [function(data) {
  20. // console.log(data)
  21. // if(!data.qStringify) {
  22. // data = qs.stringify({
  23. // ...data
  24. // })
  25. // }
  26. // return data
  27. // }]
  28. };
  29. const _axios = axios.create(config);
  30. _axios.interceptors.request.use(
  31. function (config) {
  32. // Do something before request is sent
  33. // 判断用户是否登录
  34. let userInfo = localStorage.getItem('Authorization')
  35. if (userInfo) {
  36. config.headers['Authorization'] = userInfo
  37. }
  38. // config.headers['Authorization'] ='bearer 8ffb419c-0d24-46b8-8faf-135ff24fa1d9'
  39. return config;
  40. },
  41. function (error) {
  42. Toast('网络错误')
  43. // Do something with request error
  44. return Promise.reject(error);
  45. }
  46. );
  47. // Add a response interceptor
  48. _axios.interceptors.response.use(
  49. function (response) {
  50. // Do something with response data
  51. if (response.data.code == 403 || response.data.code == 403) {
  52. // window.localStorage.removeItem('userInfo') // 删除用户信息
  53. window.localStorage.removeItem('Authorization') // 删除用户信息
  54. if (browser().android) {
  55. DAYA.postMessage(JSON.stringify({
  56. api: 'login'
  57. }))
  58. } else if (browser().iPhone) {
  59. window.webkit.messageHandlers.DAYA.postMessage(JSON.stringify({
  60. api: 'login'
  61. }))
  62. } else {
  63. router.push('/signUpAccount')
  64. }
  65. }
  66. return response;
  67. },
  68. function (error) {
  69. Toast.clear()
  70. Toast('网络错误')
  71. // Do something with response error
  72. return Promise.reject(error);
  73. }
  74. );
  75. // Plugin.install = function(Vue) {
  76. // Vue.axios = _axios;
  77. // window.axios = _axios;
  78. // Object.defineProperties(Vue.prototype, {
  79. // axios: {
  80. // get() {
  81. // return _axios;
  82. // }
  83. // },
  84. // $axios: {
  85. // get() {
  86. // return _axios;
  87. // }
  88. // },
  89. // });
  90. // };
  91. // Vue.use(Plugin)
  92. export default _axios