request.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. import {
  2. getToken,
  3. setToken
  4. } from './auth.js'
  5. import {
  6. toast
  7. } from './common.js'
  8. import config from '../config.js'
  9. // const BASE_URL = config.service
  10. const BASE_URL = ''
  11. const request = config => {
  12. config.header = config.header || {}
  13. let isRequest = true
  14. if (getToken()) {
  15. config.header['Authorization'] = 'Bearer ' + getToken()
  16. }
  17. console.log("入参:", config, BASE_URL + config.url)
  18. if (isRequest) {
  19. return new Promise((resolve, reject) => {
  20. uni.request({
  21. header: config.header,
  22. method: config.method.toUpperCase() || 'GET',
  23. dataType: 'json',
  24. timeout: config.timeout || 30000,
  25. url: BASE_URL + config.url,
  26. data: config.data,
  27. }).then((res) => {
  28. console.log("请求返回:", res)
  29. if (res.statusCode === 200) {
  30. const {
  31. code,
  32. msg
  33. } = res.data
  34. if (code === 401) {
  35. uni.hideLoading()
  36. uni.showModal({
  37. title: '系统提示',
  38. content: '登录状态已过期,请重新登录',
  39. showCancel: false,
  40. success: function(res) {
  41. if (res.confirm) {
  42. uni.reLaunch({
  43. url: '/pages/login/index'
  44. })
  45. }
  46. }
  47. });
  48. } else if (code !== 200) {
  49. toast(msg)
  50. reject(code)
  51. }
  52. resolve(res.data)
  53. } else {
  54. toast('未知错误,请反馈给管理员')
  55. }
  56. }).catch(error => {
  57. console.log("error", error)
  58. let {
  59. message
  60. } = error
  61. if (message === 'Network Error') {
  62. message = '后端接口连接异常'
  63. } else if (message.includes('timeout')) {
  64. message = '系统接口请求超时'
  65. } else if (message.includes('Request failed with status code')) {
  66. message = '系统接口' + message.substr(message.length - 3) + '异常'
  67. }
  68. toast(message)
  69. reject(error)
  70. })
  71. })
  72. }
  73. }
  74. export default request