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.

171 line
4.2 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. that.setData({
  96. allow_load: false,
  97. loading: true,
  98. content: "——— 在拉裤子就掉了啦 ———"
  99. });
  100. console.log("我已经加载完毕")
  101. }
  102. console.log(pageNum);
  103. if(pageNum ==1){
  104. that.setData({
  105. list: []
  106. })
  107. }
  108. var tmpArr = that.data.list;
  109. tmpArr.push.apply(tmpArr,res.data.list);
  110. that.setData({
  111. list: tmpArr
  112. })
  113. console.log(tmpArr);
  114. });
  115. setTimeout(function () {
  116. that.setData({
  117. loading: false,
  118. })
  119. }, 1400);
  120. } else {
  121. that.setData({
  122. loading: true,
  123. content: "——— 在拉裤子就掉了啦 ———"
  124. })
  125. setTimeout(function () {
  126. that.setData({
  127. loading: false,
  128. })
  129. }, 1400)
  130. }
  131. };
  132. if (app.globalData.token && app.globalData.token != null) {
  133. app.couponListCallback(app.globalData.token);
  134. }
  135. }
  136. },
  137. ready() {
  138. let that = this;
  139. app.businessListCallback = token => {
  140. Http.setToken(token);
  141. // business获取
  142. Http.get({
  143. url: config.api.businessList,
  144. data: {
  145. pageNum: 1,
  146. pageSize: 15,
  147. type: 1
  148. }
  149. }).then(res => {
  150. that.setData({
  151. tabs: res.data.list
  152. });
  153. });
  154. };
  155. if (app.globalData.token && app.globalData.token != null) {
  156. app.businessListCallback(app.globalData.token);
  157. }
  158. that.setData({
  159. list:[]
  160. })
  161. that.getList(0, 1);
  162. }
  163. });