缓存聊天记录

This commit is contained in:
cxc
2022-06-09 10:44:12 +08:00
parent d98beeca62
commit aed3fee7a6
3 changed files with 12 additions and 0 deletions

View File

@ -79,6 +79,7 @@ router.beforeEach(async (to) => {
// 如果要去的页面会议号于 vuex中的不一样则清除数据 // 如果要去的页面会议号于 vuex中的不一样则清除数据
if (to.params.meetingId !== store.state.joinUser.meetingId) { if (to.params.meetingId !== store.state.joinUser.meetingId) {
store.commit("setJoinUser", {}); store.commit("setJoinUser", {});
store.commit("setMessagesList", []);
} }
// 如果参会方式发生更改,则清除数据 // 如果参会方式发生更改,则清除数据
if ( if (
@ -147,6 +148,7 @@ router.beforeEach(async (to) => {
// 如果要去的页面会议号于 vuex中的不一样则清除数据 // 如果要去的页面会议号于 vuex中的不一样则清除数据
if (to.params.meetingId !== store.state.joinUser.meetingId) { if (to.params.meetingId !== store.state.joinUser.meetingId) {
store.commit("setJoinUser", {}); store.commit("setJoinUser", {});
store.commit("setMessagesList", []);
} }
if (store.state.joinUser.icCard) { if (store.state.joinUser.icCard) {
try { try {

View File

@ -8,6 +8,9 @@ const store = createStore({
: {}, : {},
meeting: {}, meeting: {},
meetingSetting: {}, meetingSetting: {},
messagesList: localStorage.getItem("MESSAGES")
? JSON.parse(localStorage.getItem("MESSAGES"))
: [],
password: "", //参会密码 password: "", //参会密码
joinType: localStorage.getItem("JOINTYPE") joinType: localStorage.getItem("JOINTYPE")
? JSON.parse(localStorage.getItem("JOINTYPE")) ? JSON.parse(localStorage.getItem("JOINTYPE"))
@ -36,6 +39,10 @@ const store = createStore({
setMeetingSetting(state, data) { setMeetingSetting(state, data) {
state.meetingSetting = data; state.meetingSetting = data;
}, },
setMessagesList(state, data) {
state.messagesList = data;
localStorage.setItem("MESSAGES", JSON.stringify(data));
},
}, },
actions: { actions: {
// 请求会议信息 // 请求会议信息

View File

@ -559,6 +559,7 @@ const initWebSocket = () => {
id: uniqueId(), id: uniqueId(),
time: dayjs().format("YYYY-MM-DD HH:mm:ss"), time: dayjs().format("YYYY-MM-DD HH:mm:ss"),
}); });
store.commit("setMessagesList", messages.value);
} }
// 开始签到时 // 开始签到时
else if (data.type === "isStartSign" && route.name === "Meeting") { else if (data.type === "isStartSign" && route.name === "Meeting") {
@ -610,6 +611,7 @@ initWebSocket();
// 消息列表 // 消息列表
const messages = ref([]); const messages = ref([]);
messages.value = store.state.messagesList.map((msg) => msg);
const sendMessage = (msgObj) => { const sendMessage = (msgObj) => {
console.log(JSON.stringify(JSON.stringify(msgObj))); console.log(JSON.stringify(JSON.stringify(msgObj)));
socket.send( socket.send(
@ -621,6 +623,7 @@ const sendMessage = (msgObj) => {
) )
); );
messages.value.push(msgObj); messages.value.push(msgObj);
store.commit("setMessagesList", messages.value);
}; };
const examQuestionsList = ref([]); const examQuestionsList = ref([]);