抖音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.

144 lines
3.3 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. * @description 设置token
  28. * @param {*} token
  29. */
  30. setToken(token) {
  31. this.headers.token = token;
  32. }
  33. // /**
  34. // * @description 设置mallTenantId
  35. // * @param {*} mallTenantId
  36. // */
  37. // setMallTenantId(mallTenantId) {
  38. // this.headers.mallTenantId = mallTenantId;
  39. // }
  40. /**
  41. * 获取数据
  42. * @param {url,data,headers} param0
  43. */
  44. get({
  45. url,
  46. data,
  47. headers
  48. }) {
  49. headers = {
  50. ...this.headers,
  51. ...headers
  52. };
  53. url = `${this.address}${url}`;
  54. return new Promise((resolve, reject) => {
  55. tt.request({
  56. url: url,
  57. header: headers,
  58. data: data,
  59. method: "get",
  60. success: res => {
  61. this.responseMap(res, resolve, reject);
  62. },
  63. fail: err => {
  64. console.log(err)
  65. if (err.errMsg == 'request:fail timeout') {
  66. err.errMsg = '请求超时,请检查您的网络设置!'
  67. } else if (err.errMsg == 'request:fail') {
  68. err.errMsg = '未检查到您的网络,请检查您的网络设置!'
  69. } else if (err.errMsg == 'request:fail request connect error') {
  70. err.errMsg = '连接失败'
  71. }
  72. reject(err);
  73. }
  74. });
  75. });
  76. }
  77. /**
  78. * 提交数据
  79. * @param {url,data,headers} param0
  80. */
  81. post({
  82. url,
  83. data,
  84. headers
  85. }) {
  86. headers = {
  87. ...this.headers,
  88. ...headers
  89. };
  90. url = `${this.address}${url}`;
  91. return new Promise((resolve, reject) => {
  92. tt.request({
  93. url: url,
  94. header: headers,
  95. data: data,
  96. method: "post",
  97. success: res => {
  98. this.responseMap(res, resolve, reject);
  99. },
  100. fail: err => {
  101. if (err.errMsg == 'request:fail timeout') {
  102. err.errMsg = '请求超时,请检查您的网络设置!'
  103. } else if (err.errMsg == 'request:fail') {
  104. err.errMsg = '未检查到您的网络,请检查您的网络设置!'
  105. } else if (err.errMsg == 'request:fail request connect error') {
  106. err.errMsg = '连接失败'
  107. }
  108. reject(err);
  109. },
  110. complete: res => {}
  111. });
  112. });
  113. }
  114. /**
  115. * 过滤 请求信息
  116. * @param {*} res
  117. * @param {*} resolve
  118. * @param {*} reject
  119. */
  120. responseMap = (res, resolve, reject) => {
  121. // 网络状态码200
  122. if (res.statusCode == 200) {
  123. // 服务器code 200 成功
  124. if (res.data.code == 200) {
  125. resolve(res.data);
  126. } else if (res.data.code == 1052) {
  127. tt.reLaunch({
  128. url: '/pages/index/index'
  129. })
  130. } else {
  131. reject(res.data);
  132. }
  133. } else {
  134. console.log("请求出错:", res);
  135. reject(res.data);
  136. }
  137. };
  138. /** 日志 */
  139. log(url, body, headers) {}
  140. }
  141. module.exports = new HttpBasics();