request.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. import store from '@/store'
  2. import errorCode from '@/config/errorCode'
  3. import axios from 'axios'
  4. import mpAdapter from 'axios-miniprogram-adapter'
  5. axios.defaults.adapter = mpAdapter
  6. import mock from './mock'
  7. const baseUrl = 'https://zzjs.zzxcx.net/prod-api';
  8. // 创建axios实例
  9. const service = axios.create({
  10. // axios中请求配置有baseURL选项,表示请求URL公共部分
  11. //#ifdef MP-WEIXIN
  12. //baseURL: process.env.NODE_ENV === 'development' ? 'https://jpcj-admin1.zzxcx.net/stage-api' : 'https://jpcj-admin.zzxcx.net/prod-api',
  13. baseURL: process.env.NODE_ENV === 'development' ? 'https://nbjk1.zzxcx.net/nbjk-admin/' : 'https://1a0j71808.imdo.co/',
  14. //#endif
  15. //#ifdef MP-TOUTIAO
  16. baseURL: process.env.NODE_ENV === 'development' ? 'https://sdjk-admin1.zzxcx.net/stage-api' : 'https://sdjk-admin.zzxcx.net/prod-api',
  17. //#endif
  18. })
  19. mock.init(service)
  20. // request拦截器
  21. service.interceptors.request.use(
  22. async config => {
  23. // 是否需要设置 token
  24. if (config.headers.isLogin) {
  25. return config
  26. }
  27. if (await store.dispatch("getToken")) {
  28. console.log(store.state)
  29. config.headers['Authorization'] = 'Bearer ' + store.state.user.tokenObj.token // 让每个请求携带自定义token 请根据实际情况自行修改
  30. }
  31. else {
  32. }
  33. return config
  34. },
  35. error => {
  36. Promise.reject(error)
  37. }
  38. )
  39. // 响应拦截器
  40. service.interceptors.response.use(
  41. res => {
  42. // 未设置状态码则默认成功状态
  43. const code = res.data.code || 200;
  44. // 获取错误信息
  45. const msg = errorCode[code] || res.data.msg || errorCode['default']
  46. //重置Authorization时间
  47. if (code !== 401) store.commit('REFRESH_TOKEN')
  48. if (code !== 200) {
  49. if (code == 500) {
  50. console.log('code' + code + ':' + msg)
  51. wx.showToast({
  52. title: 'code' + code + ':系统错误',
  53. icon: 'none'
  54. })
  55. } else if(code==502){
  56. console.log('code' + code + ':' + msg)
  57. wx.showToast({
  58. title: msg,
  59. icon: 'none'
  60. })
  61. }
  62. else{
  63. console.log('code' + code + ':' + msg)
  64. }
  65. }
  66. return res.data
  67. },
  68. error => {
  69. let {
  70. message
  71. } = error;
  72. console.log(error, 'error')
  73. if (!message) {
  74. message = "未知错误"
  75. wx.showToast({
  76. title: message,
  77. icon: 'none'
  78. })
  79. return Promise.reject(error)
  80. }
  81. if (message == "Network Error") {
  82. message = "后端接口连接异常";
  83. } else if (message.includes("timeout")) {
  84. message = "系统接口请求超时";
  85. } else if (message.includes("Request failed with status code")) {
  86. message = "系统接口" + message.substr(message.length - 3) + "异常";
  87. }
  88. wx.showToast({
  89. title: message,
  90. icon: 'none'
  91. })
  92. return Promise.reject(error)
  93. }
  94. )
  95. export default service