http.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import axios from 'axios'
  2. import {DOMIN} from './server.js'
  3. import Vue from 'vue'
  4. Vue.prototype.DOMIN = DOMIN
  5. // axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8';
  6. // axios.defaults.timeout = 30000;
  7. // axios.defaults.baseURL = DOMIN
  8. // axios.defaults.withCredentials = true //axios请求时携带session
  9. // axios.defaults.crossDomain = true
  10. // axios请求前的拦截
  11. axios.interceptors.request.use(req => {
  12. let session = localStorage.getItem('session');
  13. let url = req.url.split('=')[1]
  14. if (url != 'user.login.login_user' && url != 'pest.pests.insect_discern' &&
  15. url != 'pest.pests.plant_discern' &&
  16. url != 'pest.pests.pests_contrast' && url != 'pest.pests.pests_expert_img' &&
  17. url != 'pest.pests.pests_img' && url != 'recognizationSys' &&
  18. url != 'base.bases.base_photo' && url != 'pest.warning_record.rolemanage_img' &&
  19. url != 'home.homes.personal_photo' && url != 'ascend.ascend_manage.product_info' &&
  20. url != 'ascend.ascend_manage.quality_info' && url != 'ascend.ascend_manage.grow_info' &&
  21. url != 'ascend.ascend_manage.all_ascend' && url != 'after_sale.after_sale_manage.device_check' &&
  22. url != 'after_sale.after_sale_manage.aftersale_apply') {
  23. req.data = req.data ? req.data + '&token=' + session : 'token=' + session;
  24. }
  25. return req
  26. }, error => {
  27. return Promise.reject(error)
  28. })
  29. //axios请求后的拦截
  30. axios.interceptors.response.use(res => {
  31. if (res.data.data) {
  32. res.data.data.session_key && localStorage.setItem('session', res.data.data.session_key);
  33. }
  34. return res
  35. }, error => {
  36. // let _res = error.response;
  37. // console.log('response_error');
  38. // console.log(error);
  39. // switch(_res.states){
  40. // case 401:
  41. // sessionStorage.removeItem('session');
  42. // //跳转到登录页面
  43. // }
  44. // router.push('/login')
  45. return Promise.reject(error)
  46. })