1.发送消息采用HTTP形式,后端发送到MQTT服务。前端监听MQTT消息:
MQTT topic 格式为:YFS_OBO/IM_${userId}
其中 userId 为当前用户的ID
所有该用户的实时消息均回发送到Topic
消息格式:
{
"sessionId":"Ghsdyt=",
"messageId":"16",
"messageType":"TEXT", //消息类型当前仅支持:TEXT=文本消息,IMG=图片消息,FILE=文件消息
"messageContent":"这是消息内容"
}
用户登陆之后前端需要处理的逻辑顺序如下(实际开发有疑问或不合理的地方及时沟通):
1.用户登陆成功之后,前端即开始建立MQTT链接,假设当前用户ID=888,那么则立马开始监听 topic = YFS_OBO/IM_888 (需要注意断线重连机制)
2.监听建立成功之后,即调用 接口 “/api/common/im/chat/unreadCount” 获取未读消息数量,用于显示在后台的右上角或者会员