chore: 优化部份实现

This commit is contained in:
ChenZhaoYu
2023-02-14 15:37:18 +08:00
parent de34af8747
commit 701ef0e6e1
3 changed files with 30 additions and 28 deletions

View File

@@ -6,22 +6,27 @@ export const useHistoryStore = defineStore('history-store', {
state: (): HistoryState => getLocalHistory(),
getters: {
getCurrentChat(state): Chat.Chat[] {
if (state.historyChat.length === 0)
return []
if (state.active === null)
state.active = state.historyChat.length - 1
return state.historyChat[state.active].data
if (state.historyChat.length) {
if (state.active === null || state.active >= state.historyChat.length || state.active < 0)
state.active = 0
return state.historyChat[state.active].data ?? []
}
state.active = null
return []
},
},
actions: {
addChat(data: Chat.Chat) {
if (this.active !== null) {
this.historyChat[this.active].data.push(data)
if (this.active === null) {
this.historyChat.push({ title: data.message, isEdit: false, data: [data] })
this.active = this.historyChat.length - 1
setLocalHistory(this.$state)
}
else {
if (this.historyChat[this.active].title === '')
this.historyChat[this.active].title = data.message
this.historyChat[this.active].data.push(data)
}
setLocalHistory(this.$state)
},
clearChat() {
@@ -31,11 +36,6 @@ export const useHistoryStore = defineStore('history-store', {
}
},
chooseHistory(index: number) {
this.active = index
setLocalHistory(this.$state)
},
addHistory(data: Chat.HistoryChat) {
this.historyChat.push(data)
this.active = this.historyChat.length - 1
@@ -49,6 +49,19 @@ export const useHistoryStore = defineStore('history-store', {
removeHistory(index: number) {
this.historyChat.splice(index, 1)
if (this.active === index) {
if (this.historyChat.length === 0)
this.active = null
else if (this.active === this.historyChat.length)
this.active--
else
this.active = 0
}
setLocalHistory(this.$state)
},
chooseHistory(index: number) {
this.active = index
setLocalHistory(this.$state)
},
},