From c192e381734b9caf173c90bb9141dff0326785ee Mon Sep 17 00:00:00 2001 From: QYF-GitLab1 <1940665526@qq.com> Date: 星期四, 17 七月 2025 14:20:11 +0800 Subject: [PATCH] 京师智教小程序的专题活动模块 不做点击进入页面提示复制链接 点击时直接提示“请移步PC端查看” --- packageDomain/pages/resourceDetails/document/index.js | 369 ++++++++++++++++------------------------------------ 1 files changed, 117 insertions(+), 252 deletions(-) diff --git a/packageDomain/pages/resourceDetails/document/index.js b/packageDomain/pages/resourceDetails/document/index.js index c5f9176..c5247eb 100644 --- a/packageDomain/pages/resourceDetails/document/index.js +++ b/packageDomain/pages/resourceDetails/document/index.js @@ -6,7 +6,6 @@ } from '../../../../assets/js/login'; import XLSX from '../../../../utils/xlsx.mini.min'; Page({ - /** * 椤甸潰鐨勫垵濮嬫暟鎹� */ @@ -55,7 +54,13 @@ learnTimeList: [], learnTimeData: 0, threeLeveData: [], - selectTypeData: '' + selectTypeData: '', + promptVisable: false, + showMd5: '', + confirmBtn: { + content: '纭畾', + variant: 'base', + }, }, /** * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇 @@ -81,42 +86,20 @@ applyState: options.applyState, deadline: options.deadline, formPath: options.formPath, + source: options.source, }) - const token = wx.getStorageSync(app.config.tokenKey) - if (!token) { - loginInfo(app, (data) => { - if (options.formPath == 'jsek_cloudLearning') { - this.setData({ - learnStartTime: Date.now(), - }) - this.getLearnTime() - } - this.getBookInfo(this.data.bookId) - // if (data) { - // this.resourceDetailsData() - // } else { - // this.resourceDetailsData() - // } + if (options.formPath == 'jsek_cloudLearning') { + this.setData({ + learnStartTime: Date.now(), }) - } else { - if (options.formPath == 'jsek_cloudLearning') { - this.setData({ - learnStartTime: Date.now(), - }) - this.getLearnTime() - } - this.getBookInfo(this.data.bookId) - // this.resourceDetailsData() + this.getLearnTime() } + this.getBookInfo(this.data.bookId) }, - /** * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍒濇娓叉煋瀹屾垚 */ - onReady() { - - }, - + onReady() {}, /** * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鏄剧ず */ @@ -125,7 +108,6 @@ startTime: Date.now() }) }, - /** * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰闅愯棌 */ @@ -142,7 +124,6 @@ } } }, - /** * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍗歌浇 */ @@ -159,7 +140,6 @@ } } }, - count(timeStr) { const data = { appRefCode: app.config.appRefCode, @@ -222,15 +202,11 @@ /** * 椤甸潰鐩稿叧浜嬩欢澶勭悊鍑芥暟--鐩戝惉鐢ㄦ埛涓嬫媺鍔ㄤ綔 */ - onPullDownRefresh() { - - }, - + onPullDownRefresh() {}, /** * 椤甸潰涓婃媺瑙﹀簳浜嬩欢鐨勫鐞嗗嚱鏁� */ onReachBottom() {}, - /** * 鐢ㄦ埛鐐瑰嚮鍙充笂瑙掑垎浜� */ @@ -239,7 +215,6 @@ goBack() { wx.navigateBack() }, - // 鑾峰彇鍥句功璇︽儏 getBookInfo(id) { const query = { @@ -257,63 +232,19 @@ }; 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() - } + this.setData({ + bookDetail: res.datas + }) + 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() - }) + + // 鍒ゆ柇褰撳墠鐩爣鏄惁宸茶喘涔� + async getCmsDataByQrcode() { + const query = { + cmsItemId: Number(this.data.activeId) + }; + return app.MG.file.checkCmsItem(query) }, resourceDetailsData() { @@ -323,11 +254,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: [], @@ -347,100 +277,53 @@ if (this.data.storeInfo) { query.storeInfo = this.data.storeInfo } - app.MG.store.getProductDetail(query).then((res) => { - this.setData({ - isBuy: res.datas.purchasedSaleMethodIdList.includes(res.datas.defaultSaleMethodId) + app.MG.store.getProductDetail(query).then(async (res) => { + 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 - // }) - // } 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) - } + let isBuy = 1; + // ###杩欓噷鐨勯�昏緫鏄粠鏈�瀛愬眰寮�濮嬪垽鏂紝鏈�瀛愬眰鐨剆alemethod浼樺厛绾ф渶楂橈紝濡傛灉灏嗕簯瀛︿範鐨剆alemethod浼樺厛绾ц涓烘渶楂橈紝闇�瑕佸湪鍒ゆ柇鍓嶏紝灏哾ataList涓殑浜戝涔犻�氳繃refcode婊ゅ嚭锛屽厛鍒ゆ柇浜戝涔狅紝鍐嶅垽鏂悗缁殑浠g爜 + 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 || dataItem.saleMethod[0].Price == 0) { + 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) - if (qrData && this.data.isLearnDataBuy) { - if (qrData) { - this.setData({ - threeLeveData: [qrData] - }) - } + } + if (isBuy == 2) { + // 鏈喘涔� + if (dataList[0].freeFile) { + this.handleTeachData(dataList[0], true) } 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) } }) }, @@ -520,11 +403,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') { - let file = item.file ? item.file : item.protectedFile ? item.protectedFile : item.freeFile + let file = isTry ? item.freeFile : item.protectedFile || item.file this.setData({ showData: app.config.requestCtx + '/file/api/ApiDownload?md5=' + file, }) @@ -544,21 +432,13 @@ }) wx.hideLoading(); } - // if (item.selectType == 'pdf') { - // console.log('pdf', item); - // wx.hideLoading() - // let md5 = item.file ? item.file : item.freeFile - // let pdfSrc = app.config.pdfUrl + "?MD5=" + md5 + "&url=" + app.config.requestCtx + '¤tPage=' + "1" + "&isPreview=" + false + "&warterMark=" + "鍖椾含甯堣寖澶у鍑虹増绀�" + "&previewPages=" + 30 + "&token=" + wx.getStorageSync(app.config.tokenKey) - // this.setData({ - // pdfSrc: pdfSrc - // }) - // } //鏂囨。绛� if (item.selectType == 'document' || item.selectType == 'pdf' || item.learnSelectType == 'document' || item.learnSelectType == 'pdf') { - let md5 = item.file ? item.file : item.protectedFile ? item.protectedFile : 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' + selectTypeData: 'excel', + showMd5: md5, }) wx.request({ url: app.config.requestCtx + '/file/api/ApiDownload?md5=' + md5, @@ -604,7 +484,6 @@ } } }, - onClick() { this.setData({ images: [ @@ -621,19 +500,16 @@ } = e.detail; console.log('change', index); }, - onDelete(e) { const { index } = e.detail; - Toast({ context: this, selector: '#t-toast', message: `鍒犻櫎绗�${index + 1}涓猔, }); }, - onClose(e) { const { trigger @@ -649,56 +525,45 @@ urls: urls // 闇�瑕侀瑙堢殑鍥剧墖http閾炬帴鍒楄〃 }) }, - - // myTouchStart(e) { - // //---------------------璁板綍缂╂斁浜嬩欢淇℃伅--------------------- - // // 褰撲袱鏍规墜鎸囨斁涓婂幓鐨勬椂鍊欙紝灏嗚窛绂�(distance)鍒濆鍖栥�� - // let xMove = e.touches[1].clientX - e.touches[0].clientX; - // let yMove = e.touches[1].clientY - e.touches[0].clientY; - // //璁$畻寮�濮嬭Е鍙戜袱涓墜鎸囧潗鏍囩殑璺濈 - // const distance = Math.sqrt(xMove * xMove + yMove * yMove); - // this.setData({ - // distance: distance - // }) - // //---------------------璁板綍缂╂斁浜嬩欢淇℃伅end--------------------- - // }, - // myTouchMove(e) { - // // ----------------鐩戝惉鎵嬪娍缂╁皬鏀惧ぇ浜嬩欢---------------- - // // 鍗曟墜鎸囩缉鏀句笉鍋氫换浣曟搷浣� - // if (e.touches.length != 1) { - // //鍙屾墜鎸囪繍鍔� x绉诲姩鍚庣殑鍧愭爣鍜寉绉诲姩鍚庣殑鍧愭爣 - // let xMove = e.touches[1].clientX - e.touches[0].clientX; - // let yMove = e.touches[1].clientY - e.touches[0].clientY; - // //鍙屾墜鎸囪繍鍔ㄦ柊鐨� ditance - // let newDistance = Math.sqrt(xMove * xMove + yMove * yMove); - // //璁$畻绉诲姩鐨勮繃绋嬩腑瀹為檯绉诲姩浜嗗灏戠殑璺濈 - // let distanceDiff = newDistance - this.data.distance; - // // newScale = scale + 0.005 * distanceDiff - // console.log('绉诲姩璺濈', distanceDiff); - // this.setData({ - // newScale: this.data.newScale + 0.005 * distanceDiff - // }) - // // 鎵撳紑缂╂斁鐩戝惉 - // // zoomFlag = true - // this.setData({ - // lzoomFlag: true - // }) - // return - // } - // // ----------------鐩戝惉鎵嬪娍缂╁皬鏀惧ぇ浜嬩欢end---------------- - // }, - // myTouchEnd() { - // if (this.data.lzoomFlag) { - // if (this.data.newScale > 1.3) { - // console.log("鏀惧ぇ浜�", this.data.newScale); - // } else if (this.data.newScale < 0.7, this.data.newScale) { - // console.log("缂╁皬浜�"); - // } - // // 鍏抽棴缂╂斁鐩戝惉 - // // zoomFlag = false - // this.setData({ - // lzoomFlag: false - // }) - // } - // }, + // 鍒ゆ柇褰撳墠鐐瑰嚮鐨勬暟鎹槸鍚﹁喘涔� + 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 + }, + // + scrolltolower(e) { + const activeData = this.data.threeLeveData.find(item => item.id == this.data.activeId) + const flag = this.data.naturalResources.some(item => item.includes(activeData.freeFile)) + if ((this.data.showMd5 == activeData.freeFile || flag) && activeData.protectedFile) + this.setData({ + promptVisable: true + }) + }, + // 鎻愮ず寮圭獥鍏抽棴 + 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