request.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import axios from 'axios'
  2. import base from './base'
  3. axios.defaults.baseURL = 'http://192.168.1.88:8081/anzhi/' //王宇浩的本地端口
  4. const http = axios.create({
  5. timeout: 1000 * 300,
  6. withCredentials: true,
  7. headers: {
  8. 'Content-Type': 'application/json; charset=utf-8'
  9. }
  10. })
  11. /**
  12. * 请求拦截
  13. */
  14. http.interceptors.request.use(config => {
  15. console.log("请求拦截--------", config);
  16. config.headers['token'] = window.localStorage.getItem('token') // 请求头带上token
  17. return config
  18. }, error => {
  19. return Promise.reject(error)
  20. })
  21. /**
  22. * 响应拦截
  23. */
  24. http.interceptors.response.use(response => {
  25. console.log("response---响应拦截------", response);
  26. if (response.data && response.data.code === 401) { // 401, token失效
  27. ElementUI.Message.error("tooken失效,请重新登录");
  28. let url = base.url + '/login'
  29. let appId = base.appId
  30. dd.openSchemeUrl({
  31. url: "taurus://taurusclient/action/open_app?appId=" + appId + "&type=1&offline=false&url=" + encodeURIComponent(url)
  32. }).then(res => { })
  33. } else if (response.data.code < 0) {
  34. if (response.data.code == -2) {
  35. return response
  36. } else {
  37. ElementUI.Message.error(response.data.msg);
  38. // 没有返回值会报错
  39. return "错误"
  40. }
  41. } else {
  42. return response
  43. }
  44. }, error => {
  45. console.log("error----------", error);
  46. })
  47. http.adornUrl = (s) => {
  48. return 'proxyApi'
  49. }
  50. export default http;