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/myAudio/index.js | 154 +++++++++++++++++++++++++++++++-------------------- 1 files changed, 93 insertions(+), 61 deletions(-) diff --git a/packageDomain/pages/resourceDetails/myAudio/index.js b/packageDomain/pages/resourceDetails/myAudio/index.js index 85e1bc6..fddbf2f 100644 --- a/packageDomain/pages/resourceDetails/myAudio/index.js +++ b/packageDomain/pages/resourceDetails/myAudio/index.js @@ -63,6 +63,11 @@ learnTimeList: [], learnTimeData: 0, toView: 'activeName', + promptVisable: false, + confirmBtn: { + content: '纭畾', + variant: 'base', + }, }, format(time) { @@ -139,6 +144,13 @@ onShow() { this.setData({ startTime: Date.now() + }) + myAudio.onEnded((e) => { + const data = this.data.threeLeveData.find(item => item.id == this.data.activeId) + if (data.freeFile && this.data.showData.includes(data.freeFile) && data.protectedFile) + this.setData({ + promptVisable: true + }) }) }, @@ -296,7 +308,6 @@ const buyList = res.datas.cmsDatas[0].datas.filter(item => item.saleMethod.length && this.data.buyIdList.includes(item.saleMethod.find(citem => citem.SaleType == 'Normal').Id)) if (this.data.learnClassData && this.data.learnClassData.saleMethod.length) { const learnSaleMethod = this.data.learnClassData.saleMethod.find(citem => citem.SaleType == 'Normal') - // if (this.data.buyIdList.includes(learnSaleMethod.Id)) buyList.push(learnClassData) if (this.data.buyIdList.includes(learnSaleMethod.Id)) { buyList.push(this.data.learnClassData) } else { @@ -375,79 +386,77 @@ 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 = ''; - res.datas.cmsDatas[0].datas.forEach((item, index) => { - // if (this.data.source == 'qrcode') { - // if (item.id == this.data.activeId) { - // this.data.threeLeveData.push(item); - // } - // } else { - if (item.selectType === "audio" || item.learnSelectType === "audio") { - if (this.data.storeInfo == 'jsek_digitalCourses') { - if (item.sysType == 'CmsItem') { - this.data.threeLeveData.push(item) - } - if (item.sysType == 'CmsItem' && item.freeFile) { - this.data.threeLeveData.push(item) - } - } else { - 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) - 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) - } - } - } - } - // } - }); + const list = res.datas.cmsDatas[0]?.datas if (this.data.source == 'qrcode') { - let qrData = this.data.threeLeveData.find(ditem => ditem.id == this.data.activeId) - if (qrData && this.data.isLearnDataBuy) { - if (qrData) { - this.setData({ - threeLeveData: [qrData] - }) - } - } else { + let qrData = res.datas.cmsDatas[0].datas.find(ditem => ditem.id == this.data.activeId) + if (qrData) { this.setData({ - threeLeveData: [] + threeLeveData: [qrData] }) } } else { this.setData({ - threeLeveData: this.data.threeLeveData + threeLeveData: [] }) + } + for (const item of list) { + if (item.selectType === "audio" || item.learnSelectType === "audio") + if (this.data.storeInfo == 'jsek_digitalCourses') { + if (this.data.isBuy) { + if (item.sysType == 'CmsItem') { + this.data.threeLeveData.push(item) + } + } else { + if (item.sysType == 'CmsItem' && item.freeFile) { + this.data.threeLeveData.push(item) + } + } + } else { + const isBuyCms = await app.MG.file.checkCmsItem({ + cmsItemId: Number(item.id) + }) + item.isBuyCms = isBuyCms + if (isBuyCms) { + this.data.threeLeveData.push(item) + } else { + if (item.freeFile) { + this.data.threeLeveData.push(item) + } else { + wx.showModal({ + icon: 'error', + title: '娓╅Θ鎻愮ず', + content: '璇疯喘涔拌祫婧愶紝鍗冲皢杩斿洖璐拱椤�', + confirmText: '纭畾', + showCancel: false, // 鍏抽棴鍙栨秷鎸夐挳 + success: (cres) => { + if (cres.confirm) { + wx.navigateTo({ + url: '/packageBookService/pages/bookServices/detail/index?id=' + this.data.bookId + '&name=' + this.data.bookName + '&tabValue=' + this.data.formPath, + }) + } + } + }); + return; // 鐩存帴杩斿洖锛岄伩鍏嶆墽琛屽悗缁唬鐮� + } + } + } } 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 = datas.protectedFile ? datas.protectedFile : 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 } titleName = datas.name; } - this.setData({ threeLeveData: this.data.threeLeveData, selectedId: selectedId, @@ -458,14 +467,6 @@ toView: 'activeName' + selectedId, }); this.pubulicPlayFun(); - } else { - wx.showToast({ - icon: 'none', - title: '璇峰厛杩斿洖璧勬簮鎵�鍦ㄥ浘涔﹁鎯呰喘涔拌棰戣祫婧�', - }) - wx.navigateTo({ - url: `/packageBookService/pages/bookServices/detail/index?id=${this.data.bookDetail.id}&name=${this.data.bookDetail.name}&tabValue=jsek_cloudLearning`, - }); } }); }, @@ -824,7 +825,6 @@ } setTimeout(() => { - myAudio.startTime = this.data.myAudioDuration //寮�濮嬫椂闂� myAudio.playbackRate = this.data.speed; // 鎾斁閫熺巼 }, 200); @@ -925,4 +925,36 @@ .then((res) => {}) } }, + // 鍒ゆ柇褰撳墠鐐瑰嚮鐨勬暟鎹槸鍚﹁喘涔� + cmsItemIsBuy(item) { + let flag = false + // 涔颁簡 + if (this.data.buyList.length) { + if (this.data.buyList.some(citem => item.productLinkPath.includes(citem.productLinkPath))) + flag = true + } else { + // 娌′拱涓旀棤閿�鍞柟寮� + if (!item.saleMethod.length) { + flag = true + } else { + // 娌′拱涓旈攢鍞柟寮忚繃鏈�//娌′拱锛岄攢鍞柟寮忎环鏍间负0 + const itemSaleMethod = item.saleMethod.find(citem => citem.SaleType == 'Normal') + if (new Date().getTime() > new Date(itemSaleMethod.EndDate).getTime() || itemSaleMethod.Price == 0) flag = true + } + } + return flag + }, + // 鎻愮ず寮圭獥鍏抽棴 + closePromapDialog() { + this.setData({ + promptVisable: false + }) + 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() + } + } }) \ No newline at end of file -- Gitblit v1.9.1