邃芒智像相册
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

139 lines
3.4 KiB

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