Skip to content

Commit

Permalink
perf: 记录上下文设定保存到本地
Browse files Browse the repository at this point in the history
  • Loading branch information
Chanzhaoyu committed Mar 17, 2023
1 parent 0b13846 commit b3cfe7a
Show file tree
Hide file tree
Showing 6 changed files with 20 additions and 5 deletions.
7 changes: 6 additions & 1 deletion src/store/modules/chat/helper.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,12 @@ const LOCAL_NAME = 'chatStorage'

export function defaultState(): Chat.ChatState {
const uuid = 1002
return { active: uuid, history: [{ uuid, title: 'New Chat', isEdit: false }], chat: [{ uuid, data: [] }] }
return {
active: uuid,
usingContext: true,
history: [{ uuid, title: 'New Chat', isEdit: false }],
chat: [{ uuid, data: [] }],
}
}

export function getLocalState(): Chat.ChatState {
Expand Down
5 changes: 5 additions & 0 deletions src/store/modules/chat/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,11 @@ export const useChatStore = defineStore('chat-store', {
},

actions: {
setUsingContext(context: boolean) {
this.usingContext = context
this.recordState()
},

addHistory(history: Chat.History, chatData: Chat.Chat[] = []) {
this.history.unshift(history)
this.chat.unshift({ uuid: history.uuid, data: chatData })
Expand Down
1 change: 1 addition & 0 deletions src/typings/chat.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ declare namespace Chat {

interface ChatState {
active: number | null
usingContext: boolean;
history: History[]
chat: { uuid: number; data: Chat[] }[]
}
Expand Down
8 changes: 5 additions & 3 deletions src/views/chat/hooks/useUsingContext.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
import { ref } from 'vue'
import { computed } from 'vue'
import { useMessage } from 'naive-ui'
import { t } from '@/locales'
import { useChatStore } from '@/store'

export function useUsingContext() {
const ms = useMessage()
const usingContext = ref<boolean>(true)
const chatStore = useChatStore()
const usingContext = computed<boolean>(() => chatStore.usingContext)

function toggleUsingContext() {
usingContext.value = !usingContext.value
chatStore.setUsingContext(!usingContext.value)
if (usingContext.value)
ms.success(t('chat.turnOnContext'))
else
Expand Down
1 change: 1 addition & 0 deletions src/views/chat/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -416,6 +416,7 @@ const searchOptions = computed(() => {
return []
}
})
// value反渲染key
const renderOption = (option: { label: string }) => {
for (const i of promptTemplate.value) {
Expand Down
3 changes: 2 additions & 1 deletion src/views/chat/layout/sider/Footer.vue
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ const show = ref(false)
<div class="flex-1 flex-shrink-0 overflow-hidden">
<UserAvatar />
</div>
<HoverButton :tooltip="$t('setting.setting')" @click="show = true">

<HoverButton @click="show = true">
<span class="text-xl text-[#4f555e] dark:text-white">
<SvgIcon icon="ri:settings-4-line" />
</span>
Expand Down

0 comments on commit b3cfe7a

Please sign in to comment.