request.js 3.8 KB

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