request.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. import axios from 'axios'
  2. import qs from 'qs'
  3. import store from '@/store'
  4. import auth from './auth'
  5. import router from '../router/index'
  6. import { Toast } from 'vant'
  7. import constant from '../common/js/constant'
  8. export function request(request, isFile) {
  9. // console.log('get token:', request.headers, store.getters.token, getToken())
  10. if (!request.headers) {
  11. request.headers = {}
  12. // request.headers = { 'Content-Type': 'application/json' }
  13. }
  14. // console.log('token:', auth.getToken())
  15. if (request.headers && auth.getToken()) {
  16. // ['RC-Token'] is a custom headers key
  17. request.headers['RC-Token'] = auth.getToken()
  18. }
  19. const requestBody = {
  20. method: request.method,
  21. url: constant.BASE_URI + request.url,
  22. data: qs.stringify(request.data)
  23. }
  24. if (isFile) {
  25. requestBody.data = request.data
  26. }
  27. if (request.headers) {
  28. requestBody.headers = request.headers
  29. requestBody.headers['MVVM-Key'] = String(new Date().getTime())
  30. requestBody.headers['xx'] = 'anything'
  31. requestBody.headers['Refere'] = 'xxxx'
  32. requestBody.headers['Cache-Control'] = 'no-cache'
  33. }
  34. // console.log('request: ', request)
  35. return new Promise((resolve, reject) => {
  36. axios.defaults.withCredentials = true
  37. axios(requestBody).then((res) => {
  38. if (res && res.status === 200) {
  39. const resData = res.data
  40. switch (resData.errno) {
  41. case 501:
  42. Toast(resData.errmsg)
  43. setTimeout(() => {
  44. store.dispatch('user/logout').then(() => {
  45. router.push('/login')
  46. })
  47. }, 1500)
  48. reject(resData.errmsg)
  49. break
  50. case 401:
  51. case 402:
  52. case 502:
  53. case 503:
  54. case 504:
  55. case 505:
  56. case 506:
  57. case 507:
  58. case 508:
  59. case 801:
  60. Toast(resData.errmsg)
  61. reject(resData.errmsg)
  62. break
  63. }
  64. resolve(resData)
  65. } else {
  66. console.log(res)
  67. reject(res)
  68. }
  69. }).catch((err, x) => {
  70. console.log(request.url + ' fail', err, x)
  71. Toast(err)
  72. reject(err, x)
  73. })
  74. })
  75. }
  76. export function request2(request) {
  77. if (!request.headers) {
  78. request.headers = {}
  79. }
  80. if (request.headers && auth.getToken()) {
  81. request.headers['RC-Token'] = auth.getToken()
  82. }
  83. const requestBody = {
  84. method: request.method,
  85. url: constant.BASE_URI + request.url,
  86. }
  87. requestBody.data = request.data
  88. if (request.headers) {
  89. requestBody.headers = request.headers
  90. requestBody.headers['MVVM-Key'] = String(new Date().getTime())
  91. requestBody.headers['xx'] = 'anything'
  92. requestBody.headers['Refere'] = 'xxxx'
  93. requestBody.headers['Cache-Control'] = 'no-cache'
  94. requestBody.headers['Content-Type'] = 'application/json;charset=UTF-8'
  95. }
  96. // console.log('request: ', request)
  97. return new Promise((resolve, reject) => {
  98. axios.defaults.withCredentials = true
  99. axios(requestBody).then((res) => {
  100. if (res && res.status === 200) {
  101. const resData = res.data
  102. switch (resData.errno) {
  103. case 501:
  104. Toast(resData.errmsg)
  105. setTimeout(() => {
  106. store.dispatch('user/logout').then(() => {
  107. router.push('/login')
  108. })
  109. }, 1500)
  110. reject(resData.errmsg)
  111. break
  112. case 401:
  113. case 402:
  114. case 502:
  115. case 503:
  116. case 504:
  117. case 505:
  118. case 506:
  119. case 507:
  120. case 508:
  121. case 801:
  122. Toast(resData.errmsg)
  123. reject(resData.errmsg)
  124. break
  125. }
  126. resolve(resData)
  127. } else {
  128. console.log(res)
  129. reject(res)
  130. }
  131. }).catch((err, x) => {
  132. console.log(request.url + ' fail', err, x)
  133. Toast(err)
  134. reject(err, x)
  135. })
  136. })
  137. }