抖音小程序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.

121 lines
3.1 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. // address ='https://ctest.malls.iformall.com/C/api';//测试
  17. // address ='https://c.jcwise.cn/tt/api';//生产
  18. /**
  19. * 请求头
  20. */
  21. headers = {
  22. "Content-Type": "application/json;charset=UTF-8",
  23. token: "",
  24. // token:"3ab2afa2-f704-4086-b6e5-ad0715c7e2a1:1027:tt-cuser"
  25. };
  26. /**
  27. * 设置token
  28. * @param {*} token
  29. */
  30. setToken(token) {
  31. this.headers.token = token;
  32. }
  33. /**
  34. * 获取数据
  35. * @param {url,data,headers} param0
  36. */
  37. get({ url, data, headers }) {
  38. headers = { ...this.headers, ...headers };
  39. url = `${this.address}${url}`;
  40. return new Promise((resolve, reject) => {
  41. tt.request({
  42. url: url,
  43. header: headers,
  44. data: data,
  45. method: "get",
  46. success: res => {
  47. this.responseMap(res, resolve, reject);
  48. },
  49. fail: err => {
  50. console.log(err)
  51. if (err.errMsg == 'request:fail timeout') {
  52. err.errMsg = '请求超时,请检查您的网络设置!'
  53. } else if (err.errMsg == 'request:fail'){
  54. err.errMsg = '未检查到您的网络,请检查您的网络设置!'
  55. } else if (err.errMsg == 'request:fail request connect error') {
  56. err.errMsg = '连接失败'
  57. }
  58. reject(err);
  59. }
  60. });
  61. });
  62. }
  63. /**
  64. * 提交数据
  65. * @param {url,data,headers} param0
  66. */
  67. post({ url, data, headers }) {
  68. headers = { ...this.headers, ...headers };
  69. url = `${this.address}${url}`;
  70. return new Promise((resolve, reject) => {
  71. tt.request({
  72. url: url,
  73. header: headers,
  74. data: data,
  75. method: "post",
  76. success: res => {
  77. this.responseMap(res, resolve, reject);
  78. },
  79. fail: err => {
  80. if (err.errMsg == 'request:fail timeout') {
  81. err.errMsg = '请求超时,请检查您的网络设置!'
  82. } else if (err.errMsg == 'request:fail') {
  83. err.errMsg = '未检查到您的网络,请检查您的网络设置!'
  84. } else if (err.errMsg == 'request:fail request connect error') {
  85. err.errMsg = '连接失败'
  86. }
  87. reject(err);
  88. },
  89. complete: res => {}
  90. });
  91. });
  92. }
  93. /**
  94. * 过滤 请求信息
  95. * @param {*} res
  96. * @param {*} resolve
  97. * @param {*} reject
  98. */
  99. responseMap = (res, resolve, reject) => {
  100. // 网络状态码200
  101. if (res.statusCode == 200) {
  102. // 服务器code 200 成功
  103. if (res.data.code == 200) {
  104. resolve(res.data);
  105. } else if (res.data.code == 1052) {
  106. tt.reLaunch({
  107. url: '/pages/index/index'
  108. })
  109. } else {
  110. reject(res.data);
  111. }
  112. } else {
  113. console.log("请求出错:", res);
  114. reject(res.data);
  115. }
  116. };
  117. /** 日志 */
  118. log(url, body, headers) {}
  119. }
  120. module.exports = new HttpBasics();