微信小程序集成环信SDK

本文以一个小例子简单的演示在微信小程序中使用环信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);
    },

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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 164,599评论 24 698
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 8,875评论 4 48
  • 千载悠悠人悠悠, 觉來忽见天际月。 顿嗟无尽紅尘事, 漫漫征途步步学。 和衣著身虽堪冷, 却喜中月有圆缺。 忽忆东...
    千秋笔阅读 80评论 0 1
  • 当 -为了我放下一切 -手机背景是我的照片或是俩人的合照 -他每次出门都会告诉我要去哪里干什么 -他每天会给我打...
    mmlym阅读 325评论 0 3
  • 独钓云烟阅读 261评论 4 8
  • 罗耕,骑牛,是因为我没有急着要去杀的人,也没人能撵着杀我。这人从未败过,似乎比每个对手都要厉害一点点。他说实话的时...
    折羽风临晚阅读 99评论 0 0
  • 一 、何谓宽恕? 1、 宽恕就是认清了。你以为弟兄做了对不起你的事,其实不曾发生过。它并非原谅他人的罪过而把罪过当...
    懒懒的妈阅读 155评论 0 0