Http.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. class HTTP {
  2. constructor({
  3. baseUrl
  4. }) {
  5. this.baseUrl = baseUrl;
  6. }
  7. request({
  8. url,
  9. data = {},
  10. method = "POST",
  11. header = {
  12. 'content-type': 'application/json'
  13. },
  14. showLoading = ''
  15. }) {
  16. return new Promise((resolve, reject) => {
  17. this._request(url, resolve, reject, data, method, header, showLoading);
  18. })
  19. }
  20. _request(url, resolve, reject, data, method, header, showLoading) {
  21. if (showLoading) uni.showLoading({
  22. title: showLoading,
  23. mask: true
  24. })
  25. uni.request({
  26. url: this.baseUrl + '/yos/rest' + url,
  27. data: data,
  28. method: method,
  29. header: header,
  30. timeout: 60000,
  31. success: res => resolve(res.data),
  32. fial: err => reject(err),
  33. complete: (res) => {
  34. if (showLoading) uni.hideLoading()
  35. if (res.errMsg != 'request:ok') {
  36. uni.showToast({
  37. title: '网络异常,请稍后再试',
  38. icon: "none"
  39. })
  40. } else if (res.data.msg == '登陆状态已过期,请重新登陆!') {
  41. uni.redirectTo({
  42. url: '/pages/login/login',
  43. success() {
  44. uni.showToast({
  45. title: res.msg,
  46. icon: "none"
  47. })
  48. }
  49. });
  50. }
  51. }
  52. })
  53. }
  54. }
  55. export {
  56. HTTP
  57. }