闫增涛
2025-03-28 b97bfcb85b2ded3b1f380e9a98b54b836faabba5
packageBookService/pages/bookServices/detail/components/tree/index.js
@@ -165,109 +165,108 @@
    // 跳转音视频播放器
    goPlayer(e) {
      // 检查登录状态
      console.log(e.currentTarget.dataset.item)
      const token = wx.getStorageSync(app.config.tokenKey);
      if (!token) return false
      const item = e.currentTarget.dataset.item;
      const parent = e.currentTarget.dataset.parent;
      const parentProductLinkPath = parent ?
        parent.productLinkPath :
        wx.getStorageSync("teachResourcesPath");
      const parentName = parent ? parent.name : "教学资源";
      // 资源购买页面(只展示未购买资源) 点击不跳转
      if (this.properties.isShowCheck) return false;
      if (item.selectType == "webpage" || item.learnSelectType == "webpage") {
        // 网页类型跳转到网址复制页,因为url传参不能传 带参数的网络地址,所以此处要把网络地址里的传参摘出来,放到url里
        let urlData = ''
        const flags = item.jsek_link.indexOf("?")
        if (flags > -1) {
          urlData = item.jsek_link.slice(flags + 1, item.jsek_link.length)
      const goPlayerFun = () => {
        const item = e.currentTarget.dataset.item;
        const parent = e.currentTarget.dataset.parent;
        const parentProductLinkPath = parent ?
          parent.productLinkPath :
          wx.getStorageSync("teachResourcesPath");
        const parentName = parent ? parent.name : "教学资源";
        // 资源购买页面(只展示未购买资源) 点击不跳转
        if (this.properties.isShowCheck) return false;
        if (item.selectType == "webpage" || item.learnSelectType == "webpage") {
          // 网页类型跳转到网址复制页,因为url传参不能传 带参数的网络地址,所以此处要把网络地址里的传参摘出来,放到url里
          let urlData = ''
          const flags = item.jsek_link.indexOf("?")
          if (flags > -1) {
            urlData = item.jsek_link.slice(flags + 1, item.jsek_link.length)
          }
          url = '/packageBookService/pages/bookServices/linkPage/index'
          return wx.navigateTo({
            url: urlData ? url + `?path=${item.jsek_link.slice(0,flags)}` + '&' + urlData : url + `?path=${item.jsek_link}`
          })
        }
        url = '/packageBookService/pages/bookServices/linkPage/index'
        return wx.navigateTo({
          url: urlData ? url + `?path=${item.jsek_link.slice(0,flags)}` + '&' + urlData : url + `?path=${item.jsek_link}`
        })
      }
      if (!item.file && !item.freeFile && !item.protectedFile) {
        return wx.showToast({
          icon: 'error',
          title: '暂无资源',
        })
      }
      if (item.selectType == 'zip' || item.learnSelectType == 'zip') {
        // if (this.properties.applyState == 'Normal') {
        return wx.showToast({
          icon: 'error',
          title: '请前往PC端下载',
        })
        // } else {
        //   return wx.showToast({
        //     icon: 'error',
        //     title: '请先申请下载',
        //   })
        // }
      }
      if (this.properties.tab == "jsek_teachingResources" && (item.file || item.freeFile)) {
        let file = item.fileMap[item.file] ? item.fileMap[item.file] : item.fileMap[item.freeFile]
        if (file && file.protectType !== "Public") {
        if (!item.file && !item.freeFile && !item.protectedFile) {
          return wx.showToast({
            icon: "none",
            title: "资源不可用,请联系管理员",
          });
            icon: 'error',
            title: '暂无资源',
          })
        }
      }
      if (this.properties.tab == "jsek_cloudLearning") {
        // 1.找出所有父级目录和本身(有销售方式) 和 云学习本身(有销售方式) 放到一个数组  为空则暂未开放销售
        let learn = []
        if (this.properties.isCloundHaveSaleMethod) {
          // 1.1 云学习有销售方式,加入父级数组
          learn.push(this.properties.learnMenu)
        } else {
          // 1.2 云学习无销售方式,将父级目录和本身加入数组
          learn = this.handleTreeData(this.properties.learnList).filter(
            (citem) => citem.saleMethod &&
            citem.saleMethod.find((ditem) => ditem.SaleType == 'Normal') &&
            new Date(citem.saleMethod.find((ditem) => ditem.SaleType == 'Normal').EndDate).getTime() >= new Date().getTime() &&
            new Date(citem.saleMethod.find((ditem) => ditem.SaleType == 'Normal').BeginDate).getTime() <= new Date().getTime() &&
            item.productLinkPath.includes(citem.productLinkPath)
          )
        if (item.selectType == 'zip' || item.learnSelectType == 'zip') {
          return wx.showToast({
            icon: 'error',
            title: '请前往PC端下载',
          })
        }
        // 2.找出这个数组里已购买的 形成新数组     为空则未购买
        let buyList = []
        if (learn.length) buyList = learn.filter((item) => this.properties.buyIds.includes(item.saleMethod.find((citem) => citem.SaleType == 'Normal').Id))
        // 有父级(包含销售方式),且未购买
        if (learn.length && !buyList.length) return wx.showToast({
          icon: 'error',
          title: '请先购买该资源',
        })
        if (item.protectedFile || item.freeFile) {
          let file = item.fileMap[item.protectedFile] ? item.fileMap[item.protectedFile] : item.fileMap[item.freeFile]
        if (this.properties.tab == "jsek_teachingResources" && (item.file || item.freeFile)) {
          let file = item.fileMap[item.file] ? item.fileMap[item.file] : item.fileMap[item.freeFile]
          if (file && file.protectType !== "Public") {
            return wx.showToast({
              icon: 'none',
              icon: "none",
              title: "资源不可用,请联系管理员",
            });
          }
        }
        if (this.properties.tab == "jsek_cloudLearning") {
          // 1.找出所有父级目录和本身(有销售方式) 和 云学习本身(有销售方式) 放到一个数组  为空则暂未开放销售
          let learn = []
          if (this.properties.isCloundHaveSaleMethod) {
            // 1.1 云学习有销售方式,加入父级数组
            learn.push(this.properties.learnMenu)
          } else {
            // 1.2 云学习无销售方式,将父级目录和本身加入数组
            learn = this.handleTreeData(this.properties.learnList).filter(
              (citem) => citem.saleMethod &&
              citem.saleMethod.find((ditem) => ditem.SaleType == 'Normal' && ditem.Price > 0) &&
              new Date(citem.saleMethod.find((ditem) => ditem.SaleType == 'Normal').EndDate).getTime() >= new Date().getTime() &&
              new Date(citem.saleMethod.find((ditem) => ditem.SaleType == 'Normal').BeginDate).getTime() <= new Date().getTime() &&
              item.productLinkPath.includes(citem.productLinkPath)
            )
          }
          // 2.找出这个数组里已购买的 形成新数组     为空则未购买
          let buyList = []
          if (learn.length) buyList = learn.filter((item) => this.properties.buyIds.includes(item.saleMethod.find((citem) => citem.SaleType == 'Normal').Id))
          // 有父级(包含销售方式),且未购买
          if (learn.length && !buyList.length) return wx.showToast({
            icon: 'error',
            title: '请先购买该资源',
          })
          if (item.protectedFile || item.freeFile) {
            let file = item.fileMap[item.protectedFile] ? item.fileMap[item.protectedFile] : item.fileMap[item.freeFile]
            if (file && file.protectType !== "Public") {
              return wx.showToast({
                icon: 'none',
                title: "资源不可用,请联系管理员",
              });
            }
          }
        }
        let url;
        if (item.selectType == "video" || item.learnSelectType == "video") {
          url = "/packageDomain/pages/resourceDetails/myVideo/index";
        }
        if (
          item.selectType == "audio" ||
          item.learnSelectType == "audio"
        ) {
          url = "/packageDomain/pages/resourceDetails/myAudio/index";
        }
        if (item.selectType == "picture" || item.selectType == 'document' || item.selectType == 'pdf' || item.learnSelectType == "picture" || item.learnSelectType == 'document' || item.learnSelectType == 'pdf') {
          url = "/packageDomain/pages/resourceDetails/document/index";
        }
        wx.navigateTo({
          url: `${url}?productLinkPath=${item.productLinkPath}&parentProductLinkPath=${parentProductLinkPath}&parentName=${parentName}&activeId=${item.id}&bookId=${this.properties.bookInfo.id}&bookName=${this.properties.bookInfo.name}&cmsId=${this.properties.bookInfo.rootCmsItemId}&formPath=${this.properties.tab}&applyState=${this.properties.applyState}&deadline=${this.properties.deadline}`,
        });
      }
      const token = wx.getStorageSync(app.config.tokenKey);
      if (!token && this.data.tab != 'jsek_teachingResources') {
        loginInfo(app, (data) => {
          if (data) goPlayerFun()
        })
      } else {
        goPlayerFun()
      }
      }
      let url;
      if (item.selectType == "video" || item.learnSelectType == "video") {
        url = "/packageDomain/pages/resourceDetails/myVideo/index";
      }
      if (
        item.selectType == "audio" ||
        item.learnSelectType == "audio"
      ) {
        url = "/packageDomain/pages/resourceDetails/myAudio/index";
      }
      if (item.selectType == "picture" || item.selectType == 'document' || item.selectType == 'pdf' || item.learnSelectType == "picture" || item.learnSelectType == 'document' || item.learnSelectType == 'pdf') {
        url = "/packageDomain/pages/resourceDetails/document/index";
      }
      wx.navigateTo({
        url: `${url}?productLinkPath=${item.productLinkPath}&parentProductLinkPath=${parentProductLinkPath}&parentName=${parentName}&activeId=${item.id}&bookId=${this.properties.bookInfo.id}&bookName=${this.properties.bookInfo.name}&cmsId=${this.properties.bookInfo.rootCmsItemId}&formPath=${this.properties.tab}&applyState=${this.properties.applyState}&deadline=${this.properties.deadline}`,
      });
    },
    // 拿到所有项