aa
jiangping
2024-08-02 7dc29ed74ebaa8a0e66f68264d9a13f95dc3af21
wechat_jiaxuan/pages/userinfo/collect.js
@@ -1,37 +1,135 @@
// pages/userinfo/collect.js
import {
  collectLikePage
} from '../../api/index'
import {
  eventBus
} from '../../utils/eventBus'
Page({
  /**
   * 页面的初始数据
   */
  data: {
    activeTabs: '0'
  },
    activeTabs: 'product_intro',
  tabsChange(e) {
    const activeTabs = e.currentTarget.dataset.val
    this.setData({ activeTabs })
  },
  handleDetail(e) {
    wx.navigateTo({
      url: '/pages/detailDis/product',
    })
    dataList: [],
    total: 0,
    pageNum: 1,
    pageSize: 10,
  },
  onLoad(options) {
    this.getList()
  },
  onShow() {
    const dataList = this.data.dataList
    eventBus.once('caseDeBack', (info) => {
      const temp = dataList.filter(item => {
        if (item.id === info.id) {
          item.isCollection = info.isCollection
          item.viewCount++
        }
        if(item.isCollection) return item
      })
      this.setData({ dataList: temp})
    })
    eventBus.once('productDeBack', (info) => {
      const temp = dataList.filter(item => {
        if (item.id === info.id) {
          item.isCollection = info.isCollection
          item.viewCount++
        }
        if(item.isCollection) return item
      })
      this.setData({ dataList: temp})
    })
    eventBus.once('realpicDeBack', (info) => {
      const temp = dataList.filter(item => {
        if (item.id === info.id) {
          item.isCollection = info.isCollection
          item.viewCount++
        }
        if(item.isCollection) return item
      })
      this.setData({ dataList: temp})
    })
  },
  onPullDownRefresh: function () {
    console.log('下拉刷新');
    this.setData({
      dataList: [],
      pageNum: 1,
      total: 0
    })
    wx.stopPullDownRefresh()
    this.getList()
  },
  onReachBottom() {
    console.log('触底事件');
    const {
      total,
      dataList,
      pageNum
    } = this.data
    if (total > dataList.length) {
      this.setData({
        pageNum: pageNum + 1
      })
      this.getList()
    } else {
      wx.showToast({
        title: '暂无更多数据',
        icon: 'none'
      })
    }
  },
  tabsChange(e) {
    const activeTabs = e.currentTarget.dataset.val
    this.setData({
      activeTabs,
      dataList: [],
      total: 0,
      pageNum: 1
    })
    this.getList()
  },
  handleDetail(e) {
    const id = e.currentTarget.dataset.id
    const {
      activeTabs
    } = this.data
    let url = ''
    if (activeTabs == 'product_intro') {
      url = '/pages/detailDis/product'
    } else if (activeTabs == 'whole_case') {
      url = '/pages/detailDis/case'
    } else {
      url = '/pages/detailDis/realpic'
    }
    wx.navigateTo({
      url: `${url}?id=${id}`,
    })
  },
  getList() {
    const {
      pageSize,
      pageNum,
      activeTabs
    } = this.data
    collectLikePage({
      businessCategory: 'collect',
      businessType: activeTabs,
      pageSize,
      pageNum
    }).then(res => {
      if (res.data) {
        this.setData({
          dataList: [...this.data.dataList, ...res.data.records || []],
          total: res.data.total
        })
      }
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {
  },
  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
  },
@@ -48,20 +146,9 @@
  onUnload() {
  },
  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
  },
  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
  },
  /**
   * 用户点击右上角分享