litian
2025-03-17 5b19b0e39a91e566a835460bf1213e7b3a0582b9
packageDomain/pages/resourceDetails/myAudio/index.js
@@ -57,10 +57,11 @@
    buyIdList: [],
    buyList: [],
    learnClassData: null,
    isLearnDataBuy: false,
    bookDetail: null,
    learnStartTime: 0,
    learnTimeList: [],
    learnTimeData: 0
    learnTimeData: 0,
  },
  format(time) {
@@ -277,8 +278,8 @@
      },
      fields: {},
    };
    if (this.data.storeInfo) query['storeInfo'] = this.data.storeInfo
    app.MG.store.getProductDetail(query).then(async (res) => {
      console.log('图书详情', res);
      this.setData({
        bookDetail: res.datas,
        buyIdList: res.datas.purchasedSaleMethodIdList,
@@ -307,12 +308,24 @@
      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(learnClassData)
        if (this.data.buyIdList.includes(learnSaleMethod.Id)) {
          buyList.push(this.data.learnClassData)
        } else {
          if (new Date().getTime() > new Date(learnSaleMethod.EndDate).getTime() || learnSaleMethod.Price == 0) {
            this.setData({
              isLearnDataBuy: true
            })
          } else {
            this.setData({
              isLearnDataBuy: false
            })
          }
        }
      }
      this.setData({
        buyList
      })
      console.log('云学习', buyList);
    })
  },
@@ -372,53 +385,93 @@
      let selectedId = -1; // 初始化选中项索引
      let showDataUrl = '';
      let titleName = '';
      console.log(res.datas.cmsDatas[0].datas, 1)
      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) {
        // 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 (this.data.buyList.length) {
                if (this.data.buyList.some(citem => item.productLinkPath.includes(citem.productLinkPath))) this.data.threeLeveData.push(item)
              // if (!item.saleMethod.length) this.data.threeLeveData.push(item)
              if (!item.saleMethod.length) {
                // 没买且无销售方式
                this.data.threeLeveData.push(item)
              } else {
                if (!item.saleMethod.length) this.data.threeLeveData.push(item)
                // 没买且销售方式过期//没买,销售方式价格为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)
              }
            }
          }
        }
        // }
      });
      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
          showDataUrl = app.config.requestCtx + '/file/api/ApiDownloadForAuthorize?md5=' + file + '&token=' + wx.getStorageSync(app.config.tokenKey);
      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 {
          showDataUrl = datas.file ? app.config.requestCtx + '/file/api/ApiDownload?md5=' + datas.file : app.config.requestCtx + '/file/api/ApiDownload?md5=' + datas.freeFile
          this.setData({
            threeLeveData: []
          })
        }
        titleName = datas.name;
      } else {
        this.setData({
          threeLeveData: this.data.threeLeveData
        })
      }
      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
            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,
        showData: showDataUrl,
        titleName: titleName,
        loading: false,
        hidden: false
      });
      console.log(1, this.data);
      this.pubulicPlayFun();
        this.setData({
          threeLeveData: this.data.threeLeveData,
          selectedId: selectedId,
          showData: showDataUrl,
          titleName: titleName,
          loading: false,
          hidden: false
        });
        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`,
        });
      }
    });
  },
@@ -439,7 +492,7 @@
      })
      if (item.selectType == "audio" || item.learnSelectType === "audio") {
        if (this.data.formPath == 'jsek_cloudLearning') {
          let file = item.protectedFile ? item.protectedFile : item.file
          let file = item.protectedFile ? item.protectedFile : item.freeFile
          // 这里处理云学习的
          this.setData({
            showData: app.config.requestCtx + '/file/api/ApiDownloadForAuthorize?md5=' + file + '&token=' + wx.getStorageSync(app.config.tokenKey)
@@ -449,7 +502,6 @@
          this.setData({
            showData: item.file ? app.config.requestCtx + '/file/api/ApiDownload?md5=' + item.file : app.config.requestCtx + '/file/api/ApiDownload?md5=' + item.freeFile
          })
          console.log(2, this.data);
          this.pubulicPlayFun()
        }
      }