C端小程序
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.

118 lines
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. return new Promise((resolve, reject) => {
  38. wx.request({
  39. url: url,
  40. header: headers,
  41. data: data,
  42. method: "Get",
  43. success: res => {
  44. this.responseMap(res, resolve, reject);
  45. },
  46. fail: err => {
  47. console.log(err)
  48. if (err.errMsg == 'request:fail timeout') {
  49. err.errMsg = '请求超时,请检查您的网络设置!'
  50. } else if (err.errMsg == 'request:fail'){
  51. err.errMsg = '未检查到您的网络,请检查您的网络设置!'
  52. } else if (err.errMsg == 'request:fail request connect error') {
  53. err.errMsg = '连接失败'
  54. }
  55. reject(err);
  56. }
  57. });
  58. });
  59. }
  60. /**
  61. * 提交数据
  62. * @param {url,data,headers} param0
  63. */
  64. post({ url, data, headers }) {
  65. headers = { ...this.headers, ...headers };
  66. url = `${this.address}${url}`;
  67. return new Promise((resolve, reject) => {
  68. wx.request({
  69. url: url,
  70. header: headers,
  71. data: data,
  72. method: "POST",
  73. success: res => {
  74. this.responseMap(res, resolve, reject);
  75. },
  76. fail: err => {
  77. if (err.errMsg == 'request:fail timeout') {
  78. err.errMsg = '请求超时,请检查您的网络设置!'
  79. } else if (err.errMsg == 'request:fail') {
  80. err.errMsg = '未检查到您的网络,请检查您的网络设置!'
  81. } else if (err.errMsg == 'request:fail request connect error') {
  82. err.errMsg = '连接失败'
  83. }
  84. reject(err);
  85. },
  86. complete: res => {}
  87. });
  88. });
  89. }
  90. /**
  91. * 过滤 请求信息
  92. * @param {*} res
  93. * @param {*} resolve
  94. * @param {*} reject
  95. */
  96. responseMap = (res, resolve, reject) => {
  97. // 网络状态码200
  98. if (res.statusCode == 200) {
  99. // 服务器code 200 成功
  100. if (res.data.code == 200) {
  101. resolve(res.data);
  102. } else if (res.data.code == 1052) {
  103. wx.reLaunch({
  104. url: '/pages/index/index'
  105. })
  106. } else {
  107. reject(res.data);
  108. }
  109. } else {
  110. console.log("请求出错:", res);
  111. reject(res.data);
  112. }
  113. };
  114. /** 日志 */
  115. log(url, body, headers) {}
  116. }
  117. module.exports = new HttpBasics();