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 | 149 +++++++++++++++++++++++-------------------------- 1 files changed, 70 insertions(+), 79 deletions(-) diff --git a/packageDomain/pages/resourceDetails/myVideo/index.js b/packageDomain/pages/resourceDetails/myVideo/index.js index efda51a..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,17 +329,15 @@ goBack() { wx.navigateBack(); }, - - // 鍒ゆ柇褰撳墠鐩爣鏄惁宸茶喘涔� - async getCmsDataByQrcode() { + async getBuyCmsItem() { + let cmsItemData = null let query = { - storeInfo: this.data.storeInfo, path: '*', queryType: '*', + cmsType: '*', productId: this.data.bookId, - itemId: this.data.activeId, + cmsPath: this.data.bookDetail.rootCmsItemId, itemFields: { - // 璧勬簮绫诲瀷锛岃瘯璇绘枃浠讹紝鏄惁鍏佽涓嬭浇绛夊弬鏁� selectType: [], freeFile: [], file: [], @@ -356,10 +354,59 @@ size: 999 } } - const data = await app.MG.store.getProductDetail(query) - return data?.datas ?? [] + 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, @@ -394,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) @@ -406,61 +453,21 @@ this.data.threeLeveData.push(item) } } - } else { - if (this.data.productLinkPath == item.productLinkPath) { - // 涔颁簡 - if (this.data.buyList.length) { - if (this.data.buyList.some(citem => item.productLinkPath.includes(citem.productLinkPath))) { - this.data.threeLeveData.push(item) - } - } else { - if (!item.saleMethod.length) { - // 娌′拱涓旀棤閿�鍞柟寮� - this.data.threeLeveData.push(item) - } else { - // 娌′拱涓旈攢鍞柟寮忚繃鏈�//娌′拱锛岄攢鍞柟寮忎环鏍间负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) - } - } - } } - } - }) - if (this.data.source == 'qrcode') { - let qrData = this.data.threeLeveData.find(ditem => ditem.id == this.data.activeId) - const currentSaleMaths = await this.getCmsDataByQrcode() - // 鍒ゆ柇鏄惁璐拱鐩綍 - const catalg = currentSaleMaths?.saleMethod?.find(i => currentSaleMaths.purchasedSaleMethodIdList.includes(i.Id)) - // 鍒ゆ柇鏄惁璐拱璧勬簮鏈韩 - const ownCms = qrData?.saleMethods?.find(i => currentSaleMaths.purchasedSaleMethodIdList.includes(i.Id)) - if (catalg || ownCms) { - if (qrData) { - this.setData({ - threeLeveData: [qrData] - }) - } - } else { - this.setData({ - threeLeveData: [] - }) - } - } else { - this.setData({ - threeLeveData: this.data.threeLeveData }) + } 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) { @@ -489,28 +496,12 @@ } } }); - } else { - 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() - } - } - } - }) - } this.setData({ loading: false, hidden: false, toView: 'activeName' + this.data.selectedId, + threeLeveData: this.data.threeLeveData }) }) }, @@ -522,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