因业务功能需求需要接入IM(即时聊天)功能,一开始想到的是使用 WebSocket 来实现这个功能,然天意捉弄(哈哈)服务器版本太低不支持 wx 协议(也就不支持 WebSocket了)不得不寻找第三方服务了,因客户端目前采用微信小程序来,那想到的肯定就是使用他们自家的IM功能了。至此就有了本篇文章了。
2)微信小程序Demo:(官方采用的是MPVUE 来)这点已提了建议(自家的小程序居然采用了别家的框架 哈哈 有点打脸的感觉,不得不说 MPVUE 我还没入门 哈哈,看来得学习下这个框架了,腾讯的工程师都使用它了,不得不说它是一个优秀的小程序框架了)
导入SDK,也就是引入他们的 文件,下载地址:,或者使用npm工具导入。这里就不在啰嗦了,默认大家都会哦。
(为了大家看的清楚,将其他不用的包抹掉)
; // 发送图片、文件等消息需要的 COS SDK;//如果聊天发送的是纯文字,这里不必要导入
设置日志级别:
登录之前,需要了解 UserSig以及在服务器端生成UserSig,
UserSing:UserSig 是用户登录即时通信 IM 的密码,其本质是对 UserID 等信息加密后得到的密文,本文将指导您如何生成 UserSig。
服务端生成 UserSig:(我们的服务器采用的是C#,其他语言请查看官网:)
因我们服务端采用的是C#,所以这里只给出C#服务端生成UserSig的代码
NuGet 命令行集成
3.4、消息的收发
发(以纯文字为例):
// 发送文本消息, 端与小程序端相同 // 1. 创建消息实例,接口返回的实例可以上屏
// 发送文本消息, 端与小程序端相同 // 1. 创建消息实例,接口返回的实例可以上屏
在进入聊天界面后,调用tim.getMessageList()接口获取历史聊天记录。
在进入聊天界面后,调用tim.
建议:在进入聊天界面后,请将本次的会话上报为已读,只有这样设置后(上面所说的 小程序首次启动是监听的 tim.on(TIM.EVENT.MESSAGE_RECEIVED,function(event){}) 才会不会收到已读的消息 )
已读上报:
// 将某会话下所有未读消息已读上报
// 将某会话下所有未读消息已读上报
// 将某会话下所有未读消息已读上报
1:如有疑问,可以与我取得联系
2:已官方文档为主,很有可能过些时间后文档及SDK会发生变化
3:官方文档已在上文中给出
4:文章首发于公众号
5:服务端使用的小程序包是盛派的SDK()