From aaa80e6ca58311aa636019e1cec4aed738196519 Mon Sep 17 00:00:00 2001 From: YM <479443481@qq.com> Date: 星期三, 16 七月 2025 21:05:04 +0800 Subject: [PATCH] 修复扫码激活中代码错误,调整文档资源浏览页面的购买逻辑 --- packageDomain/pages/resourceDetails/document/index.js | 203 ++++++++++++-------------------------------------- 1 files changed, 50 insertions(+), 153 deletions(-) diff --git a/packageDomain/pages/resourceDetails/document/index.js b/packageDomain/pages/resourceDetails/document/index.js index 14027c6..ae51bb6 100644 --- a/packageDomain/pages/resourceDetails/document/index.js +++ b/packageDomain/pages/resourceDetails/document/index.js @@ -1,6 +1,3 @@ -929710 - - // pages/resourceDetails/document/index.js import Toast from 'tdesign-miniprogram/toast/index'; const app = getApp() @@ -234,63 +231,11 @@ }; if (this.data.storeInfo) query['storeInfo'] = this.data.storeInfo app.MG.store.getProductDetail(query).then(async (res) => { - try { - this.setData({ - bookDetail: res.datas, - buyIdList: res.datas.purchasedSaleMethodIdList, - learnClassData: res.datas.cmsDatas[0].datas.length > 0 ? res.datas.cmsDatas[0].datas.find(item => item.refCode == "jsek_cloudLearning") : null - }) - } catch (error) {} - if (this.data.learnClassData) { - this.getResourceDataList(this.data.learnClassData) - } else { - this.resourceDetailsData() - } - }); - }, - // 鏁欏璧勬簮 浜戝涔� 鑾峰彇 - getResourceDataList(type) { - let query = { - path: '*', - queryType: '*', - productId: this.data.bookDetail.id, - cmsPath: type.productLinkPath, - cmsType: '*', - itemFields: { - SysType: 'CmsFolder', - }, - pading: { - start: 0, - size: 999 - }, - } - app.MG.store.getProductDetailNoChildren(query).then((res) => { - 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(this.data.learnClassData) - } else { - if (new Date().getTime() > new Date(learnSaleMethod.EndDate).getTime() || learnSaleMethod.Price == 0) { - this.setData({ - isLearnDataBuy: true - }) - } else { - this.setData({ - isLearnDataBuy: false - }) - } - } - } else { - this.setData({ - isLearnDataBuy: true - }) - } this.setData({ - buyList: buyList + bookDetail: res.datas }) - this.resourceDetailsData() - }) + this.resourceDetailsData(); + }); }, // 鍒ゆ柇褰撳墠鐩爣鏄惁宸茶喘涔� @@ -308,11 +253,10 @@ let query = { path: '*', queryType: '*', + cmsType: '*', productId: this.data.bookId, - cmsPath: this.data.parentProductLinkPath, + cmsPath: this.data.bookDetail.rootCmsItemId, itemFields: { - SysType: 'CmsFolder', - // 璧勬簮绫诲瀷锛岃瘯璇绘枃浠讹紝鏄惁鍏佽涓嬭浇绛夊弬鏁� selectType: [], freeFile: [], file: [], @@ -333,101 +277,51 @@ query.storeInfo = this.data.storeInfo } app.MG.store.getProductDetail(query).then(async (res) => { - this.setData({ - isBuy: res.datas.purchasedSaleMethodIdList.includes(res.datas.defaultSaleMethodId) + 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; }) - res.datas.cmsDatas[0].datas.forEach((item) => { - if (this.data.productLinkPath == item.productLinkPath) { - this.handleTeachData(item) - this.setData({ - titleName: item.name, - selectType: item.selectType, - learnSelectType: item.learnSelectType - }) - } - if (this.data.storeInfo == 'jsek_digitalCourses') { - if (this.data.isBuy) { - if (this.data.productLinkPath == item.productLinkPath) { - this.data.threeLeveData.push(item) - } - } else { - if (this.data.productLinkPath == item.productLinkPath && item.freeFile) { - this.data.threeLeveData.push(item) - } - } - } else { - // 涔颁簡 - if (this.data.buyList.length) { - if (this.data.buyList.some(citem => item.productLinkPath.includes(citem.productLinkPath))) { - if (this.data.productLinkPath == item.productLinkPath) { - this.data.threeLeveData.push(item) - } - } - } else { - if (!item.saleMethod.length) { - // 娌′拱涓旀棤閿�鍞柟寮� - if (this.data.productLinkPath == item.productLinkPath) { - this.data.threeLeveData.push(item) - } + 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 { - // 娌′拱涓旈攢鍞柟寮忚繃鏈�//娌′拱锛岄攢鍞柟寮忎环鏍间负0 - const itemSaleMethod = item.saleMethod.find(citem => citem.SaleType == 'Normal') - if (new Date().getTime() > new Date(itemSaleMethod.EndDate).getTime() || itemSaleMethod.Price == 0) { - if (this.data.productLinkPath == item.productLinkPath) { - this.data.threeLeveData.push(item) - } - } - // 娌′拱涓斿彧鏈夎瘯璇昏祫婧� - if (!item.file && item.freeFile) { - if (this.data.productLinkPath == item.productLinkPath) { - this.data.threeLeveData.push(item) - } - } + break; } } } - }) - if (this.data.source == 'qrcode') { - let qrData = this.data.threeLeveData.find(ditem => ditem.id == this.data.activeId) - const isBuyCms = await this.getCmsDataByQrcode() // 褰撳墠璧勬簮鎴栫埗绾х洰褰曟槸鍚﹁喘涔� - const isDefualtPrice = this.data.bookDetail?.defaultSaleMethod?.price // 褰撳墠涔︾殑浠烽粯璁ら攢鍞柟寮忎环鏍兼槸鍚︿负0 - const isBuyBook = this.data.bookDetail?.alreadyBuy // 褰撳墠涔︽槸鍚﹁喘涔� - if (isBuyCms) { - this.setData({ - threeLeveData: [qrData] - }) + } + if (isBuy == 2) { + // 鏈喘涔� + if (dataList[0].freeFile) { + this.handleTeachData(dataList[0], true) } else { - if (isDefualtPrice == 0 || isBuyBook) { - this.setData({ - threeLeveData: [qrData] - }) - } else { - this.setData({ - threeLeveData: [] - }) - } + 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 { - this.setData({ - threeLeveData: this.data.threeLeveData - }) - } - if (this.data.threeLeveData.length > 0) { - let item = this.data.threeLeveData[0] - this.handleTeachData(item) - this.setData({ - titleName: item.name, - selectType: item.selectType, - learnSelectType: item.learnSelectType, - }) - } 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`, - // }); + this.handleTeachData(dataList[0], false) } }) }, @@ -507,12 +401,16 @@ }); }, //鍒氳繘鏉ョ殑鏃跺�欒皟鐢� - handleTeachData(item) { + handleTeachData(item, isTry) { + this.setData({ + titleName: item.name, + selectType: item.selectType, + learnSelectType: item.learnSelectType, + }) let that = this //鍥剧墖 if (item.selectType == 'picture' || item.learnSelectType == 'picture') { - const isBuy = this.cmsItemIsBuy(item) - let file = isBuy ? item.protectedFile || item.file : item.freeFile + let file = isTry ? item.freeFile : item.protectedFile || item.file this.setData({ showData: app.config.requestCtx + '/file/api/ApiDownload?md5=' + file, }) @@ -534,8 +432,7 @@ } //鏂囨。绛� if (item.selectType == 'document' || item.selectType == 'pdf' || item.learnSelectType == 'document' || item.learnSelectType == 'pdf') { - const isBuy = this.cmsItemIsBuy(item) - let md5 = isBuy ? item.protectedFile || item.file || item.freeFile : item.freeFile + let md5 = isTry ? item.freeFile : item.protectedFile || item.file || item.freeFile if (item.fileMap[md5]?.extension == 'xlsx' || item.fileMap[md5]?.extension == 'xls') { this.setData({ selectTypeData: 'excel', -- Gitblit v1.9.1