在微信里放一个IM,被指定放网易云通信。这次实践是一场非常虐心的体验,虽然集成网易云通信有官方资料参考,也有官方的demo参考,但是踩的坑也不少。
一、不完全是技术问题
消息漫游需要联系商务开通
二、官方小程序demo更加一个独立的app
demo 过于独立,没有考虑到在小程序中集成互通。找到官方demo的时候很开心,用的时候还是很不开心的。不过,出于谋生考虑,硬着头皮在官方的demo上做了调整。
引用自己Github上的说明:
- – 1.没有与小程序帐号集成。 这个本人在实际项目中已经解决。
– 2.消息通道初始化问题。 由于官方没有与微信帐号集成,这个初始化问题也是存在的。正确的初始化位置,应当在app.js中完成。目前项目上已经改造好了,除了将初始化移到app.js,还写了一个【消息回放功能】,因为用户进入小程序后,是到首页,消息tab并没有点击,离线的消息与未点消息tab之前的时间窗口消息都需要给消息tab页。app.js中要订阅消息,有消息时要将消息tab打上小红点。
– 3.群聊功能的缺失.已解决。
解决思路:直接在官方的代码基础上,改造一下消息订阅,消息发送、消息显示。优雅的处理方式:在原官方的代码基础上,增加一个msgType标明是哪种消息,然后在后续消息显示、发送逻辑上区别对待。
消息订阅:官方直接将群组消息team消息忽略掉了,因此,需要写一个逻辑分支,p2p消息处理沿用原逻辑,team消息走新逻辑。
消息发送:发送代码很好改造,基本上将类型从p2p修改成team
消息显示:复制一份单聊chating代码取名为groupchating,在recentchat会话列表上做逻辑分支,群聊定向到groupchating.群聊头像需要人肉构建。后记:单聊、群聊本身可以抽象为一种实现,但是目前官方的demo明显倾向于单聊,群聊无法直接使用。
Fork了官方的demo打算把本次项目代码清洗一下,放到github上,也算是为后来人提供一份网易云通信小程序集成的参考。可以关注github工程地址,回头会更新!
https://github.com/Lancker/NIM_Web_Weapp_Demo
欢迎加微信交流 13439975582
转载请注明来自 技术岛 http://www.jishudao.com 附具体链接
Pingback引用通告: netease-im网易云通信小程序集成实践+群组功能完善 | 悦码