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.

200 line
4.8 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. /**
  100. * 加载完成
  101. */
  102. if (pageNum >= res.data.pages) {
  103. if(res.data.pages == 0||res.data.pages == 1){
  104. that.setData({
  105. allow_load: true,
  106. loading: false,
  107. content: ""
  108. });
  109. }else{
  110. that.setData({
  111. allow_load: false,
  112. loading: true,
  113. content: "——— 再拉裤子就掉了啦 ———"
  114. });
  115. }
  116. }
  117. if (pageNum == 1) {
  118. that.setData({
  119. list: [],
  120. })
  121. }
  122. var tmpArr = that.data.list;
  123. tmpArr.push.apply(tmpArr, res.data.list);
  124. that.setData({
  125. list: tmpArr
  126. })
  127. })
  128. .catch(err => {
  129. wx.showToast({
  130. title: err.errMsg,
  131. icon: 'none',
  132. duration: 2000,
  133. mask: false
  134. });
  135. })
  136. setTimeout(function () {
  137. that.setData({
  138. loading: false,
  139. })
  140. }, 1400);
  141. }
  142. else {
  143. that.setData({
  144. loading: true,
  145. content: "——— 再拉裤子就掉了啦 ———"
  146. })
  147. setTimeout(function () {
  148. that.setData({
  149. loading: false,
  150. })
  151. }, 1400)
  152. }
  153. };
  154. if (app.globalData.token && app.globalData.token != null) {
  155. app.couponListCallback(app.globalData.token);
  156. }
  157. }
  158. },
  159. ready() {
  160. let that = this;
  161. app.businessListCallback = token => {
  162. Http.setToken(token);
  163. // business获取
  164. Http.get({
  165. url: config.api.businessList,
  166. data: {
  167. pageNum: 1,
  168. pageSize: 15,
  169. type: 1
  170. }
  171. }).then(res => {
  172. that.setData({
  173. tabs: res.data.list
  174. });
  175. })
  176. .catch(err => {
  177. wx.showToast({
  178. title: err.errMsg,
  179. icon: 'none',
  180. duration: 2000,
  181. mask: false
  182. });
  183. })
  184. };
  185. if (app.globalData.token && app.globalData.token != null) {
  186. app.businessListCallback(app.globalData.token);
  187. }
  188. that.setData({
  189. list: []
  190. })
  191. that.getList(0, 1);
  192. }
  193. });