request.js 2.0 KB

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