fix(web): 修复刷新后选择对话时优先选择非置顶对话

- 新增 getFirstNonPinnedChat 函数获取第一个非置顶对话
- 修改三处选择对话逻辑:初始加载、创建新对话、删除对话后
This commit is contained in:
Wenjie Zhang 2026-03-08 22:33:24 +08:00
parent f1a4f59753
commit 5e766cda51

View File

@ -1270,10 +1270,15 @@ const isFirstChatEmpty = () => {
return firstThreadMessages.length === 0
}
//
//
const getFirstNonPinnedChat = (chatList) => {
return chatList.find((chat) => !chat.is_pinned) || chatList[0]
}
//
const switchToFirstChatIfEmpty = async () => {
if (threads.value.length > 0 && isFirstChatEmpty()) {
await selectChat(threads.value[0].id)
await selectChat(getFirstNonPinnedChat(threads.value).id)
return true
}
return false
@ -1368,8 +1373,8 @@ const deleteChat = async (chatId) => {
//
await createNewChat()
} else if (chatsList.value.length > 0) {
//
await selectChat(chatsList.value[0].id)
//
await selectChat(getFirstNonPinnedChat(chatsList.value).id)
}
} catch (error) {
handleChatError(error, 'delete')
@ -1732,9 +1737,9 @@ const loadChatsList = async () => {
chatState.currentThreadId = null
}
// 线线
// 线线
if (threads.value.length > 0 && !chatState.currentThreadId) {
await selectChat(threads.value[0].id)
await selectChat(getFirstNonPinnedChat(threads.value).id)
}
} catch (error) {
handleChatError(error, 'load')