request.js 1.4 KB

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