packageBookService/pages/bookServices/detail/components/tree/index.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
packageDomain/pages/resourceDetails/document/index.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
packageDomain/pages/resourceDetails/myAudio/index.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
packageDomain/pages/resourceDetails/myVideo/index.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
packageBookService/pages/bookServices/detail/components/tree/index.js
@@ -237,10 +237,10 @@ let buyList = [] if (learn.length) buyList = learn.filter((item) => this.properties.buyIds.includes(item.saleMethod.find((citem) => citem.SaleType == 'Normal').Id)) // 有父级(包含销售方式),且未购买 if (learn.length && !buyList.length) return wx.showToast({ icon: 'error', title: '请先购买该资源', }) // if (learn.length && !buyList.length) return wx.showToast({ // icon: 'error', // title: '请先购买该资源', // }) if (item.protectedFile || item.freeFile) { let file = item.fileMap[item.protectedFile] ? item.fileMap[item.protectedFile] : item.fileMap[item.freeFile] if (file && file.protectType !== "Public") { @@ -266,7 +266,7 @@ url = "/packageDomain/pages/resourceDetails/document/index"; } wx.navigateTo({ url: `${url}?productLinkPath=${item.productLinkPath}&parentProductLinkPath=${parentProductLinkPath}&parentName=${parentName}&activeId=${item.id}&bookId=${this.properties.bookInfo.id}&bookName=${this.properties.bookInfo.name}&cmsId=${this.properties.bookInfo.rootCmsItemId}&formPath=${this.properties.tab}&applyState=${this.properties.applyState}&deadline=${this.properties.deadline}`, url: `${url}?productLinkPath=${item.productLinkPath}&parentProductLinkPath=${parentProductLinkPath}&parentName=${parentName}&activeId=${item.id}&bookId=${this.properties.bookInfo.id}&bookName=${this.properties.bookInfo.name}&cmsId=${this.properties.bookInfo.rootCmsItemId}&formPath=${this.properties.tab}&applyState=${this.properties.applyState}&deadline=${this.properties.deadline}&source=qrcode`, }); }, packageDomain/pages/resourceDetails/document/index.js
@@ -26,6 +26,7 @@ parentName: '', parentProductLinkPath: '', productLinkPath: '', isBuy: false, showData: '', titleName: '', selectType: '', @@ -36,13 +37,23 @@ pdfDatA: [], startTime: "", //进入页面当前时间 pauseTime: 0, //暂停时间 formPath: '', applyState: '', deadline: '', lzoomFlag: false, //定义 缩放事件 节流阀,防止一次缩放触发两次缩放事件 distance: 0, //记录手指移动距离 scale: 1, //定义初始化的页面缩放大小 newScale: 1, //记录新的页面缩放大小 pdfSrc: '' pdfSrc: '', buyIdList: [], buyList: [], learnClassData: null, isLearnDataBuy: false, bookDetail: null, learnStartTime: 0, learnTimeList: [], learnTimeData: 0, threeLeveData: [] }, /** * 生命周期函数--监听页面加载 @@ -66,19 +77,34 @@ parentProductLinkPath: options.parentProductLinkPath, productLinkPath: options.productLinkPath, applyState: options.applyState, deadline: options.deadline deadline: options.deadline, formPath: options.formPath, }) const token = wx.getStorageSync(app.config.tokenKey) if (!token) { loginInfo(app, (data) => { if (data) { this.resourceDetailsData() } else { this.resourceDetailsData() if (options.formPath == 'jsek_cloudLearning') { this.setData({ learnStartTime: Date.now(), }) this.getLearnTime() } this.getBookInfo(this.data.bookId) // if (data) { // this.resourceDetailsData() // } else { // this.resourceDetailsData() // } }) } else { this.resourceDetailsData() if (options.formPath == 'jsek_cloudLearning') { this.setData({ learnStartTime: Date.now(), }) this.getLearnTime() } this.getBookInfo(this.data.bookId) // this.resourceDetailsData() } }, @@ -108,6 +134,10 @@ if (wx.getStorageSync(app.config.tokenKey)) { let duration = this.data.pauseTime - this.data.startTime this.count(duration) if (this.data.formPath == 'jsek_cloudLearning') { let cloudDuration = this.data.pauseTime - this.data.learnStartTime this.cloudCount(cloudDuration) } } }, @@ -121,6 +151,10 @@ if (wx.getStorageSync(app.config.tokenKey)) { let duration = this.data.pauseTime - this.data.startTime this.count(duration) if (this.data.formPath == 'jsek_cloudLearning') { let cloudDuration = this.data.pauseTime - this.data.learnStartTime this.cloudCount(cloudDuration) } } }, @@ -142,6 +176,47 @@ } app.MG.job.newJobWithApiNewEvent(data).then((res) => {}) }, getLearnTime() { app.MG.identity .getUserKey({ domain: 'cloudLearningTime', keys: [this.data.bookId] }) .then((res) => { if (res.length > 0) { if (JSON.parse(res[0].value) && JSON.parse(res[0].value).length > 0) { this.setData({ learnTimeList: JSON.parse(res[0].value), learnTimeData: JSON.parse(res[0].value)[0].learnTime, }) } else { this.setData({ learnTimeList: [], learnTimeData: 0 }) } } }) }, cloudCount(timeStr) { let time = Number(this.data.learnTimeData) + Number(timeStr) this.setData({ learnTimeList: [{ learnTime: time }], }) app.MG.identity .setUserKey({ setKeyRequests: [{ domain: 'cloudLearningTime', key: this.data.bookId, value: JSON.stringify(this.data.learnTimeList) }] }) .then((res) => { console.log(timeStr, '学习时长') }) }, /** * 页面相关事件处理函数--监听用户下拉动作 */ @@ -161,6 +236,82 @@ onShareTimeline() {}, goBack() { wx.navigateBack() }, // 获取图书详情 getBookInfo(id) { const query = { path: "*", queryType: "*", productId: id, favoriteTypes: "FavoriteBookCity", itemFields: { "SysType=": "CmsFolder", }, coverSize: { height: 1, }, fields: {}, }; 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 }) this.resourceDetailsData() }) }, resourceDetailsData() { @@ -195,16 +346,100 @@ query.storeInfo = this.data.storeInfo } app.MG.store.getProductDetail(query).then((res) => { this.setData({ isBuy: res.datas.purchasedSaleMethodIdList.includes(res.datas.defaultSaleMethodId) }) 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 // }) // } else { // return wx.showToast({ // icon: 'none', // title: '暂无资源', // }) // } 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) } } 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) } } } } } }) 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 { this.setData({ threeLeveData: [] }) } } 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 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`, }); } }) }) }, //zpi文件下载 @@ -284,6 +519,7 @@ }, //刚进来的时候调用 handleTeachData(item) { //图片 if (item.selectType == 'picture' || item.learnSelectType == 'picture') { let file = item.file ? item.file : item.protectedFile ? item.protectedFile : item.freeFile packageDomain/pages/resourceDetails/myAudio/index.js
@@ -57,10 +57,11 @@ buyIdList: [], buyList: [], learnClassData: null, isLearnDataBuy: false, bookDetail: null, learnStartTime: 0, learnTimeList: [], learnTimeData: 0 learnTimeData: 0, }, format(time) { @@ -279,7 +280,6 @@ }; if (this.data.storeInfo) query['storeInfo'] = this.data.storeInfo app.MG.store.getProductDetail(query).then(async (res) => { console.log('图书详情', res); this.setData({ bookDetail: res.datas, buyIdList: res.datas.purchasedSaleMethodIdList, @@ -308,12 +308,24 @@ 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(learnClassData) 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 }) } } } this.setData({ buyList }) console.log('云学习', buyList); }) }, @@ -373,13 +385,12 @@ let selectedId = -1; // 初始化选中项索引 let showDataUrl = ''; let titleName = ''; console.log(res.datas.cmsDatas[0].datas, 1) 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 (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') { @@ -390,14 +401,47 @@ } } else { if (this.data.buyList.length) { if (this.data.buyList.some(citem => item.productLinkPath.includes(citem.productLinkPath))) this.data.threeLeveData.push(item) 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) 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) if (qrData && this.data.isLearnDataBuy) { if (qrData) { this.setData({ threeLeveData: [qrData] }) } } else { this.setData({ threeLeveData: [] }) } } else { this.setData({ threeLeveData: this.data.threeLeveData }) } 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]; @@ -418,8 +462,16 @@ loading: false, hidden: false }); console.log(1, this.data); 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`, }); } }); }, @@ -440,7 +492,7 @@ }) if (item.selectType == "audio" || item.learnSelectType === "audio") { if (this.data.formPath == 'jsek_cloudLearning') { let file = item.protectedFile ? item.protectedFile : item.file let file = item.protectedFile ? item.protectedFile : item.freeFile // 这里处理云学习的 this.setData({ showData: app.config.requestCtx + '/file/api/ApiDownloadForAuthorize?md5=' + file + '&token=' + wx.getStorageSync(app.config.tokenKey) @@ -450,7 +502,6 @@ this.setData({ showData: item.file ? app.config.requestCtx + '/file/api/ApiDownload?md5=' + item.file : app.config.requestCtx + '/file/api/ApiDownload?md5=' + item.freeFile }) console.log(2, this.data); this.pubulicPlayFun() } } packageDomain/pages/resourceDetails/myVideo/index.js
@@ -55,6 +55,7 @@ buyIdList: [], buyList: [], learnClassData: null, isLearnDataBuy: false, bookDetail: null, learnStartTime: 0, learnTimeList: [], @@ -260,13 +261,28 @@ 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) 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 }) this.resourceDetailsData() console.log('云学习', this.data.buyList); }) }, count(timeStr) { @@ -353,11 +369,11 @@ isBuy: res.datas.purchasedSaleMethodIdList.includes(res.datas.defaultSaleMethodId) }) res.datas.cmsDatas[0].datas.forEach((item) => { if (this.data.source == 'qrcode') { if (item.id == this.data.activeId) { this.data.threeLeveData.push(item); } } else { // if (this.data.source == 'qrcode') { // if (item.id == this.data.activeId) { // this.data.threeLeveData.push(item); // } // } else { if (item.selectType === "video" || item.learnSelectType === "video") { if (this.data.storeInfo == 'jsek_digitalCourses') { // if (item.sysType == 'CmsItem') this.data.threeLeveData.push(item) @@ -391,13 +407,29 @@ } } } } // } }) 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 { this.setData({ threeLeveData: [] }) } } else { this.setData({ threeLeveData: this.data.threeLeveData }) } } }) console.log(1, this.data.threeLeveData); 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") { @@ -421,6 +453,16 @@ }); } }); } 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.setData({ loading: false, hidden: false,