fix: 回复数量增长错误的问题

This commit is contained in:
kuaifan 2022-12-01 18:41:51 +08:00
parent 9f7151820f
commit a280c15c05
3 changed files with 39 additions and 20 deletions

View File

@ -186,3 +186,10 @@ $A.execMainDispatch = (action, data) => {
} }
}; };
window.execMainCacheData = {}
$A.execMainCacheJudge = (key) => {
const val = window.execMainCacheData[key] || false
window.execMainCacheData[key] = true
return val
};

View File

@ -1345,8 +1345,8 @@ export default {
} }
this.$store.dispatch("saveDialogMsg", data); this.$store.dispatch("saveDialogMsg", data);
if (!this.replyActiveUpdate) { if (!this.replyActiveUpdate) {
this.$store.dispatch("increaseTaskMsgNum", this.dialogId); this.$store.dispatch("increaseTaskMsgNum", data);
this.$store.dispatch("increaseMsgReplyNum", data.reply_id); this.$store.dispatch("increaseMsgReplyNum", data);
this.$store.dispatch("updateDialogLastMsg", data); this.$store.dispatch("updateDialogLastMsg", data);
} }
this.onCancelReply(); this.onCancelReply();

View File

@ -1122,13 +1122,17 @@ export default {
/** /**
* 增加任务消息数量 * 增加任务消息数量
* @param state * @param state
* @param dialog_id * @param data {id, dialog_id}
*/ */
increaseTaskMsgNum({state}, dialog_id) { increaseTaskMsgNum({state}, data) {
$A.execMainDispatch("increaseTaskMsgNum", dialog_id) $A.execMainDispatch("increaseTaskMsgNum", data)
// //
if (dialog_id) { if ($A.execMainCacheJudge(`increaseTaskMsgNum:${data.id}`)) {
const task = state.cacheTasks.find(task => task.dialog_id === dialog_id); return
}
//
if (data.dialog_id) {
const task = state.cacheTasks.find(({dialog_id}) => dialog_id === data.dialog_id);
if (task) task.msg_num++; if (task) task.msg_num++;
} }
}, },
@ -1137,13 +1141,17 @@ export default {
* 新增回复数量 * 新增回复数量
* @param state * @param state
* @param dispatch * @param dispatch
* @param reply_id * @param data {id, reply_id}
*/ */
increaseMsgReplyNum({state, dispatch}, reply_id) { increaseMsgReplyNum({state, dispatch}, data) {
$A.execMainDispatch("increaseMsgReplyNum", reply_id) $A.execMainDispatch("increaseMsgReplyNum", data)
// //
if (reply_id > 0) { if ($A.execMainCacheJudge(`increaseMsgReplyNum:${data.id}`)) {
const msg = state.dialogMsgs.find(({id}) => id == reply_id) return
}
//
if (data.reply_id > 0) {
const msg = state.dialogMsgs.find(({id}) => id == data.reply_id)
if (msg) msg.reply_num++; if (msg) msg.reply_num++;
} }
}, },
@ -1152,13 +1160,17 @@ export default {
* 减少回复数量 * 减少回复数量
* @param state * @param state
* @param dispatch * @param dispatch
* @param reply_id * @param data {id, reply_id}
*/ */
decrementMsgReplyNum({state, dispatch}, reply_id) { decrementMsgReplyNum({state, dispatch}, data) {
$A.execMainDispatch("decrementMsgReplyNum", reply_id) $A.execMainDispatch("decrementMsgReplyNum", data)
// //
if (reply_id > 0) { if ($A.execMainCacheJudge(`decrementMsgReplyNum:${data.id}`)) {
const msg = state.dialogMsgs.find(({id}) => id == reply_id) return
}
//
if (data.reply_id > 0) {
const msg = state.dialogMsgs.find(({id}) => id == data.reply_id)
if (msg) msg.reply_num--; if (msg) msg.reply_num--;
} }
}, },
@ -2285,7 +2297,7 @@ export default {
ids.some(id => { ids.some(id => {
const index = state.dialogMsgs.findIndex(item => item.id == id); const index = state.dialogMsgs.findIndex(item => item.id == id);
if (index > -1) { if (index > -1) {
dispatch("decrementMsgReplyNum", state.dialogMsgs[index].reply_id); dispatch("decrementMsgReplyNum", state.dialogMsgs[index]);
Store.set('audioSubscribe', id); Store.set('audioSubscribe', id);
state.dialogMsgs.splice(index, 1); state.dialogMsgs.splice(index, 1);
} }
@ -2604,9 +2616,9 @@ export default {
case 'chat': case 'chat':
if (!state.dialogMsgs.find(({id}) => id == data.id)) { if (!state.dialogMsgs.find(({id}) => id == data.id)) {
// 新增任务消息数量 // 新增任务消息数量
dispatch("increaseTaskMsgNum", dialog_id); dispatch("increaseTaskMsgNum", data);
// 新增回复数量 // 新增回复数量
dispatch("increaseMsgReplyNum", data.reply_id); dispatch("increaseMsgReplyNum", data);
// //
if (mode === "chat") { if (mode === "chat") {
return; return;