zhongshujie
2 天以前 168b58741c9a21f01aa7677177262c06d36e3dc7
packageDomain/pages/resourceDetails/myAudio/index.js
@@ -63,6 +63,11 @@
    learnTimeList: [],
    learnTimeData: 0,
    toView: 'activeName',
    promptVisable: false,
    confirmBtn: {
      content: '确定',
      variant: 'base',
    },
  },
  format(time) {
@@ -116,27 +121,14 @@
        parentName: options.parentName,
      })
    }
    const token = wx.getStorageSync(app.config.tokenKey)
    if (!token) {
      loginInfo(app, (data) => {
        if (data) {
          this.resourceDetailsData()
          this.getNoteList()
        } else {
          this.resourceDetailsData()
          this.getNoteList()
        }
      })
    } else {
      this.resourceDetailsData()
      this.getNoteList()
    }
    if (options.formPath == 'jsek_cloudLearning') {
      this.getNoteList()
      this.setData({
        learnStartTime: Date.now(),
      })
      this.getLearnTime()
    }
    this.resourceDetailsData()
    this.getBookInfo(options.bookId)
  },
@@ -152,6 +144,13 @@
  onShow() {
    this.setData({
      startTime: Date.now()
    })
    myAudio.onEnded((e) => {
      const data = this.data.threeLeveData.find(item => item.id == this.data.activeId)
      if (data.freeFile && this.data.showData.includes(data.freeFile) && data.protectedFile)
        this.setData({
          promptVisable: true
        })
    })
  },
@@ -309,7 +308,6 @@
      const buyList = res.datas.cmsDatas[0].datas.filter(item => item.saleMethod.length && this.data.buyIdList.includes(item.saleMethod.find(citem => citem.SaleType == 'Normal').Id))
      if (this.data.learnClassData && this.data.learnClassData.saleMethod.length) {
        const learnSaleMethod = this.data.learnClassData.saleMethod.find(citem => citem.SaleType == 'Normal')
        // if (this.data.buyIdList.includes(learnSaleMethod.Id)) buyList.push(learnClassData)
        if (this.data.buyIdList.includes(learnSaleMethod.Id)) {
          buyList.push(this.data.learnClassData)
        } else {
@@ -339,11 +337,17 @@
  },
  onTakeNotes() {},
  showDialog(e) {
    this.setData({
      submitTitle: this.data.titleName,
      dialogKey: true,
      textvalue: ''
    });
    const token = wx.getStorageSync(app.config.tokenKey);
    if (token) {
      this.setData({
        submitTitle: this.data.titleName,
        dialogKey: true,
        textvalue: ''
      });
    } else {
      loginInfo(app, (data) => {})
    }
  },
  closeDialog() {
@@ -386,75 +390,72 @@
      let selectedId = -1; // 初始化选中项索引
      let showDataUrl = '';
      let titleName = '';
      res.datas.cmsDatas[0].datas.forEach((item, index) => {
        // if (this.data.source == 'qrcode') {
        //   if (item.id == this.data.activeId) {
        //     this.data.threeLeveData.push(item);
        //   }
        // } else {
        if (item.selectType === "audio" || item.learnSelectType === "audio") {
          if (this.data.storeInfo == 'jsek_digitalCourses') {
            if (item.sysType == 'CmsItem') {
              this.data.threeLeveData.push(item)
            }
            if (item.sysType == 'CmsItem' && item.freeFile) {
              this.data.threeLeveData.push(item)
            }
          } else {
            if (this.data.buyList.length) {
              if (this.data.buyList.some(citem => item.productLinkPath.includes(citem.productLinkPath))) {
                this.data.threeLeveData.push(item)
              }
            } else {
              // if (!item.saleMethod.length) this.data.threeLeveData.push(item)
              if (!item.saleMethod.length) {
                // 没买且无销售方式
                this.data.threeLeveData.push(item)
              } else {
                // 没买且销售方式过期//没买,销售方式价格为0
                const itemSaleMethod = item.saleMethod.find(citem => citem.SaleType == 'Normal')
                if (new Date().getTime() > new Date(itemSaleMethod.EndDate).getTime() || itemSaleMethod.Price == 0) {
                  this.data.threeLeveData.push(item)
                }
                //  没买且只有试读资源
                if (!item.file && item.freeFile) this.data.threeLeveData.push(item)
              }
            }
          }
        }
        // }
      });
      const list = res.datas.cmsDatas[0]?.datas
      if (this.data.source == 'qrcode') {
        let qrData = this.data.threeLeveData.find(ditem => ditem.id == this.data.activeId)
        if (qrData && this.data.isLearnDataBuy) {
          if (qrData) {
            this.setData({
              threeLeveData: [qrData]
            })
          }
        } else {
        let qrData = res.datas.cmsDatas[0].datas.find(ditem => ditem.id == this.data.activeId)
        if (qrData) {
          this.setData({
            threeLeveData: []
            threeLeveData: [qrData]
          })
        }
      } else {
        this.setData({
          threeLeveData: this.data.threeLeveData
          threeLeveData: []
        })
      }
      list?.forEach(async (item) => {
        if (item.selectType === "audio" || item.learnSelectType === "audio")
          if (this.data.storeInfo == 'jsek_digitalCourses') {
            if (this.data.isBuy) {
              if (item.sysType == 'CmsItem') {
                this.data.threeLeveData.push(item)
              }
            } else {
              if (item.sysType == 'CmsItem' && item.freeFile) {
                this.data.threeLeveData.push(item)
              }
            }
          } else {
            const isBuyCms = await app.MG.file.checkCmsItem({
              cmsItemId: Number(item.id)
            })
            if (isBuyCms) {
              this.data.threeLeveData(item)
            } else {
              if (item.freeFile) {
                this.data.threeLeveData(item)
              } else {
                wx.showModal({
                  icon: 'error',
                  title: '温馨提示',
                  content: '请购买资源,即将返回购买页',
                  confirmText: '确定',
                  showCancel: false, // 关闭取消按钮
                  success: (cres) => {
                    if (cres.confirm) {
                      wx.navigateTo({
                        url: '/packageBookService/pages/bookServices/detail/index?id=' + this.data.bookId + '&name=' + this.data.bookName + '&tabValue=' + this.data.formPath,
                      })
                    }
                  }
                });
                return; // 直接返回,避免执行后续代码
              }
            }
          }
      })
      if (this.data.threeLeveData.length > 0) {
        selectedId = this.data.threeLeveData.findIndex(items => items.productLinkPath == this.data.productLinkPath)
        if (selectedId !== -1) {
          let datas = this.data.threeLeveData[selectedId];
          if (this.data.formPath == 'jsek_cloudLearning') {
            let file = datas.protectedFile ? datas.protectedFile : datas.freeFile
            let file = this.cmsItemIsBuy(datas) ? datas.protectedFile || datas.freeFile : datas.freeFile
            showDataUrl = app.config.requestCtx + '/file/api/ApiDownloadForAuthorize?md5=' + file + '&token=' + wx.getStorageSync(app.config.tokenKey);
          } else {
            showDataUrl = datas.file ? app.config.requestCtx + '/file/api/ApiDownload?md5=' + datas.file : app.config.requestCtx + '/file/api/ApiDownload?md5=' + datas.freeFile
          }
          titleName = datas.name;
        }
        this.setData({
          threeLeveData: this.data.threeLeveData,
          selectedId: selectedId,
@@ -465,14 +466,6 @@
          toView: 'activeName' + selectedId,
        });
        this.pubulicPlayFun();
      } else {
        wx.showToast({
          icon: 'none',
          title: '请先返回资源所在图书详情购买视频资源',
        })
        wx.navigateTo({
          url: `/packageBookService/pages/bookServices/detail/index?id=${this.data.bookDetail.id}&name=${this.data.bookDetail.name}&tabValue=jsek_cloudLearning`,
        });
      }
    });
  },
@@ -831,7 +824,6 @@
    }
    setTimeout(() => {
      myAudio.startTime = this.data.myAudioDuration //开始时间  
      myAudio.playbackRate = this.data.speed; //  播放速率
    }, 200);
@@ -909,6 +901,8 @@
      })
  },
  setPlayerList() {
    const token = wx.getStorageSync(app.config.tokenKey);
    if (!token) return
    let that = this
    if (that.data.progress > 0) {
      let index = that.data.playerList.findIndex((itemData) => itemData.cmsItemId == that.data.activeId)
@@ -930,4 +924,36 @@
        .then((res) => {})
    }
  },
  // 判断当前点击的数据是否购买
  cmsItemIsBuy(item) {
    let flag = false
    // 买了
    if (this.data.buyList.length) {
      if (this.data.buyList.some(citem => item.productLinkPath.includes(citem.productLinkPath)))
        flag = true
    } else {
      // 没买且无销售方式
      if (!item.saleMethod.length) {
        flag = true
      } else {
        // 没买且销售方式过期//没买,销售方式价格为0
        const itemSaleMethod = item.saleMethod.find(citem => citem.SaleType == 'Normal')
        if (new Date().getTime() > new Date(itemSaleMethod.EndDate).getTime() || itemSaleMethod.Price == 0) flag = true
      }
    }
    return flag
  },
  // 提示弹窗关闭
  closePromapDialog() {
    this.setData({
      promptVisable: false
    })
    if (this.data.source == 'qrcode') {
      wx.navigateTo({
        url: `/packageBookService/pages/bookServices/detail/index?id=${this.data.bookDetail.id}&name=${this.data.bookDetail.name}&tabValue=${this.data.formPath}`,
      });
    } else {
      wx.navigateBack()
    }
  }
})