ll
liukangdong
2024-08-27 2c08a98f7e85ec7c9376f27a7933e75e44d672f7
wechat_staff/pages/productVideo/index.js
@@ -5,14 +5,72 @@
   * 页面的初始数据
   */
  data: {
    activeIndex: -1,
    activeParam: [],
    tagCodes: [],
    category: [],
    tagCodes: '',
    tagCodes: [],
    acVid:'',
    viewIdList: [],
    dataList: [],
    total: 0,
    pageSize: 10,
    pageNum: 1,
  },
  changeShowParams(e) {
    const { category } = this.data
    const activeIndex = e.currentTarget.dataset.index
    if (activeIndex === this.data.activeIndex) {
      this.setData({ activeIndex: -1, activeParam: [] })
    } else {
      this.setData({
        activeIndex,
        activeParam: category[activeIndex].valueVos
      })
    }
  },
  cancelParam() {
    const { category } = this.data
    category.forEach(item => {
      item.tempParamIndex = item.paramIndex
      item.tempParamName =   item.paramName
      item.tempParamCode =  item.paramCode
    })
    this.setData({ activeParam: [],activeIndex: -1 ,category})
  },
  subParam() {
    const { category } = this.data
    var codes = []
    category.forEach(item => {
      item.paramIndex =  item.tempParamIndex
      item.paramName = item.tempParamName
      item.paramCode = item.tempParamCode
      if( item.paramIndex>-1 && item.tempParamCode){
        codes.push( item.tempParamCode)
      }
    })
    this.setData({tagCodes:codes})
    this.setData({ pageNum: 1, activeParam: [] ,activeIndex: -1, dataList: [], total: 0 })
    this.getList()
  },
  tagClick(e) {
    const code = e.currentTarget.dataset.code
    const paramIndex = e.currentTarget.dataset.index
    const { category, tagCodes, activeParam, activeIndex } = this.data
    const index = tagCodes.indexOf(code)
    if ( category[activeIndex].tempParamIndex==null || category[activeIndex].tempParamIndex != paramIndex) {
      category[activeIndex].tempParamIndex = paramIndex
      category[activeIndex].tempParamCode = code
      category[activeIndex].tempParamName = activeParam[paramIndex].labelValueName
    } else {
      category[activeIndex].tempParamIndex = -1
      category[activeIndex].tempParamCode = ''
      category[activeIndex].tempParamName = ''
    }
    this.setData({ category })
  },
  onReachBottom() {
    console.log('触底事件');
@@ -30,7 +88,7 @@
  getList() {
    const { pageSize, pageNum, tagCodes } = this.data
    getZhongTaiVideoPage({
      pageSize,pageNum, tagCodes: tagCodes ? [tagCodes] : []
      pageSize,pageNum, tagCodes
    }).then(res => {
      this.setData({
        dataList: [...this.data.dataList, ...res.data.records],
@@ -46,29 +104,39 @@
    })
  },
  itemClick(e) {
    const { videourl, id } = e.currentTarget.dataset
    actionDo({
      actionType: 'view',
      id: id
    })
    var dataList = this.data.dataList;
    dataList.forEach(item =>{
       if(item.id == id){
         item.viewCount = (item.viewCount||0) +1
        }
    })
    this.setData({dataList:dataList})
    let videoPlay = this.selectComponent('.videoPlay');
    if(videoPlay){
      videoPlay.startPlayVideo(videourl,this );
    const { id } = e.currentTarget.dataset.item
    const { dataList, acVid, viewIdList } = this.data
    const index = viewIdList.findIndex(i => i === id)
    if(acVid){
      if(id != acVid){
        wx.createVideoContext(acVid).pause()
        wx.createVideoContext(id).play()
        this.setData({ acVid: id })
      }
    }else{
      this.setData({ acVid: id })
      wx.createVideoContext(id).play()
    }
    // wx.previewMedia({
    //   sources: [{ url: videourl, type: 'video' }]
    // })
    dataList.forEach(ite => {
      if(id === ite.id && index === -1){
        ite.viewCount += 1
        viewIdList.push(id)
        actionDo({
          actionType: 'view',
          id: id
        })
        this.setData({ viewIdList })
      }
    })
    this.setData({ dataList })
  },
  cateClick(e) {
    const { code } = e.target.dataset
    this.setData({ tagCodes: code })
    const { code, index } = e.target.dataset
    if(this.data.activeIndex === index){
      this.setData({ tagCodes: [], activeIndex: -1 })
    }else{
      this.setData({ tagCodes: [code], activeIndex: index })
    }
    this.setData({ total: 0, dataList: [], pageNum: 1 })
    this.getList()
  },