api.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import axios from 'axios';
  2. // var baseURL='https://www.scxjc.club'
  3. var baseURL = ''
  4. axios.interceptors.request.use(
  5. config => {
  6. const token = localStorage.getItem('token');
  7. // if (config.url.indexOf('downloadzip') >= 0) {
  8. if (token) { // 判断是否存在token,如果存在的话,则每个http header都加上token
  9. config.headers.Authorization = `${token}`;
  10. } else {
  11. //未登录
  12. window.location.hash = "/login";
  13. }
  14. // }
  15. return config;
  16. },
  17. err => {
  18. return Promise.reject(err);
  19. });
  20. axios.interceptors.response.use(function (response) {
  21. // console.log(response.headers)
  22. // IE 8-9
  23. if (response.data == null && response.config.responseType === 'json' && response.request.responseText != null) {
  24. try {
  25. // eslint-disable-next-line no-param-reassign
  26. response.data = JSON.parse(response.request.responseText);
  27. } catch (e) {
  28. // ignored
  29. }
  30. }
  31. // 对响应数据做点什么
  32. if (response.data.code == 401) {
  33. window.location.hash = "/login";
  34. }
  35. if (response.data.code == 305) {
  36. window.location.hash = "/";
  37. }
  38. return response;
  39. }, function (error) {
  40. // 对响应错误做点什么
  41. if (error.request.status == 403) {
  42. window.location.hash = "/login";
  43. }
  44. // console.log(Object.getOwnPropertyNames(error))
  45. // console.log(error.request,error.message)
  46. return Promise.reject(error);
  47. });
  48. export default {
  49. //登录
  50. login: params => {
  51. return axios.post(`${baseURL}/api/account/login`, params);
  52. },
  53. getCode: params => {
  54. return axios.get(`${baseURL}/api/account/imgcode`)
  55. }
  56. }