利用云信SDK实现前端实时聊天功能

4 篇文章 0 订阅
1 篇文章 0 订阅

前言:由于项目中有聊天的功能,会根据不同的状态,来判断哪些角色的人可以参与聊天,或者结束聊天等等。由于历史原因,项目不能使用websocket  来实现实时通信,所以就使用了云信的SDK,来实现实时聊天功能。

1.  首先引入两个sSDK文件

<script type="text/javascript" src="/js/Web_SDK_Base_v2.4.0.js"></script>

<script type="text/javascript" src="/js/Web_SDK_NIM_v2.4.0.js"></script>

2. 初始化nim  (注意,此项目是用Vue 来写的,里面有些变量需自己初始化);

3 .account、token,这里的两个参数为当前用户名的登录名,并不是token,唯一的登录名。

4. onmsg 为有新消息之后的回调,里面具体的判断为该项目具体逻辑内容,自己酌情处理。

5. 该插件只能捕捉到有新消息时会自动调一次,插件并不能得到具体的消息内容,还需自己在调取一次。

initNim() {
    if (null == this.nim) {
        this.nim = new NIM({
            debug: false, //是否开启日志, 开发者可以开启日志, 这样 SDK 会将关键操作的信息打印到控制台上, 便于调试
            //appKey: 'e3799bfb2a00f669b32a163a230d6667', // 在云信管理后台查看应用的 appKey
            appKey: 'fb1a6e97ed4517b1b39e519c4e24c6db', // 在云信管理后台查看应用的 appKey
            account: this.expertInfo.loginName, // 帐号, 应用内唯一
            token: this.expertInfo.loginName, // 应该使用 loginName // 帐号的 token, 用于建立连接
            db: false,
            onmsg: (msg) => {
                let obj = JSON.parse(msg.text);
                if (obj.NoticeTypesDescription == expert.newTalkMessage) {
                    if (obj.Sender !== this.expertInfo.loginName) {    //记数
                        // this.redNewMessage = true;
                        let num = 0;
                        let id = obj.ThingUnique;
                        for (let i = 0; i < this.dataList.length; i++) {
                            if (this.dataList[i].taskUnique == id) {
                                this.update = this.dataList[i];
                            }
                        }
                        this.updateCount(this.update.unreadCount);
                        return;
                    }
                    else if (obj.Owner == this.expertInfo.loginName) {   //接收新消息
                        this.initSource(0, 99);
                        this.nimFlag = true;
                        return;
                    }
                }
            }
        });
    }
},
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值