From fc6edcb5abba4f5baac7ff13c4c4ddccfb83d29a Mon Sep 17 00:00:00 2001 From: Timi Date: Thu, 11 Dec 2025 14:26:16 +0800 Subject: [PATCH] fix creater,editor preview --- .../pages/main/journal-creater/index.ts | 22 +++++++++++++------ .../pages/main/journal-editor/index.ts | 12 +++++++--- 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/miniprogram/pages/main/journal-creater/index.ts b/miniprogram/pages/main/journal-creater/index.ts index 70b10fe..2e910b0 100644 --- a/miniprogram/pages/main/journal-creater/index.ts +++ b/miniprogram/pages/main/journal-creater/index.ts @@ -160,14 +160,22 @@ Page({ }) }, preview(e: WechatMiniprogram.BaseEvent) { + const itemIndex = e.currentTarget.dataset.index; + const total = this.data.mediaList.length; + + const startIndex = Math.max(0, itemIndex - 25); + const endIndex = Math.min(total, startIndex + 50); + const newCurrentIndex = itemIndex - startIndex; + + const sources = this.data.mediaList.slice(startIndex, endIndex).map(item => { + return { + url: item.path, + type: MediaItemType[item.type].toLowerCase() + } as WechatMiniprogram.MediaSource; + }); wx.previewMedia({ - current: e.currentTarget.dataset.index, - sources: this.data.mediaList.map(item => { - return { - url: item.path, - type: MediaItemType[item.type].toLowerCase() - } as WechatMiniprogram.MediaSource; - }) + current: newCurrentIndex, + sources }); }, deleteMedia(e: WechatMiniprogram.BaseEvent) { diff --git a/miniprogram/pages/main/journal-editor/index.ts b/miniprogram/pages/main/journal-editor/index.ts index 58d6c85..cddd80d 100644 --- a/miniprogram/pages/main/journal-editor/index.ts +++ b/miniprogram/pages/main/journal-editor/index.ts @@ -196,10 +196,16 @@ Page({ type: MediaItemType[item.type].toLowerCase() })); const allSources = [...sources, ...newSources]; - const currentIndex = isNewMedia ? this.data.mediaList.length + index : index; + const itemIndex = isNewMedia ? this.data.mediaList.length + index : index; + const total = allSources.length; + + const startIndex = Math.max(0, itemIndex - 25); + const endIndex = Math.min(total, startIndex + 50); + const newCurrentIndex = itemIndex - startIndex; + wx.previewMedia({ - current: currentIndex, - sources: allSources as WechatMiniprogram.MediaSource[] + current: newCurrentIndex, + sources: allSources.slice(startIndex, endIndex) as WechatMiniprogram.MediaSource[] }); }, /** 删除附件 */