From 0b9f190e5df708761642d9a688d251515c68a16f Mon Sep 17 00:00:00 2001 From: QYF-GitLab1 <1940665526@qq.com> Date: 星期四, 31 七月 2025 11:18:20 +0800 Subject: [PATCH] 优化资源查看逻辑 --- packageDomain/pages/resourceDetails/document/index.js | 43 ++++------ packageBookService/pages/bookServices/detail/buyResource/index.js | 16 --- packageBookService/pages/bookServices/detail/components/tree/index.js | 106 ++++++-------------------- packageBookService/pages/bookServices/detail/index.js | 52 ++++-------- packageCourse/pages/teachClass/detail/index.js | 1 5 files changed, 62 insertions(+), 156 deletions(-) diff --git a/packageBookService/pages/bookServices/detail/buyResource/index.js b/packageBookService/pages/bookServices/detail/buyResource/index.js index 423f6e6..d1586c8 100644 --- a/packageBookService/pages/bookServices/detail/buyResource/index.js +++ b/packageBookService/pages/bookServices/detail/buyResource/index.js @@ -222,20 +222,6 @@ // const index = data.findIndex(i => i.id == parent.id) parent.isShowIcon = true } - // else { - // // 鐖剁骇娌℃湁閿�鍞柟寮忥紝鏌ユ壘璇ヨ祫婧愮埗绾� - // const arr = parent.productLinkPath.split('\\') - // const linkData = arr[arr.length - 1] // arr[arr.length - 1] 鎺掗櫎鑷繁 - // linkData.reverse() - // const dataList = linkData.map(ritem => { - // const parentData = data.find(citem => citem.id == ritem); - // if (parentData) return parentData; - // }) - // if (dataList?.length > 0) { - // const index = data.findIndex(i => i.id == dataList[0].id) - // data[index].isShowIcon = true - // } - // } } else { item.isShowIcon = true } @@ -598,7 +584,7 @@ // 鍗曚釜鍕鹃�夋柟娉� checkResoucrceInfo(tree, id) { function findAndUpdate(node) { - if (node.sysType == "CmsFolder" && node.children.length > 0) { + if (node.sysType == "CmsFolder" && node.children?.length > 0) { for (let index = 0; index < node.children.length; index++) { const element = node.children[index]; findAndUpdate(element); diff --git a/packageBookService/pages/bookServices/detail/components/tree/index.js b/packageBookService/pages/bookServices/detail/components/tree/index.js index 509c3a9..8b6a3ec 100644 --- a/packageBookService/pages/bookServices/detail/components/tree/index.js +++ b/packageBookService/pages/bookServices/detail/components/tree/index.js @@ -162,62 +162,6 @@ }; // 瑙﹀彂浜嬩欢鐨勯�夐」 this.triggerEvent("downloadTeach", myEventDetail, myEventOption); }, - // 鍒ゆ柇璧勬簮鏄惁璐拱 - resourceIsBuy(data) { - if (data.saleMethod && data.saleMethod.length) { - const saleData = data.saleMethod.find((item) => item.SaleType == 'Normal') - if (saleData.State == 'Disable') return false - const isSHow = this.properties.buyIds.some( - (item) => item == saleData.Id - ); - // 宸茬粡璐拱 - if (isShow) return false - // 鏈喘涔帮紝鏌ョ湅閿�鍞柟寮忔槸鍚﹁繃鏈� - if (!isShow) { - const flag = new Date(saleData.EndDate).getTime() >= new Date().getTime() && - new Date(saleData.BeginDate).getTime() <= new Date().getTime() - if (flag) { - // 涓鸿繃鏈� 锛岄渶瑕佽喘涔� - return true - } else { - // 宸茶繃鏈� 鏃犻渶璐拱 - return false - } - } - } else { - return false; - } - }, - - - // 鍒ゆ柇褰撳墠鐩爣鏄惁宸茶喘涔� - async getCmsDataByQrcode(item) { - let query = { - path: '*', - queryType: '*', - productId: this.properties.bookInfo.id, - itemId: item.id, - 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 ?? [] - }, // 璺宠浆闊宠棰戞挱鏀惧櫒 goPlayer(e) { @@ -266,35 +210,33 @@ } } if (this.properties.tab == "jsek_cloudLearning") { - // 1.鎵惧嚭鎵�鏈夌埗绾х洰褰曞拰鏈韩(鏈夐攢鍞柟寮�) 鍜� 浜戝涔犳湰韬�(鏈夐攢鍞柟寮�) 鏀惧埌涓�涓暟缁� 涓虹┖鍒欐殏鏈紑鏀鹃攢鍞� - let learn = [] - if (this.properties.isCloundHaveSaleMethod) { - // 1.1 浜戝涔犳湁閿�鍞柟寮忥紝鍔犲叆鐖剁骇鏁扮粍 - learn.push(this.properties.learnMenu) - } else { - // 1.2 浜戝涔犳棤閿�鍞柟寮忥紝灏嗙埗绾х洰褰曞拰鏈韩鍔犲叆鏁扮粍 - learn = this.handleTreeData(this.properties.learnList).filter( - (citem) => citem.saleMethod && - citem.saleMethod.find((ditem) => ditem.SaleType == 'Normal' && ditem.Price > 0) && - new Date(citem.saleMethod.find((ditem) => ditem.SaleType == 'Normal').EndDate).getTime() >= new Date().getTime() && - new Date(citem.saleMethod.find((ditem) => ditem.SaleType == 'Normal').BeginDate).getTime() <= new Date().getTime() && - item.productLinkPath.includes(citem.productLinkPath) - ) - } - // 2.鎵惧嚭杩欎釜鏁扮粍閲屽凡璐拱鐨� 褰㈡垚鏂版暟缁� 涓虹┖鍒欐湭璐拱 - 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 && !item.freeFile) return wx.showToast({ + // // 1.鎵惧嚭鎵�鏈夌埗绾х洰褰曞拰鏈韩(鏈夐攢鍞柟寮�) 鍜� 浜戝涔犳湰韬�(鏈夐攢鍞柟寮�) 鏀惧埌涓�涓暟缁� 涓虹┖鍒欐殏鏈紑鏀鹃攢鍞� + // let learn = [] + // if (this.properties.isCloundHaveSaleMethod) { + // // 1.1 浜戝涔犳湁閿�鍞柟寮忥紝鍔犲叆鐖剁骇鏁扮粍 + // learn.push(this.properties.learnMenu) + // } else { + // // 1.2 浜戝涔犳棤閿�鍞柟寮忥紝灏嗙埗绾х洰褰曞拰鏈韩鍔犲叆鏁扮粍 + // learn = this.handleTreeData(this.properties.learnList).filter( + // (citem) => citem.saleMethod && + // citem.saleMethod.find((ditem) => ditem.SaleType == 'Normal' && ditem.Price > 0) && + // new Date(citem.saleMethod.find((ditem) => ditem.SaleType == 'Normal').EndDate).getTime() >= new Date().getTime() && + // new Date(citem.saleMethod.find((ditem) => ditem.SaleType == 'Normal').BeginDate).getTime() <= new Date().getTime() && + // item.productLinkPath.includes(citem.productLinkPath) + // ) + // } + // // 2.鎵惧嚭杩欎釜鏁扮粍閲屽凡璐拱鐨� 褰㈡垚鏂版暟缁� 涓虹┖鍒欐湭璐拱 + // let buyList = [] + // if (learn.length) buyList = learn.filter((item) => this.properties.buyIds.includes(item.saleMethod.find((citem) => citem.SaleType == 'Normal').Id)) + // // 鏈夌埗绾�(鍖呭惈閿�鍞柟寮�)锛屼笖鏈喘涔� + if (!item.isbuy && !item.freeFile) return wx.showToast({ icon: 'error', title: '璇峰厛璐拱璇ヨ祫婧�', }) if (item.protectedFile || item.freeFile) { - const currentSaleMaths = await this.getCmsDataByQrcode(item) let file = item.fileMap[item.protectedFile] ? item.fileMap[item.protectedFile] : item.fileMap[item.freeFile] if (file && file.protectType !== "Public") { - const isBuyData = currentSaleMaths.purchasedSaleMethodIdList?.includes(item.saleMethod[0]?.Id) - if (!isBuyData) { + if (!item.isbuy) { return wx.showToast({ icon: 'error', title: '璇峰厛璐拱璇ヨ祫婧�', @@ -324,7 +266,11 @@ const token = wx.getStorageSync(app.config.tokenKey); if (!token && this.data.tab != 'jsek_teachingResources') { loginInfo(app, (data) => { - if (data) {} + if (data) { + wx.redirectTo({ + url: '/packageBookService/pages/bookServices/detail/index?id=' + this.data.bookInfo.id + '&name=' + encodeURI(this.data.bookInfo.name), + }) + } }) } else { goPlayerFun() diff --git a/packageBookService/pages/bookServices/detail/index.js b/packageBookService/pages/bookServices/detail/index.js index 8fc6ca3..94dc1a8 100644 --- a/packageBookService/pages/bookServices/detail/index.js +++ b/packageBookService/pages/bookServices/detail/index.js @@ -470,6 +470,7 @@ res.datas.contactInformation = res.datas.contactInformation ? res.datas.contactInformation : '-' this.setData({ bookDetail: res.datas, + bookName: res.datas.name, buyIdList: res.datas.purchasedSaleMethodIdList, pageLoading: false }); @@ -998,20 +999,24 @@ for (let item of tree) { // 鏄惁鏄剧ず鎸夐挳 item.isShowIcon = false; - if (item.sysType == 'CmsItem') { - // 鏌ユ壘鐩綍涓嬭祫婧愰攢鍞柟寮忥紝鐩綍涓嬭祫婧愭病鏈夐攢鍞柟寮� - if (item.saleMethod?.length == 0) { - // 鏌ョ湅鍏剁埗绾ф槸鍚︽湁閿�鍞柟寮� - if (parent.saleMethod?.length > 0) { - // 鐖剁骇鏄湁閿�鍞柟寮忕洿鎺ユ樉绀烘寜閽� - parent.isShowIcon = true + if (!wx.getStorageSync(app.config.tokenKey)) { + item.isShowIcon = false; + } else { + if (item.sysType == 'CmsItem') { + // 鏌ユ壘鐩綍涓嬭祫婧愰攢鍞柟寮忥紝鐩綍涓嬭祫婧愭病鏈夐攢鍞柟寮� + if (item.saleMethod?.length == 0) { + // 鏌ョ湅鍏剁埗绾ф槸鍚︽湁閿�鍞柟寮� + if (parent.saleMethod?.length > 0) { + // 鐖剁骇鏄湁閿�鍞柟寮忕洿鎺ユ樉绀烘寜閽� + parent.isShowIcon = true + } + } else { + item.isShowIcon = true } } else { - item.isShowIcon = true - } - } else { - if (item.children?.length > 0) { - this.handleSalmethodBtn(item.children, data, item) + if (item.children?.length > 0) { + this.handleSalmethodBtn(item.children, data, item) + } } } } @@ -1724,29 +1729,6 @@ }, // 鍒ゆ柇璧勬簮鏄惁璐拱 resourceIsBuy(data) { - // if (data.saleMethod && data.saleMethod.length) { - // const saleData = data.saleMethod.find((item) => item.SaleType == 'Normal') - // if (saleData.State == 'Disable') return false - // const isShow = this.data.buyIdList.some( - // (item) => item == saleData.Id - // ); - // // 宸茬粡璐拱 - // if (isShow || saleData.Price == 0) return false - // // 鏈喘涔帮紝鏌ョ湅閿�鍞柟寮忔槸鍚﹁繃鏈� - // if (!isShow) { - // const flag = new Date(saleData.EndDate).getTime() >= new Date().getTime() && - // new Date(saleData.BeginDate).getTime() <= new Date().getTime() - // if (flag) { - // // 涓鸿繃鏈� 锛岄渶瑕佽喘涔� - // return true - // } else { - // // 宸茶繃鏈� 鏃犻渶璐拱 - // return false - // } - // } - // } else { - // return false; - // } let linkData = data.productLinkPath.split("\\"); linkData.reverse() let dataList = linkData.map(item => { diff --git a/packageCourse/pages/teachClass/detail/index.js b/packageCourse/pages/teachClass/detail/index.js index 3fcab3c..3dfe478 100644 --- a/packageCourse/pages/teachClass/detail/index.js +++ b/packageCourse/pages/teachClass/detail/index.js @@ -93,7 +93,6 @@ }] } app.MG.ugc.getTopicMessageList(data).then((res) => { - debugger const list = res.datas.map((item, i) => { item.question = [] item.bookId = null diff --git a/packageDomain/pages/resourceDetails/document/index.js b/packageDomain/pages/resourceDetails/document/index.js index 9f1643a..67f40d3 100644 --- a/packageDomain/pages/resourceDetails/document/index.js +++ b/packageDomain/pages/resourceDetails/document/index.js @@ -413,10 +413,16 @@ let that = this //鍥剧墖 if (item.selectType == 'picture' || item.learnSelectType == 'picture') { - let file = isTry ? item.freeFile : item.protectedFile || item.file - this.setData({ - showData: app.config.requestCtx + '/file/api/ApiDownload?md5=' + file, - }) + let file = isTry ? item.freeFile : item.protectedFile || item.file; + if (isTry) { + this.setData({ + showData: app.config.requestCtx + '/file/api/ApiDownload?md5=' + file, + }) + } else { + this.setData({ + showData: app.config.requestCtx + '/file/api/ApiDownloadForAuthorize?md5=' + file + '&token=' + wx.getStorageSync(app.config.tokenKey) + }) + } wx.hideLoading(); } // 涓嬭浇鏂囦欢zip @@ -435,14 +441,20 @@ } //鏂囨。绛� if (item.selectType == 'document' || item.selectType == 'pdf' || item.learnSelectType == 'document' || item.learnSelectType == 'pdf') { - let md5 = isTry ? item.freeFile : item.protectedFile || item.file || item.freeFile + let md5 = isTry ? item.freeFile : item.protectedFile || item.file || item.freeFile; + let urlPage = '' + if (isTry) { + urlPage = app.config.requestCtx + '/file/api/ApiDownload?md5=' + md5 + } else { + urlPage = app.config.requestCtx + '/file/api/ApiDownloadForAuthorize?md5=' + md5 + '&token=' + wx.getStorageSync(app.config.tokenKey) + } if (item.fileMap[md5]?.extension == 'xlsx' || item.fileMap[md5]?.extension == 'xls') { this.setData({ selectTypeData: 'excel', showMd5: md5, }) wx.request({ - url: app.config.requestCtx + '/file/api/ApiDownload?md5=' + md5, + url: urlPage, method: 'GET', // 璇锋眰鏂瑰紡 responseType: 'arraybuffer', // 鎸囧畾杩斿洖绫诲瀷涓� arraybuffer success: (res) => { @@ -525,25 +537,6 @@ wx.previewImage({ urls: urls // 闇�瑕侀瑙堢殑鍥剧墖http閾炬帴鍒楄〃 }) - }, - // 鍒ゆ柇褰撳墠鐐瑰嚮鐨勬暟鎹槸鍚﹁喘涔� - 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) { -- Gitblit v1.9.1