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

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