| | |
| | | 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 (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) |
| | | } 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.protectedFile) && item.freeFile) { |
| | | const state = this.data.threeLeveData.find(citem => citem.id == item.id) |
| | | if (!state) |
| | | 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.cmsItemIsBuy(qrData)) { |
| | | let qrData = res.datas.cmsDatas[0].datas.find(ditem => ditem.id == this.data.activeId) |
| | | if (qrData) { |
| | | this.setData({ |
| | | threeLeveData: [qrData] |
| | | }) |
| | | } else { |
| | | this.setData({ |
| | | threeLeveData: [] |
| | | }) |
| | | } |
| | | } 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 = 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 |
| | | } |
| | | titleName = datas.name; |
| | | } |
| | | |
| | | this.setData({ |
| | | threeLeveData: this.data.threeLeveData, |
| | | selectedId: selectedId, |
| | |
| | | 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`, |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | |
| | | }) |
| | | if (this.data.source == 'qrcode') { |
| | | wx.navigateTo({ |
| | | url: `/packageBookService/pages/bookServices/detail/index?id=${this.data.bookDetail.id}&name=${this.data.bookDetail.name}&tabValue=jsek_cloudLearning`, |
| | | url: `/packageBookService/pages/bookServices/detail/index?id=${this.data.bookDetail.id}&name=${this.data.bookDetail.name}&tabValue=${this.data.formPath}`, |
| | | }); |
| | | } else { |
| | | wx.navigateBack() |