yiming
2024-04-29 4496721cd3af3c68ed4d55218d3e83ea0664c57e
packageBookService/pages/bookServices/detail/components/tree/index.js
@@ -48,6 +48,9 @@
    checkAllState: {
      type: Boolean,
    },
    deadline: {
      type: String
    }
  },
  data: {
    sonPurchaseSaleMethodId: "",
@@ -58,7 +61,8 @@
    selectAll: [],
    shoppingCart: true,
    stop: false,
    cart: true
    cart: true,
    canExecute: true
  },
  ready() {},
@@ -131,14 +135,25 @@
    // 跳转音视频播放器
    goPlayer(e) {
      // 检查登录状态
      const token = wx.getStorageSync(app.config.tokenKey);
      const token = wx.getStorageSync(app.config.tokenKey);
      if (token) {
        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 : '教学资源'
        let url;
        if (this.properties.isShowCheck && this.resourceIsBuy(item)) {
          return false;
        }
@@ -162,20 +177,66 @@
              "请先购买该资源" : "请先点击领取查看按钮",
          });
        }
        if (item.saleMethod.length == 0 && item.sysType == 'CmsItem' && this.properties.tab == "jsek_cloudLearning") {
          return wx.showToast({
            icon: 'error',
            title: '暂未开始销售,请联系管理员',
          })
        }
        if (this.properties.tab == "jsek_teachingResources" && item.fileMap) {
          if (item.file && item.fileMap[item.file].protectType !== "Public") {
            return wx.showToast({
              icon: 'error',
              title: '资源不可用,请联系管理员',
            })
          } else if (item.freeFile && item.fileMap[item.freeFile].protectType !== "Public") {
            return wx.showToast({
              icon: 'error',
              title: '资源不可用,请联系管理员',
            })
          }
        }
        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}`,
          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}`,
        });
        if (item.selectType == "document" || item.selectType == "pdf") {
          const fileLink =
            app.config.requestCtx + "/file/api/ApiDownload?md5=" + item.file;
        // || item.selectType == "pdf"
        if (item.selectType == "pdf") {
          console.log(item, '79825');
          const fileLink = item.file ? item.file : item.freeFile
          console.log(fileLink);
          wx.navigateTo({
            url: "/packageBookService/pages/components/webView/index?md5=" +
              fileLink +
              "&fileName=" +
              item.name +
              "&fileType=" +
              item.selectType + "&bookBuy=true"
          });
        }
        if (item.selectType == "document") {
          // freeFile
          if (item.selectType == "document") {
            item.selectType = "pptx"
          }
          console.log(item);
          const fileLink = item.file ?
            app.config.requestCtx + "/file/api/ApiDownload?md5=" + item.file : app.config.requestCtx + "/file/api/ApiDownload?md5=" + item.freeFile
          console.log(fileLink, "fileLink");
          //提示加载中
          util.showLoading();
          // 单次下载允许的最大文件为 200MB
          wx.downloadFile({
            url: fileLink,
            // filePath: wx.env.USER_DATA_PATH + `/${item.name}.${item.selectType}`,
            filePath: wx.env.USER_DATA_PATH + `/${item.name}.${item.selectType}`,
            success: function (res) {
              console.log(res, "wx.downloadFile success res");
              if (res.statusCode != 200) {
@@ -183,8 +244,9 @@
                return false;
              }
              var Path = res.tempFilePath; //返回的文件临时地址,用于后面打开本地预览所用
              let data = res.filePath;
              wx.openDocument({
                filePath: Path,
                filePath: data,
                showMenu: true,
                success: function (res) {
                  console.log("打开成功");
@@ -197,81 +259,11 @@
              util.hideLoadingWithErrorTips();
            },
          });
        }
        // if (item.selectType == "document" || item.selectType == "pdf") {
        //   const fileLink = app.config.requestCtx + "/file/api/ApiDownload?md5=" + item.file;
        //   let filePath = wx.env.USER_DATA_PATH + '/' + item.name
        //   console.log(filePath, 'filePath');
        //   //提示加载中
        //   util.showLoading();
        //   // 单次下载允许的最大文件为 200MB
        //   wx.downloadFile({
        //     url: fileLink,
        //     success: function (res) {
        //       if (res.statusCode != 200) {
        //         util.hideLoadingWithErrorTips();
        //         return false;
        //       }
        //       var Path = res.tempFilePath; //返回的文件临时地址,用于后面打开本地预览所用
        //       wx.saveFile({
        //         tempFilePath: Path,
        //         success: function (res) {
        //           var savedFilePath = res.savedFilePath;
        //           // 将文件保存为 item.name
        //           wx.saveFile({
        //             tempFilePath: savedFilePath,
        //             filePath: wx.env.USER_DATA_PATH + '/' + item.name,
        //             success: function (res) {
        //               wx.openDocument({
        //                 filePath: res.savedFilePath,
        //                 showMenu: true,
        //                 success: function (res) {
        //                   util.hideLoading();
        //                 },
        //               });
        //             },
        //             fail: function (err) {
        //               util.hideLoadingWithErrorTips();
        //             }
        //           });
        //         },
        //         fail: function (err) {
        //           util.hideLoadingWithErrorTips();
        //         }
        //       });
        //     },
        //     fail: function (err) {
        //       util.hideLoadingWithErrorTips();
        //     },
        //   });
        // }
@@ -282,6 +274,16 @@
          });
          console.log(this.data.webpageSrc, "webpageSrc");
        }
      }
    },
@@ -600,7 +602,6 @@
          item.isShopCar = false
          this.triggerEvent("updateCloudLearning")
        }
      }
    },
    sadd() {