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

156 行
3.9 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. return_list: [],
  19. current: 0,
  20. current_scroll: 0,
  21. pageNum: 1, // 设置加载的第几次,默认是第一次
  22. pageSize: 10, //返回数据的个数
  23. searchLoading: false, //"上拉加载"的变量,默认false,隐藏
  24. searchLoadingComplete: false, //“没有数据”的变量,默认false,隐藏
  25. allow_load: true // 是否允许继续加载标识 默认 true 允许,false 加载完成
  26. },
  27. /**
  28. * 组件的方法列表
  29. */
  30. methods: {
  31. handleChange({ detail }) {
  32. this.setData({
  33. current: detail.key
  34. });
  35. },
  36. handleChangeScroll({ detail }) {
  37. let that = this;
  38. // 切换tab时重新初始化下list 和 allow_load
  39. that.setData({
  40. current_scroll: detail.key,
  41. flag: "click",
  42. list: [],
  43. allow_load: true
  44. });
  45. this.getList(detail.key, 1);
  46. var val = detail.key;
  47. //通过这个传递数据
  48. var myEventDetail = {
  49. val: val,
  50. pageNum: 1
  51. };
  52. // detail对象,提供给事件监听函数
  53. this.triggerEvent("myevent", myEventDetail);
  54. },
  55. getList(key, pageNum) {
  56. var that = this;
  57. app.couponListCallback = token => {
  58. Http.setToken(token);
  59. // 券list获取
  60. if (that.data.allow_load) {
  61. /**
  62. * 用户在点击切换时 不showloadimg
  63. * 只有用户在下拉加载的时候 showloading
  64. */
  65. wx.showLoading({
  66. title: "飞速加载中"
  67. });
  68. // 根据 key == 0 区分全部或其它tab,决定是否传参数 business
  69. if (key == 0) {
  70. var param = {
  71. pageNum: pageNum,
  72. pageSize: 2,
  73. targetAd: 1
  74. };
  75. } else {
  76. var param = {
  77. pageNum: pageNum,
  78. pageSize: 2,
  79. business: key,
  80. targetAd: 1
  81. };
  82. }
  83. // 请求接口
  84. Http.get({
  85. url: config.api.couponChannelList,
  86. data: param
  87. }).then(res => {
  88. console.log(res);
  89. if (pageNum >= res.data.pages) {
  90. // wx.showToast({
  91. // title: "加载完成喽",
  92. // icon: "success"
  93. // });
  94. that.setData({
  95. allow_load: false
  96. });
  97. }
  98. /**
  99. * 先赋值后渲染页面
  100. * concat 不会改变原数组值
  101. * push 会改变原数组值,但不会一条一条插入,而是整个数组插入
  102. */
  103. that.data.list = that.data.list.concat(res.data.list);
  104. that.setData({
  105. list: that.data.list
  106. });
  107. });
  108. setTimeout(function() {
  109. wx.hideLoading();
  110. }, 1000);
  111. } else {
  112. console.info("allow_load==false 已禁止加载");
  113. }
  114. };
  115. if (app.globalData.token && app.globalData.token != null) {
  116. app.couponListCallback(app.globalData.token);
  117. }
  118. }
  119. },
  120. ready() {
  121. let that = this;
  122. app.businessListCallback = token => {
  123. Http.setToken(token);
  124. // business获取
  125. Http.get({
  126. url: config.api.businessList,
  127. data: {
  128. pageNum: 1,
  129. pageSize: 10,
  130. type: 1
  131. }
  132. }).then(res => {
  133. that.setData({
  134. tabs: res.data.list
  135. });
  136. });
  137. };
  138. if (app.globalData.token && app.globalData.token != null) {
  139. app.couponListCallback(app.globalData.token);
  140. }
  141. that.getList(0, 1);
  142. }
  143. });