csweb 业务流程图
2021-12-02 15:17:24 20 举报
业务流程
作者其他创作
大纲/内容
LOAD_CONVERSATIONS.SUCCESS
batchSendMessage
action
CC_Label
conversations
/cs/im/queryConversationCount
有
CC_Component
LOAD_CONVERSATIONS.REQUESTBATCH_SEND_MESSAGE.FAILURE
BATCH_SEND_MESSAGE.REQUEST
CCObject
routes
receiveWebsocketPush
但是下面由于 userId导致 Message 上面写了一个有点丑的逻辑 {customerId && customerId.length > 0这会导致,每一次刷新的时候,重置掉一些内容
pullMoreConversation
ConversationItem
push 到气泡弹框
发送按钮
loadServeConversations
currentSessionID
LOAD_CONVERSATIONS.REQUEST
messageMap:更新气泡
import Editor from '@draft-js-plugins/editor';
设置一下 loading,让左侧有个刷新的效果
格局各种情况下使用不同参数去调用loadServeConversations
getServeConversations
generateMessage生成一条 fake 气泡对话
refreshConversation是否有有效值可以来赋值
conversations:更新左侧列表loading: false
SEND_MESSAGE.REQUEST 这个似乎是 keyCode 13 的把戏 我没有找到这个的触发 这块逻辑可能已经废弃了。action reducer 都还在 但是没有调用了。BATCH_SEND_MESSAGE.REQUEST 似乎取代了这个。
conversationCount
AuthorizedLayout
batchSendMessage 将刚刚发出的对话更新 push 到对话气泡
components/Conversation左侧列表
APPEND_MESSAGE.SUCCESS
label
onReceiveWebsocketMessagews 收到推送
store-conversation
Extradidmount 有请求/cs/im/memo/queryByUid
没有
Object
loading: true
sendingMessage:falsemessageMap:
MemoPanel
BATCH_SEND_MESSAGE.SUCCESS
object
Pages/Chat
REFRESH_CONVERSATION.SUCCESS
ws 结束
MessageBubble渲染的酱油组件
将 messages 对应的 sessionId append 到气泡 push 一条数据
conversationsloading:true但实际上,这里面并没「结果」,因为根本就没有请求
/cs/im/queryConversation
RenderComponent
我很难感知,这个流程里面,是否有问题。这显然是一个偶现的 bug。在某种逻辑分支下,必然会有 bug。因此我的解决思路就是。1)小轮训刷新2)改为刷新大轮训。
sendingMessage:true
1)this.props.batchSendMessage(data);batchSendMessage 用用于图片多条信息2)this.updateMessage(editorState);
JiraLabeldidmount、didupdatequeryBindedJiraTask
REFRESH_CONVERSATION.REQUEST
是否这个对话已经打开?
null
components/Message信息对话页面
components/Message/Panels/UserInfoPaneldidmount 有请求loadConversationBindedLabels
appendMessage
store-chat
AuthorizedRoutes
Editor/index.tsxCsEditor
将 active 和 pendding 的数据,进行手动的更新
回车键 13
页面
NoAuthRoutes
RECEIVE_FROM_WEBSOCKET.REQUEST
store(state)
/cs/im/sendMsg
queryConversationCount
页面上的 func
saga
更新左侧列表
didMountgetMessageRateLabels
onSwitchConversationType
reducer
sendingMessage:false
LOAD_CONVERSATIONS_COUNT.SUCCESS
0 条评论
下一页