axiosHelper.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. import axios from 'axios'
  2. import {
  3. getToken
  4. } from '@/common/auth.js'
  5. import store from '@/store/index.js'
  6. let url='';
  7. // uEnvDev
  8. if (process.env.NODE_ENV === 'development') {
  9. // TODO
  10. url='/api';
  11. }
  12. // uEnvProd
  13. if (process.env.NODE_ENV === 'production') {
  14. // TODO
  15. url='/api';
  16. }
  17. // create an axios instance
  18. const service = axios.create({
  19. baseURL: url, // url = base url + request url
  20. // withCredentials: true, // send cookies when cross-domain requests
  21. //crossDomain=true,
  22. //headers: {'Content-Type': 'application/x-www-form-urlencoded'},
  23. timeout: 20000 // request timeout
  24. })
  25. // request interceptor
  26. service.interceptors.request.use(
  27. config => {
  28. // do something before request is sent
  29. console.info("axioshelper request");
  30. //console.info(mget.getters);
  31. //console.info(store);
  32. if (store.state.isLogin) {
  33. // let each request carry token
  34. // ['X-Token'] is a custom headers key
  35. // please modify it according to the actual situation
  36. config.headers['X-Token'] = store.state.token.tokenStr;
  37. }
  38. console.info('axioshelper request',config);
  39. return config;
  40. },
  41. error => {
  42. // do something with request error
  43. console.log(error) // for debug
  44. return Promise.reject(error)
  45. }
  46. )
  47. // response interceptor
  48. service.interceptors.response.use(
  49. /**
  50. * If you want to get http information such as headers or status
  51. * Please return response => response
  52. */
  53. /**
  54. * Determine the request status by custom code
  55. * Here is just an example
  56. * You can also judge the status by HTTP Status Code
  57. */
  58. response => {
  59. console.info('axioshelper应答原始数据', response);
  60. const res = response.data;
  61. console.info('axioshelper应答response.data', res);
  62. if (res.code == 500) {
  63. uni.showModal({
  64. title: '系统错误',
  65. content: res.message,
  66. showCancel: false
  67. });
  68. return;
  69. }
  70. //console.info(res);
  71. return res;
  72. // if the custom code is not 20000, it is judged as an error.
  73. // if (!res) {
  74. // uni.showModal({
  75. // content: "登录超时,请重新登录",
  76. // showCancel: false
  77. // });
  78. // // 50008: Illegal token; 50012: Other clients logged in; 50014: Token expired;
  79. // console.info("message:" + res.message);
  80. // return Promise.reject(new Error(res.message || 'Error'))
  81. // } else {
  82. // console.info("正常登录");
  83. // return res;
  84. // }
  85. },
  86. error => {
  87. console.log('axioshelper 应答error' + error) // for debug
  88. uni.showModal({
  89. title: '错误',
  90. content: error.message,
  91. showCancel: false
  92. });
  93. return Promise.reject(error)
  94. }
  95. )
  96. export default service