C端小程序
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

116 行
2.9 KiB

  1. const config = require('../config/config.js')
  2. class HttpBasics {
  3. constructor(address) {
  4. if (address) {
  5. this.address = address;
  6. }
  7. }
  8. /**
  9. * 配置
  10. */
  11. config = config;
  12. /**
  13. * 请求路径前缀
  14. */
  15. address = config.url
  16. /**
  17. * 请求头
  18. */
  19. headers = {
  20. "Content-Type": "application/json;charset=UTF-8",
  21. "token": ""
  22. };
  23. /**
  24. * 设置token
  25. * @param {*} token
  26. */
  27. setToken(token) {
  28. this.headers.token = token;
  29. }
  30. /**
  31. * 获取数据
  32. * @param {url,data,headers} param0
  33. */
  34. get({ url, data, headers }) {
  35. headers = { ...this.headers, ...headers };
  36. url = `${this.address}${url}`;
  37. // wx.showLoading({
  38. // title: 'loading...',
  39. // })
  40. return new Promise((resolve, reject) => {
  41. wx.request({
  42. url: url,
  43. header: headers,
  44. data: data,
  45. method: "Get",
  46. success: (res) => {
  47. // wx.hideLoading();
  48. this.responseMap(res, resolve, reject)
  49. },
  50. fail: (err) => {
  51. // wx.hideLoading();
  52. reject(err)
  53. },
  54. complete: (res) => {
  55. }
  56. })
  57. })
  58. }
  59. /**
  60. * 提交数据
  61. * @param {url,data,headers} param0
  62. */
  63. post({ url, data, headers }) {
  64. headers = { ...this.headers, ...headers };
  65. url = `${this.address}${url}`;
  66. // wx.showLoading({
  67. // title: 'loading...',
  68. // })
  69. return new Promise((resolve, reject) => {
  70. wx.request({
  71. url: url,
  72. header: headers,
  73. data: data,
  74. method: "POST",
  75. success: (res) => {
  76. // wx.hideLoading();
  77. this.responseMap(res, resolve, reject)
  78. },
  79. fail: (err) => {
  80. // wx.hideLoading();
  81. reject(err)
  82. },
  83. complete: (res) => {
  84. }
  85. })
  86. })
  87. }
  88. /**
  89. * 过滤 请求信息
  90. * @param {*} res
  91. * @param {*} resolve
  92. * @param {*} reject
  93. */
  94. responseMap=(res, resolve, reject)=> {
  95. // 网络状态码200
  96. if (res.statusCode == 200) {
  97. // 服务器code 200 成功
  98. if (res.data.code == 200) {
  99. resolve(res.data.data);
  100. } else {
  101. wx.hideLoading();
  102. wx.showToast({
  103. title: res.data.message
  104. })
  105. reject(res.data.message);
  106. }
  107. } else {
  108. console.error("请求出错:", res);
  109. reject(res.errMsg);
  110. }
  111. }
  112. /** 日志 */
  113. log(url, body, headers) {
  114. }
  115. }
  116. module.exports = new HttpBasics();