diff --git a/src/views/SearchView.vue b/src/views/SearchView.vue index 8e33ac8..8612745 100644 --- a/src/views/SearchView.vue +++ b/src/views/SearchView.vue @@ -57,11 +57,11 @@
@@ -755,39 +755,52 @@ async function saveCurrentSession() { return } - // If no current session, create one + // If no current session, create one with temp name if (!currentSession.value) { - const now = new Date() - const timeStr = `${now.getFullYear()}/${(now.getMonth()+1).toString().padStart(2,'0')}/${now.getDate().toString().padStart(2,'0')} ${now.getHours().toString().padStart(2,'0')}:${now.getMinutes().toString().padStart(2,'0')}` - const newSession = await createSession(timeStr, mode.value) + const newSession = await createSession('未命名', mode.value) if (newSession) { setCurrentSession(newSession) } } - // Save all messages to current session + // Show rename dialog for session name if (currentSession.value) { - for (const msg of messages.value) { - if (msg.role === 'user' && msg.query) { - await saveMessage(currentSession.value.id, { - role: 'user', - content: msg.query, - mode: msg.mode || mode.value - }) - } else if (msg.role === 'assistant') { - await saveMessage(currentSession.value.id, { - role: 'assistant', - content: msg.message || msg.answer || '', - mode: msg.mode || mode.value, - results: msg.results - }) - } - } - await loadSessions() - alert('Session saved!') + renamingSession.value = currentSession.value + renameValue.value = currentSession.value.title === '未命名' ? '' : currentSession.value.title + nextTick(() => renameInputEl.value?.focus()) } } +async function confirmSaveSession() { + if (!renamingSession.value) return + + // Update session title + const title = renameValue.value || `Session ${new Date().toLocaleString()}` + await renameSession(renamingSession.value.id, title) + + // Save all messages to current session + for (const msg of messages.value) { + if (msg.role === 'user' && msg.query) { + await saveMessage(renamingSession.value.id, { + role: 'user', + content: msg.query, + mode: msg.mode || mode.value + }) + } else if (msg.role === 'assistant') { + await saveMessage(renamingSession.value.id, { + role: 'assistant', + content: msg.message || msg.answer || '', + mode: msg.mode || mode.value, + results: msg.results + }) + } + } + + renamingSession.value = null + renameValue.value = '' + await loadSessions() +} + function toggleSessionMenu(id: string) { activeSessionMenu.value = activeSessionMenu.value === id ? null : id }