From 8025b2ababb926cbd3a66546e652278aec57a944 Mon Sep 17 00:00:00 2001 From: zoujiandong <10130823232@qq.com> Date: Tue, 16 Dec 2025 17:42:25 +0800 Subject: [PATCH] =?UTF-8?q?12.16=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App.vue | 3 + api/api.js | 3 + manifest.json | 3 +- pages.json | 65 +- pages_app/hot/hot.vue | 2 +- pages_app/patientVideo/patientVideo.vue | 33 +- pages_app/pay/pay.vue | 4 +- pages_app/ppt/ppt.vue | 62 +- pages_app/pptDetail/pptDetail.vue | 850 +++++++++++++++++++++++- pages_app/replayText/replayText.vue | 6 +- pages_app/video/video.vue | 25 +- pages_app/webview/webview.vue | 19 +- pages_app/zhinan/zhinan.vue | 1 + pages_app/zhinanList/zhinanList.vue | 46 +- store/downloadStorePpt.js | 141 ++++ tsconfig.json | 4 + utils/config.js | 18 +- utils/docUrl.js | 4 +- utils/otherHost.js | 4 +- utils/request.js | 12 +- 20 files changed, 1159 insertions(+), 146 deletions(-) create mode 100644 store/downloadStorePpt.js diff --git a/App.vue b/App.vue index 759bbe4..d85e9fd 100644 --- a/App.vue +++ b/App.vue @@ -240,4 +240,7 @@ page { height: calc(var(--status-bar-height) + 44px); z-index: 9999; } +.share-content .share-item:last-child{ + display: none; +} \ No newline at end of file diff --git a/api/api.js b/api/api.js index ea61f8c..7897d04 100644 --- a/api/api.js +++ b/api/api.js @@ -657,6 +657,9 @@ const api = { deleteComment(data){ return request('/expertAPI/deleteComment', data, 'post', false); }, + downloadGanDanFile(data){ + return request('/expertAPI/downloadGanDanFile', data, 'post', false,'application/json',{},'arraybuffer'); + }, } export default api \ No newline at end of file diff --git a/manifest.json b/manifest.json index 8f396c3..8508173 100644 --- a/manifest.json +++ b/manifest.json @@ -61,7 +61,8 @@ }, "ios" : { "dSYMs" : false, - "idfa" : false + "idfa" : false, + "urlschemewhitelist" : [ "weixin", "wechat" ] }, /* ios打包配置 */ "sdkConfigs" : { diff --git a/pages.json b/pages.json index e6492e0..727b58e 100644 --- a/pages.json +++ b/pages.json @@ -334,6 +334,36 @@ } } }, + { + "path": "pptDetail/pptDetail", + "style": { + "navigationStyle": "custom", + "navigationBarTitleText": "uni-app分页", + "app": { + "bounce": "none" + } + } + }, + { + "path": "ppt/ppt", + "style": { + "navigationStyle": "custom", + "navigationBarTitleText": "uni-app分页", + "app": { + "bounce": "none" + } + } + }, + { + "path": "pay/pay", + "style": { + "navigationStyle": "custom", + "navigationBarTitleText": "uni-app分页", + "app": { + "bounce": "none" + } + } + }, { "path": "articleDownload/articleDownload", "style": { @@ -731,16 +761,7 @@ // "app": { "bounce": "none" } // } // }, - // { - // "path": "ppt/ppt", - // "style": { - // "navigationStyle": "custom", - // "navigationBarTitleText": "uni-app分页", - // "app": { - // "bounce": "none" - // } - // } - // }, + // { // "path": "pointMall/pointMall", // "style": { @@ -751,16 +772,7 @@ // } // } // }, - // { - // "path": "pay/pay", - // "style": { - // "navigationStyle": "custom", - // "navigationBarTitleText": "uni-app分页", - // "app": { - // "bounce": "none" - // } - // } - // }, + // { // "path": "buyPoint/buyPoint", // "style": { @@ -1083,16 +1095,7 @@ // } // } // }, - // { - // "path": "pptDetail/pptDetail", - // "style": { - // "navigationStyle": "custom", - // "navigationBarTitleText": "uni-app分页", - // "app": { - // "bounce": "none" - // } - // } - // }, + // { // "path": "patientMsg/patientMsg", // "style": { @@ -1472,7 +1475,7 @@ "list": [ { "name": "", - "path": "", + "path": "pages/index/index", "query": "" } ] diff --git a/pages_app/hot/hot.vue b/pages_app/hot/hot.vue index b2c3701..0aa9501 100644 --- a/pages_app/hot/hot.vue +++ b/pages_app/hot/hot.vue @@ -112,7 +112,7 @@ const innerSortTitle=ref('上传时间'); import downloadStore from "@/store/downloadStoreFile.js"; const downloadTasks=ref([]); const downLoadtaskList=computed(()=>{ - return downloadTasks.value.filter((item)=>item.status == "completed").map((item)=>item.id); + return downloadTasks.value.filter((item)=>item.status == "completed" && item.type == "zhinan").map((item)=>item.id); }); const chooseInnerSort=(index)=>{ sort.value=index; diff --git a/pages_app/patientVideo/patientVideo.vue b/pages_app/patientVideo/patientVideo.vue index b37d1be..31d2714 100644 --- a/pages_app/patientVideo/patientVideo.vue +++ b/pages_app/patientVideo/patientVideo.vue @@ -467,8 +467,29 @@ }; const toggleTag = (index) => { - filterTags.value[index].selected = !filterTags.value[index].selected; + const currentTag = filterTags.value[index]; + // 如果当前标签已选中,直接取消选中 + if (currentTag.selected) { + currentTag.selected = false; + return; + } + + // 如果当前标签未选中,检查已选中的标签数量 + const selectedCount = filterTags.value.filter(tag => tag.selected).length; + + // 如果已选中3个或更多,不允许再选中 + if (selectedCount >= 3) { + uni.showToast({ + title: '最多只能选择3个标签', + icon: 'none', + duration: 2000 + }); + return; + } + + // 允许选中 + currentTag.selected = true; }; const resetFilter = () => { @@ -487,13 +508,15 @@ const confirmFilter = () => { const selectedTags = filterTags.value.filter(tag => tag.selected); console.log('选中的筛选标签:', selectedTags); + let words=''; for (var i = 0; i < selectedTags.length; i++) { - if(keywords.value){ - keywords.value+=","+selectedTags[i].NAME + if(words){ + words+=","+selectedTags[i].NAME }else{ - keywords.value=selectedTags[i].NAME + words=selectedTags[i].NAME } } + keywords.value=words; isFilterActive.value=true; hideFilterPopup(); // 根据选中的标签重新加载数据 @@ -931,7 +954,7 @@ const goSearch = () => { } .bar { width: 2rpx; - margin: 0 26rpx 0 6rpx; + margin: 0 43rpx 0 0rpx; height: 32rpx; background-color: #666; } diff --git a/pages_app/pay/pay.vue b/pages_app/pay/pay.vue index 2ffe045..b029de4 100644 --- a/pages_app/pay/pay.vue +++ b/pages_app/pay/pay.vue @@ -35,7 +35,7 @@ 余额不足 - {{ selectedPayment === 'balance' }} + 微信支付 - {{ selectedPayment === 'balance' }} + - + + @@ -15,7 +15,8 @@ 测试加载 - + + @@ -66,13 +67,13 @@ {{ item.readnum }}人阅读 - - + + ¥{{ item.price>item.discount?fromatPrice(item.discount):fromatPrice(item.price) }} 原价{{fromatPrice(item.price/100)}} - 免费 + 免费 @@ -143,7 +144,9 @@ } } onLoad(()=>{ + checkUser(); + loadData(false); }) // 方法 @@ -167,8 +170,11 @@ const toggleSort = () => { sort.value = sort.value === 0 ? 1 : 0; console.log('切换排序:', sort.value); + page.value=1; + coursewareList.value = []; + noMore.value = false; // 切换排序后重新加载数据 - loadData(true); + loadData(false); }; @@ -220,9 +226,9 @@ // 重置数据 page.value = 1; noMore.value = false; - + coursewareList.value = []; // 重新加载第一页数据 - await loadData(true); + await loadData(false); uni.showToast({ title: '刷新成功', @@ -377,6 +383,18 @@ }; const toggleTag = (index) => { + // 已选中的标签数量 + const selectedCount = filterTags.value.filter(tag => tag.selected).length; + + // 当前是未选中 -> 试图选中,且已达到上限 + if (!filterTags.value[index].selected && selectedCount >= 3) { + uni.showToast({ + title: '最多选择3个标签', + icon: 'none' + }); + return; + } + filterTags.value[index].selected = !filterTags.value[index].selected; //isFilterActive.value = filterTags.value.some(tag => tag.selected); }; @@ -389,16 +407,21 @@ const confirmFilter = () => { const selectedTags = filterTags.value.filter(tag => tag.selected); console.log('选中的筛选标签:', selectedTags); + let words=''; for (var i = 0; i < selectedTags.length; i++) { - if(keywords.value){ - keywords.value+=","+selectedTags[i].NAME + if(words){ + words+=","+selectedTags[i].NAME }else{ - keywords.value=selectedTags[i].NAME + words=selectedTags[i].NAME } } + keywords.value=words; isFilterActive.value =true; hideFilterPopup(); - loadData(true); + page.value=1; + coursewareList.value = []; + noMore.value = false; + loadData(false); // 这里可以根据选中的标签进行数据筛选 }; const fromatPrice=(price)=>{ @@ -411,7 +434,7 @@ onShow(() => { // 页面显示时加载数据 console.log('页面显示,开始加载课件数据'); - loadData(true); + loadGuideTags() }); @@ -513,14 +536,15 @@ height: 100rpx; background-color: $white; @include flex-center; - gap: 100rpx; + border-bottom: 1rpx solid $border-color; position: sticky; - top: 180rpx; + top: calc(var(--status-bar-height) + 44px); z-index: 99; .divider{ width: 2rpx; height: 30rpx; + margin:0 80rpx; background-color: #999; } .filter-item{ @@ -539,7 +563,7 @@ .courseware-list { position: fixed; - top:280rpx; + top:calc(var(--status-bar-height) + 44px + 100rpx); flex: 1; bottom:0; left:30rpx; @@ -619,7 +643,7 @@ .price { display: flex; margin-left: 30rpx; - align-items: baseline; + align-items: center; gap: 4rpx; .price-symbol { diff --git a/pages_app/pptDetail/pptDetail.vue b/pages_app/pptDetail/pptDetail.vue index 3613c4e..9db6ff5 100644 --- a/pages_app/pptDetail/pptDetail.vue +++ b/pages_app/pptDetail/pptDetail.vue @@ -1,20 +1,24 @@