| | |
| | | 929710 |
| | | |
| | | |
| | | // pages/resourceDetails/document/index.js |
| | | import Toast from 'tdesign-miniprogram/toast/index'; |
| | | const app = getApp() |
| | |
| | | }; |
| | | 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(); |
| | | }); |
| | | }, |
| | | |
| | | // 判断当前目标是否已购买 |
| | |
| | | let query = { |
| | | path: '*', |
| | | queryType: '*', |
| | | cmsType: '*', |
| | | productId: this.data.bookId, |
| | | cmsPath: this.data.parentProductLinkPath, |
| | | cmsPath: this.data.bookDetail.rootCmsItemId, |
| | | itemFields: { |
| | | SysType: 'CmsFolder', |
| | | // 资源类型,试读文件,是否允许下载等参数 |
| | | selectType: [], |
| | | freeFile: [], |
| | | file: [], |
| | |
| | | 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) |
| | | } |
| | | }) |
| | | }, |
| | |
| | | }); |
| | | }, |
| | | //刚进来的时候调用 |
| | | 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, |
| | | }) |
| | |
| | | } |
| | | //文档等 |
| | | 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', |