request.js 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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. 'content-type': 'application/json',
  14. 'cache-control': 'no-cache',
  15. 'Access-Control-Allow-Headers': 'appId',
  16. 'Access-Control-Allow-Methods': 'POST, GET, OPTIONS',
  17. 'Access-Control-Max-Age': 86400,
  18. }
  19. let isRequest = true
  20. if (getToken()) {
  21. config.header['Authorization'] = 'Bearer ' + getToken()
  22. }
  23. uni.hideKeyboard()
  24. if (isRequest) {
  25. return new Promise((resolve, reject) => {
  26. uni.request({
  27. header: config.header,
  28. method: config.method.toUpperCase() || 'GET',
  29. dataType: 'json',
  30. timeout: config.timeout || 30000,
  31. url: BASE_URL + config.url,
  32. data: config.data,
  33. }).then((res) => {
  34. if (res.statusCode === 200) {
  35. const {
  36. code,
  37. msg
  38. } = res.data
  39. if (code === 401) {
  40. uni.hideLoading()
  41. uni.showModal({
  42. title: '系统提示',
  43. content: '登录状态已过期,请重新登录',
  44. showCancel: false,
  45. success: function(res) {
  46. if (res.confirm) {
  47. uni.reLaunch({
  48. url: '/pages/login/index'
  49. })
  50. }
  51. }
  52. });
  53. } else if (code !== 200) {
  54. toast(msg)
  55. reject(code)
  56. }
  57. resolve(res.data)
  58. } else {
  59. toast('未知错误,请反馈给管理员')
  60. }
  61. }).catch(error => {
  62. console.log(error)
  63. let { message } = error
  64. if (message === 'Network Error') {
  65. message = '后端接口连接异常'
  66. } else if (message.includes('timeout')) {
  67. message = '系统接口请求超时'
  68. } else if (message.includes('Request failed with status code')) {
  69. message = '系统接口' + message.substr(message.length - 3) + '异常'
  70. }
  71. toast(message)
  72. reject(error)
  73. })
  74. })
  75. }
  76. }
  77. export default request