From 4df5e250646fa201c08f38dfb77cfb49e53706fc Mon Sep 17 00:00:00 2001
From: QYF-GitLab1 <1940665526@qq.com>
Date: 星期四, 10 七月 2025 19:15:11 +0800
Subject: [PATCH] ---资源购买处理

---
 packageDomain/pages/resourceDetails/document/index.js |   19 ++++++++++---------
 packageDomain/pages/resourceDetails/myVideo/index.js  |   24 ++++++++++++------------
 packageDomain/pages/resourceDetails/myAudio/index.js  |   13 +++++++------
 packageBookService/pages/bookServices/detail/index.js |    1 +
 4 files changed, 30 insertions(+), 27 deletions(-)

diff --git a/packageBookService/pages/bookServices/detail/index.js b/packageBookService/pages/bookServices/detail/index.js
index 772deaf..07cb6b1 100644
--- a/packageBookService/pages/bookServices/detail/index.js
+++ b/packageBookService/pages/bookServices/detail/index.js
@@ -1149,6 +1149,7 @@
           learnPath: type.productLinkPath
         });
       }
+      console.log('1', result);
     })
   },
   //  鑾峰彇 浜戞祴璇�
diff --git a/packageDomain/pages/resourceDetails/document/index.js b/packageDomain/pages/resourceDetails/document/index.js
index 7b60c33..70a9293 100644
--- a/packageDomain/pages/resourceDetails/document/index.js
+++ b/packageDomain/pages/resourceDetails/document/index.js
@@ -336,7 +336,7 @@
     if (this.data.storeInfo) {
       query.storeInfo = this.data.storeInfo
     }
-    app.MG.store.getProductDetail(query).then((res) => {
+    app.MG.store.getProductDetail(query).then(async (res) => {
       wx.hideLoading();
       const list = res.datas.cmsDatas[0]?.datas
       if (this.data.source == 'qrcode') {
@@ -354,7 +354,7 @@
       this.setData({
         isBuy: res.datas.purchasedSaleMethodIdList.includes(res.datas.defaultSaleMethodId)
       })
-      list?.forEach(async (item) => {
+      for (const item of list) {
         if (this.data.storeInfo == 'jsek_digitalCourses') {
           if (this.data.isBuy) {
             if (this.data.productLinkPath == item.productLinkPath) {
@@ -369,11 +369,12 @@
           const isBuyCms = await app.MG.file.checkCmsItem({
             cmsItemId: Number(item.id)
           })
-          if (isBuyCms && this.data.productLinkPath == item.productLinkPath) {
-            this.data.threeLeveData(item)
+          item.isBuyCms = isBuyCms
+          if (isBuyCms) {
+            this.data.threeLeveData.push(item)
           } else {
-            if (item.freeFile && this.data.productLinkPath == item.productLinkPath) {
-              this.data.threeLeveData(item)
+            if (item.freeFile) {
+              this.data.threeLeveData.push(item)
             } else {
               wx.showModal({
                 icon: 'error',
@@ -393,7 +394,7 @@
             }
           }
         }
-      })
+      }
       if (this.data.threeLeveData.length > 0) {
         let item = this.data.threeLeveData[0]
         this.handleTeachData(item)
@@ -485,7 +486,7 @@
     let that = this
     //鍥剧墖
     if (item.selectType == 'picture' || item.learnSelectType == 'picture') {
-      const isBuy = this.cmsItemIsBuy(item)
+      const isBuy = item.isBuyCms
       let file = isBuy ? item.protectedFile || item.file : item.freeFile
       this.setData({
         showData: app.config.requestCtx + '/file/api/ApiDownload?md5=' + file,
@@ -508,7 +509,7 @@
     }
     //鏂囨。绛�
     if (item.selectType == 'document' || item.selectType == 'pdf' || item.learnSelectType == 'document' || item.learnSelectType == 'pdf') {
-      const isBuy = this.cmsItemIsBuy(item)
+      const isBuy = item.isBuyCms
       let md5 = isBuy ? item.protectedFile || item.file || item.freeFile : item.freeFile
       if (item.fileMap[md5]?.extension == 'xlsx' || item.fileMap[md5]?.extension == 'xls') {
         this.setData({
diff --git a/packageDomain/pages/resourceDetails/myAudio/index.js b/packageDomain/pages/resourceDetails/myAudio/index.js
index 177115d..fddbf2f 100644
--- a/packageDomain/pages/resourceDetails/myAudio/index.js
+++ b/packageDomain/pages/resourceDetails/myAudio/index.js
@@ -386,7 +386,7 @@
     if (this.data.storeInfo) {
       query.storeInfo = this.data.storeInfo
     }
-    app.MG.store.getProductDetail(query).then(res => {
+    app.MG.store.getProductDetail(query).then(async (res) => {
       let selectedId = -1; // 鍒濆鍖栭�変腑椤圭储寮�
       let showDataUrl = '';
       let titleName = '';
@@ -403,7 +403,7 @@
           threeLeveData: []
         })
       }
-      list?.forEach(async (item) => {
+      for (const item of list) {
         if (item.selectType === "audio" || item.learnSelectType === "audio")
           if (this.data.storeInfo == 'jsek_digitalCourses') {
             if (this.data.isBuy) {
@@ -419,11 +419,12 @@
             const isBuyCms = await app.MG.file.checkCmsItem({
               cmsItemId: Number(item.id)
             })
+            item.isBuyCms = isBuyCms
             if (isBuyCms) {
-              this.data.threeLeveData(item)
+              this.data.threeLeveData.push(item)
             } else {
               if (item.freeFile) {
-                this.data.threeLeveData(item)
+                this.data.threeLeveData.push(item)
               } else {
                 wx.showModal({
                   icon: 'error',
@@ -443,13 +444,13 @@
               }
             }
           }
-      })
+      }
       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 = this.cmsItemIsBuy(datas) ? datas.protectedFile || datas.freeFile : datas.freeFile
+            let file = datas.isBuyCms ? 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
diff --git a/packageDomain/pages/resourceDetails/myVideo/index.js b/packageDomain/pages/resourceDetails/myVideo/index.js
index ee47b89..c4eece8 100644
--- a/packageDomain/pages/resourceDetails/myVideo/index.js
+++ b/packageDomain/pages/resourceDetails/myVideo/index.js
@@ -66,7 +66,8 @@
       content: '纭畾',
       variant: 'base',
     },
-    showMd5: ''
+    showMd5: '',
+    isBuyCms: false
   },
   // 鏍煎紡鍖栫瑪璁版椂闂�
   convertTimestamp(timestamp) {
@@ -368,7 +369,7 @@
         size: 999
       }
     }
-    app.MG.store.getProductDetail(query).then(res => {
+    app.MG.store.getProductDetail(query).then(async (res) => {
       const list = res.datas.cmsDatas[0]?.datas
       if (this.data.source == 'qrcode') {
         let qrData = res.datas.cmsDatas[0].datas.find(ditem => ditem.id == this.data.activeId)
@@ -382,10 +383,9 @@
           threeLeveData: []
         })
       }
-      list?.forEach(async (item) => {
+      for (const item of list) {
         if (item.selectType === "video" || item.learnSelectType === "video") {
           if (this.data.storeInfo == 'jsek_digitalCourses') {
-            // if (item.sysType == 'CmsItem') this.data.threeLeveData.push(item)
             if (this.data.isBuy) {
               if (item.sysType == 'CmsItem') {
                 this.data.threeLeveData.push(item)
@@ -399,11 +399,12 @@
             const isBuyCms = await app.MG.file.checkCmsItem({
               cmsItemId: Number(item.id)
             })
+            item.isBuyCms = isBuyCms
             if (isBuyCms) {
-              this.data.threeLeveData(item)
+              this.data.threeLeveData.push(item)
             } else {
               if (item.freeFile) {
-                this.data.threeLeveData(item)
+                this.data.threeLeveData.push(item)
               } else {
                 wx.showModal({
                   icon: 'error',
@@ -425,15 +426,15 @@
           }
 
         }
-        // }
-      })
+      }
+
+      // }
       if (this.data.threeLeveData.length > 0) {
         this.data.threeLeveData.forEach((items, index) => { // 淇敼姝ゅ娣诲姞index鍙傛暟
           if (this.data.productLinkPath == items.productLinkPath) {
             if (this.data.formPath === "jsek_cloudLearning") {
-              const flag = this.cmsItemIsBuy(items)
               let file
-              if (flag) {
+              if (items.isBuyCms) {
                 file = items.protectedFile || items.file ? file = items.protectedFile || items.file : file = items.freeFile
               } else {
                 if (items.freeFile) {
@@ -478,9 +479,8 @@
     })
     if (item.selectType == "video" || item.learnSelectType === "video") {
       if (this.data.formPath === "jsek_cloudLearning") {
-        const flag = this.cmsItemIsBuy(item)
         let file
-        if (flag) {
+        if (items.isBuyCms) {
           file =
             item.protectedFile || item.file ? file = item.protectedFile || item.file : file = item.freeFile
         } else {

--
Gitblit v1.9.1