C端小程序
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

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