maxkb/ui/src/stores/modules/prompt.ts
wangdan-fit2cloud 2fe1803f19 feat: document
2025-06-05 17:28:07 +08:00

38 lines
1.1 KiB
TypeScript

import { defineStore } from 'pinia'
import { t } from '@/locales'
export interface promptTypes {
user: string
formValue: { model_id: string; prompt: string }
}
const usePromptStore = defineStore('prompt', {
state: (): promptTypes[] => JSON.parse(localStorage.getItem('PROMPT_CACHE') || '[]'),
actions: {
save(user: string, formValue: any) {
this.$state.forEach((item: any, index: number) => {
if (item.user === user) {
this.$state.splice(index, 1)
}
})
this.$state.push({ user, formValue })
localStorage.setItem('PROMPT_CACHE', JSON.stringify(this.$state))
},
get(user: string) {
for (let i = 0; i < this.$state.length; i++) {
if (this.$state[i].user === user) {
return this.$state[i].formValue
}
}
return {
model_id: '',
prompt:
t('views.document.generateQuestion.prompt1', { data: '{data}' }) +
'<question></question>' +
t('views.document.generateQuestion.prompt2'),
}
},
},
})
export default usePromptStore