微信小程序> 小程序实现环信群聊

小程序实现环信群聊

浏览量:1796 时间: 来源:继小高

最近在研究小程序群聊,发现环信官方未发布小程序群聊,并且近期也没有发布的打算。so 自行根据单聊实现群聊。

话不多说,直接上图
小程序

新增了msg.body.group = 'groupchat';

ok,发送搞定了,那么接收消息呢?、

onTextMessage: function (message) {     console.log('收到txt消息');     console.log(message);     if (message) {         if(message.type == 'chat'){             //此处为单聊,暂不举例         }else{             var page = that.getGroupPage();             if (page) {                 page.receiveMsg(message, 'txt')             } else {                 var chatMsg = that.globalData.chatMsg || []                 var value = WebIM.parseEmoji(message.data.replace(//mg, ''))                 var time = WebIM.time()                 var msgData = {                     info: {                         from: message.from,                         to: message.to                     },                     username: message.from,                     yourname: message.from,                     msg: {                         type: 'txt',                         data: value                     },                     style: '',                     time: time,                     mid: 'txt' + message.id,                     userNickname : message.ext.userName,                     userAvatar : message.ext.userPic,                 }                 chatMsg = wx.getStorageSync('group_' + message.to) || []                 chatMsg.push(msgData)                 wx.setStorageSync('group_' + message.to, chatMsg);             }         }     } },

就是简单的判断了一下接受到的消息的类型,然后缓存的key换了一下。

还有一点就是聊天时的用户名和头像了。
两种方法:

  • 接口获取,每次收到新消息时调用服务器接口获取(实时性强,不推荐)
  • 扩展消息,通过消息主体外的扩展消息带过来头像和昵称

那么小程序的扩展消息如何设置呢
msg.body.ext.userNickname = wx.getStorageSync('myNickname');
msg.body.ext.userAvatar = wx.getStorageSync('myAvatar');

此处需注意一点,如果APP中同样使用了扩展消息,那么扩展消息的名字一定要统一哦。。

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎