index.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. const App = getApp();
  2. Page({
  3. /**
  4. * 页面的初始数据
  5. */
  6. data: {
  7. // 商品分类列表
  8. categoryList: [],
  9. // 拼团商品列表
  10. goodsList: [],
  11. // 当前的分类id (0则代表首页)
  12. category_id: 0,
  13. scrollHeight: null,
  14. option: {}, // 当前页面参数
  15. list: {}, // 商品列表数据
  16. no_more: false, // 没有更多数据
  17. isLoading: true, // 是否正在加载中
  18. page: 1, // 当前页码
  19. },
  20. /**
  21. * 生命周期函数--监听页面加载
  22. */
  23. onLoad(options) {
  24. let _this = this;
  25. // Api:获取拼团首页
  26. _this.setListHeight();
  27. this.getIndexData();
  28. },
  29. /**
  30. * Api:获取拼团列表
  31. */
  32. getIndexData() {
  33. let _this = this;
  34. // 获取拼团首页
  35. App._get('sharing.index/index', {}, result => {
  36. _this.setData({
  37. categoryList: result.data.categoryList
  38. });
  39. });
  40. // Api:获取商品列表
  41. _this.getGoodsList();
  42. },
  43. /**
  44. * Api:切换导航栏
  45. */
  46. onSwitchTab(e) {
  47. let _this = this;
  48. // 第一步:切换当前的分类id
  49. _this.setData({
  50. category_id: e.currentTarget.dataset.id,
  51. goodsList: {},
  52. page: 1,
  53. no_more: false,
  54. isLoading: true,
  55. });
  56. // 第二步:更新当前的商品列表
  57. _this.getGoodsList();
  58. },
  59. /**
  60. * Api:获取商品列表
  61. */
  62. getGoodsList(isPage, page) {
  63. let _this = this;
  64. App._get('sharing.goods/lists', {
  65. page: page || 1,
  66. category_id: _this.data.category_id
  67. }, result => {
  68. let resList = result.data.list,
  69. dataList = _this.data.goodsList;
  70. if (isPage == true) {
  71. _this.setData({
  72. 'goodsList.data': dataList.data.concat(resList.data),
  73. isLoading: false,
  74. });
  75. } else {
  76. _this.setData({
  77. goodsList: resList,
  78. isLoading: false,
  79. });
  80. }
  81. });
  82. },
  83. /**
  84. * 跳转商品详情页
  85. */
  86. onTargetGoods(e) {
  87. wx.navigateTo({
  88. url: '../goods/index?goods_id=' + e.currentTarget.dataset.id
  89. });
  90. },
  91. /**
  92. * 下拉到底加载数据
  93. */
  94. bindDownLoad() {
  95. // 已经是最后一页
  96. if (this.data.page >= this.data.goodsList.last_page) {
  97. this.setData({
  98. no_more: true
  99. });
  100. return false;
  101. }
  102. // 加载下一页列表
  103. this.getGoodsList(true, ++this.data.page);
  104. },
  105. /**
  106. * 设置商品列表高度
  107. */
  108. setListHeight() {
  109. let systemInfo = wx.getSystemInfoSync(),
  110. rpx = systemInfo.windowWidth / 750, // 计算rpx
  111. tapHeight = Math.floor(rpx * 98), // tap高度
  112. scrollHeight = systemInfo.windowHeight - tapHeight; // swiper高度
  113. this.setData({
  114. scrollHeight
  115. });
  116. },
  117. /**
  118. * 分享当前页面
  119. */
  120. onShareAppMessage() {
  121. return {
  122. title: '拼团首页',
  123. path: "/pages/sharing/index/index?" + App.getShareUrlParams()
  124. };
  125. },
  126. /**
  127. * 分享到朋友圈
  128. * 本接口为 Beta 版本,暂只在 Android 平台支持,详见分享到朋友圈 (Beta)
  129. * https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share-timeline.html
  130. */
  131. onShareTimeline() {
  132. return {
  133. title: '拼团首页',
  134. path: "/pages/sharing/index/index?" + App.getShareUrlParams()
  135. };
  136. },
  137. })