微信小程序集成环信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);
        },
    

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

    相关文章

      网友评论

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

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

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

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