axios.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. "use strict";
  2. import axios from "axios"
  3. // import router from '../router/index'
  4. import { browser } from '@/common/common'
  5. // Full config: https://github.com/axios/axios#request-config
  6. // axios.defaults.baseURL = process.env.baseURL || process.env.apiUrl || '';
  7. // axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
  8. // axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
  9. let config = {
  10. // baseURL: process.env.baseURL || process.env.apiUrl || ""
  11. // timeout: 60 * 1000, // Timeout
  12. // withCredentials: true, // Check cross-site Access-Control
  13. // transformRequest: [function(data) {
  14. // console.log(data)
  15. // if(!data.qStringify) {
  16. // data = qs.stringify({
  17. // ...data
  18. // })
  19. // }
  20. // return data
  21. // }]
  22. };
  23. const _axios = axios.create(config);
  24. _axios.interceptors.request.use(
  25. function(config) {
  26. // Do something before request is sent
  27. // 判断用户是否登录
  28. let userInfo = localStorage.getItem('Authorization')
  29. if(userInfo) {
  30. config.headers['Authorization'] = userInfo
  31. }
  32. return config;
  33. },
  34. function(error) {
  35. // Do something with request error
  36. return Promise.reject(error);
  37. }
  38. );
  39. // Add a response interceptor
  40. _axios.interceptors.response.use(
  41. function(response) {
  42. // Do something with response data
  43. if(response.data.code == 403 || response.data.code == 403) {
  44. window.localStorage.removeItem('userInfo') // 删除用户信息
  45. if(browser().android || browser().ios) {
  46. // android ios 注册方法
  47. DAYA.postMessage(JSON.stringify({api: 'back'}))
  48. }
  49. }
  50. return response;
  51. },
  52. function(error) {
  53. // Do something with response error
  54. return Promise.reject(error);
  55. }
  56. );
  57. // Plugin.install = function(Vue) {
  58. // Vue.axios = _axios;
  59. // window.axios = _axios;
  60. // Object.defineProperties(Vue.prototype, {
  61. // axios: {
  62. // get() {
  63. // return _axios;
  64. // }
  65. // },
  66. // $axios: {
  67. // get() {
  68. // return _axios;
  69. // }
  70. // },
  71. // });
  72. // };
  73. // Vue.use(Plugin)
  74. export default _axios