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

179 行
4.4 KiB

  1. // pages/index/sw/index.js
  2. let config = require("../../../config/config.js");
  3. let Http = require("../../../utils/HttpBasics");
  4. let app = getApp();
  5. // 请求数据
  6. Component({
  7. /**
  8. * 组件的属性列表
  9. */
  10. properties: {},
  11. /**
  12. * 组件的初始数据
  13. */
  14. data: {
  15. tabs: [],
  16. list: [],
  17. flag: "",
  18. loading: true, //"上拉加载"的变量,默认false,隐藏
  19. content: "",
  20. return_list: [],
  21. current: 0,
  22. current_scroll: 0,
  23. pageNum: 1, // 设置加载的第几次,默认是第一次
  24. pageSize: 10, //返回数据的个数
  25. searchLoadingComplete: false, //“没有数据”的变量,默认false,隐藏
  26. allow_load: true // 是否允许继续加载标识 默认 true 允许,false 加载完成
  27. },
  28. /**
  29. * 组件的方法列表
  30. */
  31. methods: {
  32. handleChange({
  33. detail
  34. }) {
  35. this.setData({
  36. current: detail.key
  37. });
  38. },
  39. handleChangeScroll({
  40. detail
  41. }) {
  42. let that = this;
  43. // 切换tab时重新初始化下list 和 allow_load
  44. that.setData({
  45. current_scroll: detail.key,
  46. flag: "click",
  47. list: [],
  48. allow_load: true
  49. });
  50. this.getList(detail.key, 1);
  51. var val = detail.key;
  52. //通过这个传递数据
  53. var myEventDetail = {
  54. val: val,
  55. pageNum: 1
  56. };
  57. // detail对象,提供给事件监听函数
  58. this.triggerEvent("myevent", myEventDetail);
  59. },
  60. getList(key, pageNum) {
  61. var that = this;
  62. app.couponListCallback = token => {
  63. Http.setToken(token);
  64. // 券list获取
  65. if (that.data.allow_load) {
  66. that.setData({
  67. loading: true,
  68. content: '小主,我在玩命加载中...'
  69. })
  70. // 根据 key == 0 区分全部或其它tab,决定是否传参数 business
  71. if (key == 0) {
  72. var param = {
  73. pageNum: pageNum,
  74. pageSize: 6,
  75. targetAd: 1
  76. };
  77. } else {
  78. var param = {
  79. pageNum: pageNum,
  80. pageSize: 6,
  81. business: key,
  82. targetAd: 1
  83. };
  84. }
  85. // 请求接口
  86. Http.get({
  87. url: config.api.couponChannelList,
  88. data: param
  89. }).then(res => {
  90. console.log(res);
  91. /**
  92. * 加载完成
  93. */
  94. if (pageNum >= res.data.pages) {
  95. if(res.data.pages == 0||res.data.pages == 1){
  96. that.setData({
  97. allow_load: true,
  98. loading: false,
  99. content: ""
  100. });
  101. }else{
  102. that.setData({
  103. allow_load: false,
  104. loading: true,
  105. content: "——— 再拉裤子就掉了啦 ———"
  106. });
  107. }
  108. }
  109. console.log(pageNum);
  110. if (pageNum == 1) {
  111. that.setData({
  112. list: [],
  113. })
  114. }
  115. var tmpArr = that.data.list;
  116. tmpArr.push.apply(tmpArr, res.data.list);
  117. that.setData({
  118. list: tmpArr
  119. })
  120. console.log(tmpArr);
  121. });
  122. setTimeout(function () {
  123. that.setData({
  124. loading: false,
  125. })
  126. }, 1400);
  127. }
  128. else {
  129. that.setData({
  130. loading: true,
  131. content: "——— 再拉裤子就掉了啦 ———"
  132. })
  133. setTimeout(function () {
  134. that.setData({
  135. loading: false,
  136. })
  137. }, 1400)
  138. }
  139. };
  140. if (app.globalData.token && app.globalData.token != null) {
  141. app.couponListCallback(app.globalData.token);
  142. }
  143. }
  144. },
  145. ready() {
  146. let that = this;
  147. app.businessListCallback = token => {
  148. Http.setToken(token);
  149. // business获取
  150. Http.get({
  151. url: config.api.businessList,
  152. data: {
  153. pageNum: 1,
  154. pageSize: 15,
  155. type: 1
  156. }
  157. }).then(res => {
  158. that.setData({
  159. tabs: res.data.list
  160. });
  161. });
  162. };
  163. if (app.globalData.token && app.globalData.token != null) {
  164. app.businessListCallback(app.globalData.token);
  165. }
  166. that.setData({
  167. list: []
  168. })
  169. that.getList(0, 1);
  170. }
  171. });