axios.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. "use strict";
  2. import { Notify } from "vant";
  3. import Vue from 'vue';
  4. import axios from "axios";
  5. // Full config: https://github.com/axios/axios#request-config
  6. axios.defaults.baseURL = 'http://121.40.217.77:8084/';
  7. // axios.defaults.baseURL = 'https://121.40.217.77:8084/';
  8. console.log(axios.defaults.baseURL)
  9. // axios.defaults.baseURL = process.env.baseURL || process.env.apiUrl || '';
  10. // axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
  11. // axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
  12. let config = {
  13. // baseURL: process.env.baseURL || process.env.apiUrl || ""
  14. // timeout: 60 * 1000, // Timeout
  15. // withCredentials: true, // Check cross-site Access-Control
  16. };
  17. const _axios = axios.create(config);
  18. _axios.interceptors.request.use(
  19. function(config) {
  20. // Do something before request is sent
  21. return config;
  22. },
  23. function(error) {
  24. // Do something with request error
  25. return Promise.reject(error);
  26. }
  27. );
  28. // Add a response interceptor
  29. _axios.interceptors.response.use(
  30. function(response) {
  31. // Do something with response data
  32. console.log(response.data)
  33. if (!response.data.success) Notify({ type: 'danger', message: response.data.message })
  34. return response;
  35. },
  36. function(error) {
  37. // Do something with response error
  38. return Promise.reject(error);
  39. }
  40. );
  41. Plugin.install = function(Vue, options) {
  42. console.log(options)
  43. Vue.axios = _axios;
  44. window.axios = _axios;
  45. Object.defineProperties(Vue.prototype, {
  46. axios: {
  47. get() {
  48. return _axios;
  49. }
  50. },
  51. $axios: {
  52. get() {
  53. return _axios;
  54. }
  55. },
  56. });
  57. };
  58. Vue.use(Plugin)
  59. export default Plugin;