request.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. class request {
  2. static BASE_URL = 'http://oapi.shpr.top:81/'
  3. static HEAD = {
  4. "Content-Type": "application/json",
  5. "token":'',
  6. }
  7. static constructor() {
  8. }
  9. /**
  10. * 设置统一的异常处理
  11. */
  12. static setErrorHandler(handler) {
  13. this._errorHandler = handler
  14. }
  15. /**
  16. * GET类型的网络请求
  17. */
  18. static getRequest(url, data, header = this.HEAD ) {
  19. const token = wx.getStorageSync('token')
  20. if (token) {
  21. header.token = token
  22. }
  23. return this.requestAll(url, data, header, 'GET')
  24. }
  25. /**
  26. * POST类型的网络请求
  27. */
  28. static postRequest(url, data, header = this.HEAD) {
  29. const token = wx.getStorageSync('token')
  30. if (token) {
  31. header.token = token
  32. }
  33. return this.requestAll(url, data, header, 'POST')
  34. }
  35. static upload(url, name, path, ortherData, header = this.HEAD){
  36. const token = wx.getStorageSync('token')
  37. if (token) {
  38. header.token = token
  39. }
  40. return new Promise((resolve, reject) => {
  41. wx.uploadFile({
  42. url: url,
  43. header: header,
  44. filePath: path,
  45. name: name,
  46. formData: ortherData,
  47. success: (res => {
  48. res.data = JSON.parse(res.data);
  49. if (res.data.code === 200) {
  50. //200: 服务端业务处理正常结束
  51. resolve(res.data)
  52. } else {
  53. wx.showToast({
  54. title: res.data.message,
  55. })
  56. //其它错误,提示用户错误信息
  57. if (this._errorHandler != null) {
  58. //如果有统一的异常处理,就先调用统一异常处理函数对异常进行处理
  59. this._errorHandler(res)
  60. }
  61. reject(res)
  62. }
  63. }),
  64. fail: (res => {
  65. if (this._errorHandler != null) {
  66. this._errorHandler(res)
  67. }
  68. wx.showToast({
  69. title: '网络异常请,稍后再试~',
  70. })
  71. reject(res)
  72. })
  73. })
  74. })
  75. }
  76. /**
  77. * 网络请求
  78. */
  79. static requestAll(url, data, header, method) {
  80. const _self = this
  81. wx.showLoading()
  82. return new Promise((resolve, reject) => {
  83. wx.request({
  84. url: url,
  85. data: data,
  86. header: header,
  87. method: method,
  88. success: (res => {
  89. wx.hideLoading()
  90. if (res.data.code === 200) {
  91. //200: 服务端业务处理正常结束
  92. resolve(res.data)
  93. } else {
  94. wx.showToast({
  95. title: res.data.message,
  96. })
  97. //其它错误,提示用户错误信息
  98. if (this._errorHandler != null) {
  99. //如果有统一的异常处理,就先调用统一异常处理函数对异常进行处理
  100. this._errorHandler(res)
  101. }
  102. reject(res)
  103. }
  104. }),
  105. fail: (res => {
  106. if (this._errorHandler != null) {
  107. this._errorHandler(res)
  108. }
  109. wx.showToast({
  110. title: '网络异常请,稍后再试~',
  111. })
  112. reject(res)
  113. })
  114. })
  115. })
  116. }
  117. }
  118. export default request