request.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. /** axios封装
  2. * 请求拦截、相应拦截、错误统一处理
  3. */
  4. const httpRequest = axios.create({
  5. // baseURL: 'http://192.168.2.155:8080', // 李瑞投前
  6. // baseURL: 'http://192.168.2.111:8080', // 苏文投后
  7. // baseURL: 'http://192.168.2.147:8080', // 旭东中间大屏
  8. baseURL: 'http://172.21.3.68:8081', // SIT
  9. timeout: 3 * 60 * 1000, // 3分钟等待
  10. withCredentials: true, // 携带cookie
  11. })
  12. // 请求拦截器
  13. httpRequest.interceptors.request.use(
  14. function (config) {
  15. if (config.data && config.data.access_token) {
  16. config.headers['accessToken'] = config.data.access_token
  17. }
  18. if (config.params && config.params.access_token) {
  19. config.headers['accessToken'] = config.params.access_token
  20. }
  21. // if (!isLocalEnv()) {
  22. // if (getQueryVariable('token')) {
  23. // config.headers['access_token'] = getQueryVariable('token')
  24. // }
  25. // } else {
  26. // config.headers['access_token'] = localStorage.getItem('token')
  27. // // config.headers['access_token'] = '4b3ed521-f509-48d9-b907-ab127479df41'
  28. // }
  29. // // 上传文件
  30. // if (config.url == '/apiSys/oss/upload') {
  31. // config.headers['Content-Type'] = 'multipart/form-data'
  32. // } else {
  33. // config.headers['Content-Type'] = 'application/json'
  34. // }
  35. return config
  36. },
  37. function (error) {
  38. return Promise.reject(error)
  39. }
  40. )
  41. //响应拦截
  42. httpRequest.interceptors.response.use(
  43. function (response) {
  44. const res = response.data
  45. // if (res.code == 201) {
  46. // this.ELEMENT.Message.error(res.msg)
  47. // if (!isLocalEnv()) {
  48. // // 跳登录页
  49. // window.location = window.location.origin
  50. // } else {
  51. // localEnvLogin()
  52. // }
  53. // }
  54. return response
  55. },
  56. function (error) {
  57. this.ELEMENT.Message.error(error.message)
  58. return Promise.reject(error)
  59. }
  60. )
  61. function get (url, params) {
  62. return new Promise((resolve, reject) => {
  63. httpRequest
  64. .get(url, { params: params })
  65. .then(res => {
  66. resolve(res.data)
  67. })
  68. .catch(err => {
  69. reject(err.data)
  70. })
  71. })
  72. }
  73. // qs.stringify(data)
  74. function post (url, data, config) {
  75. return new Promise((resolve, reject) => {
  76. httpRequest
  77. .post(url, data, config)
  78. .then(res => {
  79. resolve(res.data)
  80. })
  81. .catch(err => {
  82. reject(err)
  83. })
  84. })
  85. }
  86. function postFile (url, blob) {
  87. return new Promise((resolve, reject) => {
  88. let formdata = new FormData()
  89. formdata.append('multipartFile', blob)
  90. httpRequest
  91. .post(url, formdata)
  92. .then(res => {
  93. resolve(res.data)
  94. })
  95. .catch(err => {
  96. reject(err)
  97. })
  98. })
  99. }
  100. function localEnvLogin () {
  101. post(
  102. '/apiSys/login',
  103. {
  104. username: 'admin',
  105. password: '1q2w3e4r5t',
  106. },
  107. {
  108. transformRequest: [
  109. function (data, headers) {
  110. // 将请求数据转换成功 formdata 接收格式
  111. headers['Content-Type'] = 'application/x-www-form-urlencoded'
  112. return stringify(data)
  113. },
  114. ],
  115. }
  116. ).then(res => {
  117. localStorage.setItem('token', res.data.token || getQueryVariable('token'))
  118. })
  119. }
  120. // 将参数转换成功 formdata 接收格式
  121. function stringify (data) {
  122. let ret = ''
  123. for (const it in data) {
  124. ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&'
  125. }
  126. ret = ret.substring(0, ret.lastIndexOf('&'))
  127. return ret
  128. }
  129. // 格式化日期
  130. function formatDate (time) {
  131. let date = time ? new Date(Number(time)) : new Date();
  132. let Y = date.getFullYear() + '-';
  133. let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
  134. let D = date.getDate() < 10 ? '0' + date.getDate() + ' ' : date.getDate() + ' ';
  135. let h = date.getHours() < 10 ? '0' + date.getHours() + ':' : date.getHours() + ':';
  136. let m = date.getMinutes() < 10 ? '0' + date.getMinutes() + ':' : date.getMinutes() + ':';
  137. let s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
  138. return Y + M + D + h + m + s;
  139. }