From b55024ee2f42aa93e0ecaa3113bdeb286f6e59ac Mon Sep 17 00:00:00 2001 From: QYF-GitLab1 <1940665526@qq.com> Date: 星期二, 29 七月 2025 18:01:55 +0800 Subject: [PATCH] 优化按钮显示,教学互动 --- packageDomain/pages/resourceDetails/myVideo/index.js | 152 +++++++++++++++++++++++++++++++------------------- 1 files changed, 93 insertions(+), 59 deletions(-) diff --git a/packageDomain/pages/resourceDetails/myVideo/index.js b/packageDomain/pages/resourceDetails/myVideo/index.js index 2ebdf56..e8516ff 100644 --- a/packageDomain/pages/resourceDetails/myVideo/index.js +++ b/packageDomain/pages/resourceDetails/myVideo/index.js @@ -219,6 +219,7 @@ try { this.setData({ bookDetail: res.datas, + bookName: res.datas.name, buyIdList: res.datas.purchasedSaleMethodIdList, learnClassData: res.datas.cmsDatas[0].datas.length > 0 ? res.datas.cmsDatas[0].datas.find(item => item.refCode == "jsek_cloudLearning") : null }) @@ -230,7 +231,6 @@ } catch (error) { console.log(error) } - }); }, // 鏁欏璧勬簮 浜戝涔� 鑾峰彇 @@ -329,7 +329,84 @@ goBack() { wx.navigateBack(); }, - + async getBuyCmsItem() { + let cmsItemData = null + let query = { + path: '*', + queryType: '*', + cmsType: '*', + productId: this.data.bookId, + cmsPath: this.data.bookDetail.rootCmsItemId, + itemFields: { + selectType: [], + freeFile: [], + file: [], + protectedFile: [], + resourcesClassification: [], + isDownload: [], + jsek_resourceBrief: [], + jsek_link: [], + jsek_questionBank: [], + learnSelectType: [] + }, + pading: { + start: 0, + size: 999 + } + } + if (this.data.storeInfo) { + query.storeInfo = this.data.storeInfo + } + const res = await app.MG.store.getProductDetail(query) + let linkData = this.data.productLinkPath.split("\\"); + linkData.reverse() + let dataList = linkData.map(item => { + let data = res.datas.cmsDatas[0].datas.find(citem => citem.id == item); + if (data) return data; + }) + let isBuy = 1; + for (let i = 0; i < dataList.length; i++) { + const dataItem = dataList[i]; + if (dataItem) { + if (dataItem.saleMethod.length > 0) { + isBuy = 2; + if (this.data.bookDetail.purchasedSaleMethodIdList.indexOf(dataItem.saleMethod[0].Id) > -1 || dataItem.saleMethod[0].Price == 0) { + isBuy = 3; + break; + } else { + break; + } + } + } + } + if (isBuy == 2) { + // 鏈喘涔� + if (dataList[0].freeFile) { + dataList[0].isFreeFile = true; // 杩欎釜璧勬簮鍙互璇曠湅 + cmsItemData = dataList[0] + } else { + wx.hideLoading(); + wx.showModal({ + title: '娓╅Θ鎻愮ず', + content: '璇ヨ祫婧愭湭婵�娲绘垨璐拱锛屽嵆灏嗚繑鍥炲浘涔﹁鎯呴〉闈�', + success: (res) => { + if (res.confirm) { + 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() + } + } + } + }) + } + } else { + cmsItemData = dataList[0] + } + return cmsItemData + }, resourceDetailsData() { this.setData({ videoLoading: true, @@ -364,9 +441,9 @@ this.setData({ isBuy: res.datas.purchasedSaleMethodIdList.includes(res.datas.defaultSaleMethodId) }) - res.datas.cmsDatas[0].datas.forEach((item) => { - if (item.selectType === "video" || item.learnSelectType === "video") { - if (this.data.storeInfo == 'jsek_digitalCourses') { + if (this.data.storeInfo == 'jsek_digitalCourses') { + res.datas.cmsDatas[0].datas.forEach((item) => { + if (item.selectType === "video" || item.learnSelectType === "video") { if (this.data.isBuy) { if (item.sysType == 'CmsItem') { this.data.threeLeveData.push(item) @@ -376,65 +453,21 @@ this.data.threeLeveData.push(item) } } - } else { - let linkData = this.data.productLinkPath.split("\\"); - linkData.reverse() - let dataList = linkData.map(item => { - let data = res.datas.cmsDatas[0].datas.find(citem => citem.id == item); - if (data) return data; - }) - let isBuy = 1; - for (let i = 0; i < dataList.length; i++) { - const dataItem = dataList[i]; - if (dataItem) { - if (dataItem.saleMethod.length > 0) { - isBuy = 2; - if (this.data.bookDetail.purchasedSaleMethodIdList.indexOf(dataItem.saleMethod[0].Id) > -1) { - isBuy = 3; - break; - } else { - break; - } - } - } - } - if (isBuy == 2) { - // 鏈喘涔� - if (dataList[0].freeFile) { - this.data.threeLeveData.push(dataList[0]) - } else { - wx.hideLoading(); - wx.showModal({ - title: '娓╅Θ鎻愮ず', - content: '璇ヨ祫婧愭湭璐拱锛屽皢杩斿洖璐拱', - success: (res) => { - if (res.confirm) { - 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() - } - } - } - }) - } - } else { - if (this.data.productLinkPath == item.productLinkPath) { - this.data.threeLeveData.push(dataList[0]) - } - } } + }) + } else { + const itemCms = await this.getBuyCmsItem() + if (itemCms != null) { + this.data.threeLeveData.push(itemCms) } - }) + } 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) + // const flag = this.cmsItemIsBuy(items) let file - if (flag) { + if (!items.isFreeFile) { file = items.protectedFile || items.file ? file = items.protectedFile || items.file : file = items.freeFile } else { if (items.freeFile) { @@ -468,6 +501,7 @@ loading: false, hidden: false, toView: 'activeName' + this.data.selectedId, + threeLeveData: this.data.threeLeveData }) }) }, @@ -479,9 +513,9 @@ }) if (item.selectType == "video" || item.learnSelectType === "video") { if (this.data.formPath === "jsek_cloudLearning") { - const flag = this.cmsItemIsBuy(item) + // const flag = this.cmsItemIsBuy(item) let file - if (flag) { + if (!item.isFreeFile) { file = item.protectedFile || item.file ? file = item.protectedFile || item.file : file = item.freeFile } else { -- Gitblit v1.9.1