From 8f3c61c740322c6a9eb5314a05e43016a5f2191c Mon Sep 17 00:00:00 2001 From: QYF-GitLab1 <1940665526@qq.com> Date: 星期日, 13 七月 2025 18:17:41 +0800 Subject: [PATCH] 资源扫码 --- packageDomain/pages/resourceDetails/document/index.js | 190 ++++++++++++++++++++++++---------------------- 1 files changed, 99 insertions(+), 91 deletions(-) diff --git a/packageDomain/pages/resourceDetails/document/index.js b/packageDomain/pages/resourceDetails/document/index.js index dac4ffc..3276d2a 100644 --- a/packageDomain/pages/resourceDetails/document/index.js +++ b/packageDomain/pages/resourceDetails/document/index.js @@ -1,3 +1,6 @@ +929710 + + // pages/resourceDetails/document/index.js import Toast from 'tdesign-miniprogram/toast/index'; const app = getApp() @@ -6,7 +9,6 @@ } from '../../../../assets/js/login'; import XLSX from '../../../../utils/xlsx.mini.min'; Page({ - /** * 椤甸潰鐨勫垵濮嬫暟鎹� */ @@ -55,7 +57,13 @@ learnTimeList: [], learnTimeData: 0, threeLeveData: [], - selectTypeData: '' + selectTypeData: '', + promptVisable: false, + showMd5: '', + confirmBtn: { + content: '纭畾', + variant: 'base', + }, }, /** * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇 @@ -90,14 +98,10 @@ } this.getBookInfo(this.data.bookId) }, - /** * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍒濇娓叉煋瀹屾垚 */ - onReady() { - - }, - + onReady() {}, /** * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鏄剧ず */ @@ -106,7 +110,6 @@ startTime: Date.now() }) }, - /** * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰闅愯棌 */ @@ -123,7 +126,6 @@ } } }, - /** * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍗歌浇 */ @@ -140,7 +142,6 @@ } } }, - count(timeStr) { const data = { appRefCode: app.config.appRefCode, @@ -203,15 +204,11 @@ /** * 椤甸潰鐩稿叧浜嬩欢澶勭悊鍑芥暟--鐩戝惉鐢ㄦ埛涓嬫媺鍔ㄤ綔 */ - onPullDownRefresh() { - - }, - + onPullDownRefresh() {}, /** * 椤甸潰涓婃媺瑙﹀簳浜嬩欢鐨勫鐞嗗嚱鏁� */ onReachBottom() {}, - /** * 鐢ㄦ埛鐐瑰嚮鍙充笂瑙掑垎浜� */ @@ -220,7 +217,6 @@ goBack() { wx.navigateBack() }, - // 鑾峰彇鍥句功璇︽儏 getBookInfo(id) { const query = { @@ -297,6 +293,36 @@ }) }, + // 鍒ゆ柇褰撳墠鐩爣鏄惁宸茶喘涔� + async getCmsDataByQrcode() { + let query = { + storeInfo: this.data.storeInfo, + path: '*', + queryType: '*', + productId: this.data.bookId, + itemId: this.data.activeId, + itemFields: { + // 璧勬簮绫诲瀷锛岃瘯璇绘枃浠讹紝鏄惁鍏佽涓嬭浇绛夊弬鏁� + selectType: [], + freeFile: [], + file: [], + protectedFile: [], + resourcesClassification: [], + isDownload: [], + jsek_resourceBrief: [], + jsek_link: [], + jsek_questionBank: [], + learnSelectType: [] + }, + pading: { + start: 0, + size: 999 + } + } + const data = await app.MG.store.getProductDetail(query) + return data?.datas ?? [] + }, + resourceDetailsData() { wx.showLoading({ title: '姝e湪鍔犺浇...', @@ -328,7 +354,7 @@ if (this.data.storeInfo) { query.storeInfo = this.data.storeInfo } - app.MG.store.getProductDetail(query).then((res) => { + app.MG.store.getProductDetail(query).then(async (res) => { this.setData({ isBuy: res.datas.purchasedSaleMethodIdList.includes(res.datas.defaultSaleMethodId) }) @@ -385,12 +411,15 @@ }) 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] - }) - } + const currentSaleMaths = await this.getCmsDataByQrcode() + // 鍒ゆ柇鏄惁璐拱鐩綍 + const catalg = currentSaleMaths?.saleMethod?.find(i => currentSaleMaths.purchasedSaleMethodIdList.includes(i.Id)) + // 鍒ゆ柇鏄惁璐拱璧勬簮鏈韩 + const ownCms = qrData.saleMethods?.find(i => currentSaleMaths.purchasedSaleMethodIdList.includes(i.Id)) + if (catalg || ownCms) { + this.setData({ + threeLeveData: [qrData] + }) } else { this.setData({ threeLeveData: [] @@ -500,7 +529,8 @@ let that = this //鍥剧墖 if (item.selectType == 'picture' || item.learnSelectType == 'picture') { - let file = item.file ? item.file : item.protectedFile ? item.protectedFile : item.freeFile + const isBuy = this.cmsItemIsBuy(item) + let file = isBuy ? item.protectedFile || item.file : item.freeFile this.setData({ showData: app.config.requestCtx + '/file/api/ApiDownload?md5=' + file, }) @@ -520,21 +550,14 @@ }) 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 + const isBuy = this.cmsItemIsBuy(item) + let md5 = isBuy ? item.protectedFile || item.file || item.freeFile : 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, @@ -580,7 +603,6 @@ } } }, - onClick() { this.setData({ images: [ @@ -597,19 +619,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 @@ -625,56 +644,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