From 6aeb5319e3893216bab040e55008f79064f477fa Mon Sep 17 00:00:00 2001 From: Peanut Date: Wed, 1 Jul 2026 07:59:48 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20ScriptView=20=E5=88=A0=E9=99=A4=20r?= =?UTF-8?q?ead=20=E6=A8=A1=E5=BC=8F=EF=BC=8C=E5=89=A7=E6=9C=AC=E5=85=A5?= =?UTF-8?q?=E5=8F=A3=E7=9B=B4=E6=8E=A5=E8=BF=9B=E5=AF=B9=E8=AF=9D=E6=B5=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mini-program/src/pages/main/ScriptView.vue | 100 ++++----------------- 1 file changed, 15 insertions(+), 85 deletions(-) diff --git a/mini-program/src/pages/main/ScriptView.vue b/mini-program/src/pages/main/ScriptView.vue index 8a4f44f..f351f55 100644 --- a/mini-program/src/pages/main/ScriptView.vue +++ b/mini-program/src/pages/main/ScriptView.vue @@ -158,51 +158,8 @@ - - - - - V{{ v.versionNumber }} - (当前) - - - - - {{ currentScriptContent.title }} - - 序幕:低谷回响 - {{ currentScriptContent.plotIntro }} - - - 转折:契机出现 - {{ currentScriptContent.plotTurning }} - - - 高潮:命运抉择 - {{ currentScriptContent.plotClimax }} - - - 结局:新的开始 - {{ currentScriptContent.plotEnding }} - - - - - 进入对话修改 - 改写当前版本 - 续写当前版本 - 设为当前版本 - - - - + {{ wishText }} @@ -466,11 +423,10 @@ const remainingCount = ref(3) const style = ref('career') const randomRecommendations = ref([]) const useSocialInsights = ref(true) -const viewMode = ref('read') +const viewMode = ref('chat') const scriptId = ref('') const conversationId = ref('') const currentVersionMessageId = ref('') -const selectedVersionMessageId = ref('') const messages = ref([]) const versions = ref([]) const chatInput = ref('') @@ -617,7 +573,7 @@ const resultHasScriptReplies = computed(() => { }) const currentScriptContent = computed(() => { - const targetId = selectedVersionMessageId.value || currentVersionMessageId.value + const targetId = currentVersionMessageId.value const targetMessage = messages.value.find(m => m.id === targetId && m.type === 'script') let result if (!targetMessage || !targetMessage.metadata) { @@ -650,37 +606,6 @@ const currentScriptContent = computed(() => { const displayMessages = computed(() => messages.value) -const onSelectVersion = (messageId) => { - selectedVersionMessageId.value = messageId -} - -const setAsCurrentVersion = async () => { - try { - await switchVersion({ scriptId: scriptId.value, messageId: selectedVersionMessageId.value }) - currentVersionMessageId.value = selectedVersionMessageId.value - uni.showToast({ title: '已设为当前版本', icon: 'success' }) - } catch (error) { - uni.showToast({ title: error.message || '切换失败', icon: 'none' }) - } -} - -const enterChatMode = () => { - viewMode.value = 'chat' - loadMessages() -} - -const rewriteCurrentVersion = () => { - selectedVersionMessageId.value = currentVersionMessageId.value - viewMode.value = 'chat' - loadMessages() -} - -const continueCurrentVersion = () => { - selectedVersionMessageId.value = currentVersionMessageId.value - viewMode.value = 'chat' - loadMessages() -} - const loadMessages = async () => { if (!conversationId.value) return @@ -952,10 +877,17 @@ const showVersions = async (msg) => { const items = list.map(v => `V${v.versionNumber} ${v.id === currentVersionMessageId.value ? '(当前)' : ''}`) uni.showActionSheet({ itemList: items, - success: (res) => { + success: async (res) => { const selected = list[res.tapIndex] - selectedVersionMessageId.value = selected.id - viewMode.value = 'read' + // 切换到选中的版本 + try { + await switchVersion({ scriptId: scriptId.value, messageId: selected.id }) + currentVersionMessageId.value = selected.id + await loadMessages() + uni.showToast({ title: `已切换到 V${selected.versionNumber}`, icon: 'success' }) + } catch (error) { + uni.showToast({ title: error.message || '切换失败', icon: 'none' }) + } } }) } @@ -1598,11 +1530,10 @@ const openScriptChat = async (payload = {}) => { scriptId.value = script.id conversationId.value = script.conversationId || '' currentVersionMessageId.value = script.currentVersionMessageId || '' - selectedVersionMessageId.value = script.currentVersionMessageId || '' wishText.value = script.theme || script.prompt || script.title || '继续修改这个人生剧本' currentMessageTime.value = formatMessageTime() currentResultTime.value = script.updateTime || script.updatedAt || script.createTime || script.createdAt || formatMessageTime() - viewMode.value = 'read' + viewMode.value = 'chat' viewState.value = 'result' if (conversationId.value) { await loadMessages() @@ -1772,7 +1703,6 @@ const runGeneration = async ({ prompt, displayText, source = 'text', saveTheme } scriptId.value = data.scriptId conversationId.value = data.conversationId currentVersionMessageId.value = data.currentVersionMessageId - selectedVersionMessageId.value = data.currentVersionMessageId currentResult.value = { id: data.scriptId, @@ -1787,7 +1717,7 @@ const runGeneration = async ({ prompt, displayText, source = 'text', saveTheme } } await loadMessages() - viewMode.value = 'read' + viewMode.value = 'chat' viewState.value = 'result' analytics.track('script_generate_success', {