邃芒智像相册
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 

136 行
3.4 KiB

  1. class request {
  2. constructor(address) {
  3. if (address) {
  4. this.address = address;
  5. }
  6. }
  7. /**
  8. * 配置
  9. */
  10. /**
  11. * @description 基地址
  12. * @returns {string} https://zhixiangtest.malls.iformall.com/C
  13. */
  14. baseUrl = 'https://zhixiangtest.malls.iformall.com/C'
  15. /**
  16. * 请求路径前缀
  17. */
  18. address = 'https://zhixiangtest.malls.iformall.com/C';
  19. /**
  20. * 请求头
  21. */
  22. headers = {
  23. "Content-Type": "application/json;charset=UTF-8",
  24. token: "",
  25. tenantId: ""
  26. };
  27. /**
  28. * @description 设置请求头
  29. * @param {*} data token , tenantId
  30. */
  31. setHead(token, tenantId) {
  32. this.headers.token = token;
  33. this.headers.tenantId = tenantId;
  34. }
  35. /**
  36. * @description 小程序appId
  37. * @returns {string} wxf288a9b8167ff2ca
  38. */
  39. appId = 'wxf288a9b8167ff2ca';
  40. /**
  41. * @description get
  42. * @param {*}param url & param
  43. * @method Request.get({url: url}).then(res=>{}).catch(err=>{})
  44. */
  45. get({ url, data, headers }) {
  46. headers = { ...this.headers, ...headers };
  47. url = `${this.address}${url}`;
  48. return new Promise((resolve, reject) => {
  49. wx.request({
  50. url: url,
  51. header: headers,
  52. data: data,
  53. method: "Get",
  54. success: res => {
  55. this.responseMap(res, resolve, reject);
  56. },
  57. fail: err => {
  58. console.log(err)
  59. if (err.errMsg == 'request:fail timeout') {
  60. err.errMsg = '请求超时,请检查您的网络设置!'
  61. } else if (err.errMsg == 'request:fail') {
  62. err.errMsg = '未检查到您的网络,请检查您的网络设置!'
  63. } else if (err.errMsg == 'request:fail request connect error') {
  64. err.errMsg = '连接失败'
  65. }
  66. reject(err);
  67. }
  68. });
  69. });
  70. }
  71. /**
  72. * @description post
  73. * @param {*}param url & param
  74. * @method Request.post({url: url,data: {}}).then(res=>{}).catch(err=>{})
  75. */
  76. post({ url, data, headers }) {
  77. headers = { ...this.headers, ...headers };
  78. url = `${this.address}${url}`;
  79. return new Promise((resolve, reject) => {
  80. wx.request({
  81. url: url,
  82. header: headers,
  83. data: data,
  84. method: "POST",
  85. success: res => {
  86. this.responseMap(res, resolve, reject);
  87. },
  88. fail: err => {
  89. if (err.errMsg == 'request:fail timeout') {
  90. err.errMsg = '请求超时,请检查您的网络设置!'
  91. } else if (err.errMsg == 'request:fail') {
  92. err.errMsg = '未检查到您的网络,请检查您的网络设置!'
  93. } else if (err.errMsg == 'request:fail request connect error') {
  94. err.errMsg = '连接失败'
  95. }
  96. reject(err);
  97. },
  98. complete: res => { }
  99. });
  100. });
  101. }
  102. /**
  103. * 过滤 请求信息
  104. * @param {*} res
  105. * @param {*} resolve
  106. * @param {*} reject
  107. */
  108. responseMap = (res, resolve, reject) => {
  109. // 网络状态码200
  110. if (res.statusCode == 200) {
  111. // 服务器code 200 成功
  112. if (res.data.code == 200) {
  113. resolve(res.data);
  114. } else if (res.data.code == 1052) {
  115. wx.reLaunch({
  116. url: '/pages/index/index'
  117. })
  118. } else {
  119. reject(res.data);
  120. }
  121. } else {
  122. console.log("请求出错:", res);
  123. reject(res.data);
  124. }
  125. };
  126. /** 日志 */
  127. log(url, body, headers) { }
  128. }
  129. module.exports = new request();