{"version":3,"file":"conversation-BqBsnRLx.js","sources":["../../app/javascript/entrypoints/stores/conversation.js"],"sourcesContent":["import { ref, computed } from 'vue'\nimport { defineStore } from 'pinia'\nimport instance from '@/hook/axiosUtils'\n\nexport const useConversationStore = defineStore('conversation', () => {\n // const count = ref(0)\n // const doubleCount = computed(() => count.value * 2)\n // function increment() {\n // count.value++\n // }\n const conversation = ref({\n chatsId: '',\n title: 'How can I help you?'\n })\n const conversationList = ref([])\n const getConversationById = async (chatsId) => {\n await instance.get(`/chats`).then((res) => {\n // const test = conversationList.value\n conversationList.value.splice(0, conversationList.value.length, ...(res.data||[]))\n const foundConversation = conversationList.value.find((item) => String(item.id) === String(chatsId))\n if (chatsId && foundConversation) {\n conversation.value.chatsId = foundConversation.id\n conversation.value.title = foundConversation.title\n }\n })\n\n}\n function $reset() {\n // debugger\n Object.assign(conversation.value, {\n chatsId: '',\n title: 'How can I help you?'\n })\n }\n\n return { conversation, conversationList, getConversationById, $reset }\n})\n\nexport const useChatStore = defineStore('chat', () => {\n const list = reactive([])\n const imageUrl = ref('')\n // 目前1 是请求中 2是流式绘制中\n const status = ref(0)\n\n function sendMessage(params) {\n if(params.imageUrl) {\n imageUrl.value = params.imageUrl\n }\n list.push({\n imageUrl: params.imageUrl,\n userInput: params.userInput\n })\n status.value = 1\n instance.post('/chatmessage/chat', params).then((res) => {\n // const item = list.pop()\n const itemList = splitWorkflow(res.data)\n if(itemList.length > 1) {\n list.push(...itemList)\n } else {\n list.push({...itemList})\n }\n }).finally(() => {\n status.value = 0\n })\n }\n function getAllMessage(chatId, callback) {\n list.splice(0, list.length)\n instance.get(`/chat/${chatId}/messages`).then((res) => {\n // list.splice(0, list.length, ...res.data.reverse())\n let protocolUrl = ''\n if(res.data) {\n res.data.reverse().map((item) => {\n const itemList = splitWorkflow(item)\n if(itemList.length > 1) {\n list.push(...itemList)\n } else {\n list.push({...itemList})\n }\n protocolUrl = item.imageProto || protocolUrl\n })\n imageUrl.value = list[0].imageUrl\n }\n if(protocolUrl && callback) {\n callback(protocolUrl)\n }\n })\n }\n function $reset() {\n list.splice(0, list.length)\n status.value = 0\n imageUrl.value = ''\n }\n return { list, status, imageUrl, sendMessage, getAllMessage, $reset}\n})\n\nfunction splitWorkflow(aioutputData) {\n const output = aioutputData.aiOutput\n let res = []\n if(output && output.includes('') && output.includes('')) {\n const pre = output.split('')[0]\n const content = output.split('')[1].split('')[0]\n const post = output.split('')[1];\n pre && res.push({...aioutputData, aiOutput: pre});\n content && res.push({...aioutputData, aiOutput: content, workflow: true});\n post && res.push({...aioutputData, aiOutput: post});\n return res\n }\n return aioutputData\n}"],"names":["useConversationStore","defineStore","conversation","ref","conversationList","getConversationById","chatsId","instance","res","foundConversation","item","$reset","useChatStore","list","reactive","imageUrl","status","sendMessage","params","itemList","splitWorkflow","getAllMessage","chatId","callback","protocolUrl","aioutputData","output","pre","content","post"],"mappings":"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"}