2024-04-04 19:28:18 +08:00
|
|
|
|
import { defineStore } from "pinia";
|
|
|
|
|
|
const chatStore = defineStore("chat", {
|
|
|
|
|
|
state: () => ({
|
|
|
|
|
|
userList: [],
|
2024-04-06 18:28:32 +08:00
|
|
|
|
msgList: []
|
2024-04-04 19:28:18 +08:00
|
|
|
|
}),
|
2024-07-21 20:40:20 +08:00
|
|
|
|
getters: {
|
2025-02-03 01:18:15 +08:00
|
|
|
|
allMsgContext: (state) => state.msgList.filter(x => x.messageType === "All"),
|
|
|
|
|
|
personalMsgContext: (state) => state.msgList.filter(x => x.messageType === "Personal"),
|
|
|
|
|
|
// aiMsgContext: (state) => state.msgList.filter(x => x.messageType === "Ai"),
|
|
|
|
|
|
//获取msg,通过类型
|
|
|
|
|
|
getMsgContextFunc: (state) => (messageType) => {
|
|
|
|
|
|
return state.msgList.filter(item => item.messageType === messageType);
|
|
|
|
|
|
},
|
2024-07-21 20:40:20 +08:00
|
|
|
|
},
|
2024-04-06 18:28:32 +08:00
|
|
|
|
actions:
|
|
|
|
|
|
{
|
2024-07-21 20:40:20 +08:00
|
|
|
|
addOrUpdateMsg(msg) {
|
2025-02-03 01:18:15 +08:00
|
|
|
|
var currentMsg = this.msgList.filter(x => x.id === msg.id)[0];
|
2024-07-21 20:40:20 +08:00
|
|
|
|
//当前没有包含,如果有相同的上下文id,只需要改变content即可
|
2025-02-03 01:18:15 +08:00
|
|
|
|
if (currentMsg === undefined) {
|
2024-07-21 20:40:20 +08:00
|
|
|
|
this.addMsg(msg);
|
|
|
|
|
|
}
|
|
|
|
|
|
else {
|
|
|
|
|
|
currentMsg.content += msg.content;
|
|
|
|
|
|
}
|
2024-07-21 13:37:56 +08:00
|
|
|
|
|
|
|
|
|
|
},
|
2025-02-03 01:18:15 +08:00
|
|
|
|
clearTypeMsg(messageType)
|
2024-07-21 20:40:20 +08:00
|
|
|
|
{
|
2025-02-03 01:18:15 +08:00
|
|
|
|
this.msgList=this.msgList.filter(x => x.messageType !==messageType)
|
2024-07-21 20:40:20 +08:00
|
|
|
|
},
|
2024-04-06 18:28:32 +08:00
|
|
|
|
setMsgList(value) {
|
|
|
|
|
|
this.msgList = value;
|
|
|
|
|
|
},
|
|
|
|
|
|
addMsg(msg) {
|
|
|
|
|
|
this.msgList.push(msg);
|
|
|
|
|
|
},
|
2024-04-04 19:28:18 +08:00
|
|
|
|
setUserList(value) {
|
|
|
|
|
|
this.userList = value;
|
|
|
|
|
|
},
|
2024-04-06 18:28:32 +08:00
|
|
|
|
addUser(user) {
|
2024-04-04 19:28:18 +08:00
|
|
|
|
this.userList.push(user);
|
|
|
|
|
|
},
|
2024-04-06 18:28:32 +08:00
|
|
|
|
delUser(userId) {
|
2025-02-03 01:18:15 +08:00
|
|
|
|
this.userList = this.userList.filter(obj => obj.userId !== userId);
|
2024-04-04 19:28:18 +08:00
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
export default chatStore;
|