微信小程序集成环信SDK

作者: mirrorzyb | 来源:发表于2017-02-08 21:18 被阅读3865次

本文以一个小例子简单的演示在微信小程序中使用环信SDK收发消息。

官网demo 下载后把整个utils目录下的文件复制到咱自己工程的目录下。

WebIMConfig.js中将AppKey替换成自己应用的key

界面简单的用一个输入框和一个按钮组成,点击按钮发送消息。

导入WebIM.js

var WebIM = require('../../utils/WebIM.js')
var WebIM = WebIM.default

登陆

hxloign: function () {
        var options = {
            apiUrl: WebIM.config.apiURL,
            user: 'u1',
            pwd: 'p1',
            grant_type: 'password',
            appKey: WebIM.config.appkey //应用key
        }
        WebIM.conn.open(options)
    },

发送文本消息

 sendMessage: function () {

        var that = this
        var id = WebIM.conn.getUniqueId();
        var msg = new WebIM.message('txt', id);
        msg.set({
            msg: this.data.inputValue,//输入框的文本
            to: 'u0',
            roomType: false,
            success: function (id, serverMsgId) {
            }
        });
        msg.body.chatType = 'singleChat';
        WebIM.conn.send(msg.body);
    },

接收消息

接收消息要先在app.js中添加回调函数

app.js获取聊天界面

  getRoomPage: function () {
        return this.getPage("pages/index/index")//聊天界面
    },
   getPage: function (pageName) {
        var pages = getCurrentPages()
        return pages.find(function (page) {
            return page.__route__ == pageName
    })

app.jsonlanuch方法中进行声明

   var that = this;
        WebIM.conn.listen({
            onTextMessage: function (message) {
                var page = that.getRoomPage()
                if (message) {
                    if (page) {
                        page.receiveMsg(message, 'txt')//receiveMsg方法就是咱在自己界面定义的方法
                     }else{
                        //界面不存在
                      }
                }
            }
        })

index.js中定义的接收消息的方法

receiveMsg: function (msg, type) {
        console.log(msg);
    },

到此简单的收发消息功能就算实现了,发送语音图片规则都差不多,只不过参数不一样,可以参考消息 环信开发文档

相关文章

网友评论

  • 后端云技术分享:楼主是爱范儿的。
  • 3d52ac83fb9b:楼主怎么记录消息是否查看了
    mirrorzyb:@3d52ac83fb9b 我没在正式项目中用,仅仅测试了下,iOS是收到消息时判断是否在聊天界面,在聊天界面就设为已读,将messagemodel中的isMessageRead的bool值设为yes,我感觉逻辑应该差不多吧
  • 3d52ac83fb9b:大神有几个函数看不明白,可以加注释吗?
  • 知晓程序:你好!我们是爱范儿旗下专注于小程序生态的公众号知晓程序(微信号 zxcx0101)。我们很赞赏你的文章,希望能获得转载授权。授权后,你的文章将会在知晓程序社区(minapp.com)、爱范儿、AppSo 等渠道发布,我们会注明来源和作者姓名。

    非常感谢~~~
    mirrorzyb:@知晓程序 好的

本文标题:微信小程序集成环信SDK

本文链接:https://www.haomeiwen.com/subject/cuubittx.html