request.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  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 request = config => {
  6. config.header = config.header || {}
  7. let isRequest = true
  8. if (getToken()) {
  9. config.header['Authorization'] = 'Bearer ' + getToken()
  10. // isRequest = true
  11. }
  12. // else {
  13. // uni.login({ // 获取用户登录凭证换取openid
  14. // provider: 'weixin',
  15. // success: (loginInfo) => {
  16. // login({ code: loginInfo.code }).then((response) => {
  17. // if (response.statusCode === 200) {
  18. // const { code, data, msg } = response.data
  19. // if (data && data.openId) {
  20. // setToken(data.token.access_token)
  21. // uni.setStorageSync('userInfo', data.sysUser)
  22. // config.header['Authorization'] = 'Bearer ' + getToken()
  23. // isRequest = true
  24. // } else {
  25. // uni.showModal({
  26. // title: '系统提示',
  27. // content: '该微信还未绑定账号,请去绑定',
  28. // showCancel: false,
  29. // success: function(res) {
  30. // if (res.confirm) {
  31. // uni.reLaunch({
  32. // url: '/pages/login/login'
  33. // })
  34. // }
  35. // }
  36. // });
  37. // }
  38. // } else {
  39. // toast('系统未知错误,请反馈给管理员')
  40. // }
  41. // })
  42. // }
  43. // })
  44. // }
  45. if (isRequest) {
  46. return new Promise((resolve, reject) => {
  47. uni.request({
  48. header: config.header,
  49. method: config.method.toUpperCase() || 'GET',
  50. dataType: 'json',
  51. timeout: config.timeout || 10000,
  52. url: BASE_URL + config.url,
  53. data: config.data,
  54. }).then((res) => {
  55. // console.log("请求返回:", res)
  56. if (res.statusCode === 200) {
  57. const { code, msg } = res.data
  58. if (code === 401) {
  59. uni.showModal({
  60. title: '系统提示',
  61. content: '登录状态已过期,请重新登录',
  62. showCancel: false,
  63. success: function(res) {
  64. if (res.confirm) {
  65. uni.reLaunch({
  66. url: '/pages/login/login'
  67. })
  68. }
  69. }
  70. });
  71. } else if (code !== 200) {
  72. toast(msg)
  73. reject(code)
  74. }
  75. resolve(res.data)
  76. } else {
  77. toast('未知错误,请反馈给管理员')
  78. }
  79. }).catch(error => {
  80. console.log("error", error)
  81. let { message } = error
  82. if (message === 'Network Error') {
  83. message = '后端接口连接异常'
  84. } else if (message.includes('timeout')) {
  85. message = '系统接口请求超时'
  86. } else if (message.includes('Request failed with status code')) {
  87. message = '系统接口' + message.substr(message.length - 3) + '异常'
  88. }
  89. toast(message)
  90. reject(error)
  91. })
  92. })
  93. }
  94. }
  95. export default request