diff --git a/resources/assets/js/pages/manage/components/DialogWrapper.vue b/resources/assets/js/pages/manage/components/DialogWrapper.vue index 76699dfc0..106e7b47f 100644 --- a/resources/assets/js/pages/manage/components/DialogWrapper.vue +++ b/resources/assets/js/pages/manage/components/DialogWrapper.vue @@ -842,7 +842,7 @@ export default { mounted() { emitter.on('websocketMsg', this.onWebsocketMsg); - emitter.on('dialogMsgChange', this.onMsgChange); + emitter.on('streamMsgData', this.onMsgChange); this.keepInterval = setInterval(this.keepIntoInput, 1000) this.windowTouch && document.addEventListener('selectionchange', this.onSelectionchange); }, @@ -850,7 +850,7 @@ export default { beforeDestroy() { this.windowTouch && document.removeEventListener('selectionchange', this.onSelectionchange); clearInterval(this.keepInterval); - emitter.off('dialogMsgChange', this.onMsgChange); + emitter.off('streamMsgData', this.onMsgChange); emitter.off('websocketMsg', this.onWebsocketMsg); this.generateUnreadData(this.dialogId) // diff --git a/resources/assets/js/store/actions.js b/resources/assets/js/store/actions.js index 5f28c5e92..0c368291f 100644 --- a/resources/assets/js/store/actions.js +++ b/resources/assets/js/store/actions.js @@ -3823,12 +3823,12 @@ export default { }, /** - * 消息流 + * 消息流订阅 * @param state * @param dispatch * @param streamUrl */ - streamDialogMsg({state, dispatch}, streamUrl) { + streamMsgSubscribe({state, dispatch}, streamUrl) { if (!/^https?:\/\//i.test(streamUrl)) { streamUrl = $A.mainUrl(streamUrl.substring(1)) } @@ -3841,11 +3841,11 @@ export default { case 'append': case 'replace': const data = $A.jsonParse(e.data); - emitter.emit('dialogMsgChange', { + dispatch("streamMsgData", { type, id: e.lastEventId, text: data.content - }); + }) break; case 'done': @@ -3863,6 +3863,16 @@ export default { } }, + /** + * 消息流数据 + * @param state + * @param data + */ + streamMsgData({state}, data) { + $A.syncDispatch("streamMsgData", data) + emitter.emit('streamMsgData', data); + }, + /** * 保存翻译 * @param state @@ -4155,7 +4165,10 @@ export default { break case "msgStream": - dispatch("streamDialogMsg", msgDetail.stream_url); + if ($A.isSubElectron) { + return + } + dispatch("streamMsgSubscribe", msgDetail.stream_url); break default: