created() {

//建立连接

RongIMLib.RongIMClient.init("lmxuhwagl5ukd");  //这是关键点,需要填写appkey              lmxuhwagl5ukd

this.StatusListener();

this.getUser()

},

method:{

//下面是建立连接的

StatusListener(){

//RongIMLib.RongIMClient.init('4z3hlwrv4ovrt');  //这是关键点,需要填写appkey

//建立连接

RongIMClient.setConnectionStatusListener({

onChanged: function (status) {

// status 标识当前连接状态

switch (status) {

case RongIMLib.ConnectionStatus.CONNECTED:

console.log('链接成功');

break;

case RongIMLib.ConnectionStatus.CONNECTING:

console.log('正在链接');

break;

case RongIMLib.ConnectionStatus.DISCONNECTED:

console.log('断开连接');

break;

case RongIMLib.ConnectionStatus.KICKED_OFFLINE_BY_OTHER_CLIENT:

console.log('其他设备登录');

break;

case RongIMLib.ConnectionStatus.DOMAIN_INCORRECT:

console.log('域名不正确');

break;

case RongIMLib.ConnectionStatus.NETWORK_UNAVAILABLE:

console.log('网络不可用');

break;

}

}

});

// 消息监听器

RongIMClient.setOnReceiveMessageListener({

// 接收到的消息

onReceived: function (message) {

// 判断消息类型

switch(message.messageType){

case RongIMClient.MessageType.TextMessage:

// message.content.content => 文字内容

break;

case RongIMClient.MessageType.VoiceMessage:

// message.content.content => 格式为 AMR 的音频 base64

break;

case RongIMClient.MessageType.ImageMessage:

// message.content.content => 图片缩略图 base64

// message.content.imageUri => 原图 URL

break;

case RongIMClient.MessageType.LocationMessage:

// message.content.latiude => 纬度

// message.content.longitude => 经度

// message.content.content => 位置图片 base64

break;

case RongIMClient.MessageType.RichContentMessage:

// message.content.content => 文本消息内容

// message.content.imageUri => 图片 base64

// message.content.url => 原图 URL

break;

case RongIMClient.MessageType.InformationNotificationMessage:

// do something

break;

case RongIMClient.MessageType.ContactNotificationMessage:

// do something

break;

case RongIMClient.MessageType.ProfileNotificationMessage:

// do something

break;

case RongIMClient.MessageType.CommandNotificationMessage:

// do something

break;

case RongIMClient.MessageType.CommandMessage:

// do something

break;

case RongIMClient.MessageType.UnknownMessage:

// do something

break;

default:

// do something

}

}

});

},

nowNum(token){

//自己的token------从接口获取,写到缓存

//var token = JSON.parse(localStorage.getItem('userInfo')).IMUser.token//"WzrthC5f4UfuiI7dIwCQ5fwtGfqCdobpowIZkcQnj8PQOQuAJb/nIi1ayzGFwJguvbQZxbJH3x0=";

//var token = '12'

RongIMClient.connect(token, {

onSuccess: function(userId) {

console.log('Connect successfully. ' + userId);

},

onTokenIncorrect: function() {

console.log('token 无效');

},

onError: function(errorCode){

var info = '';

switch (errorCode) {

case RongIMLib.ErrorCode.TIMEOUT:

info = '超时';

break;

case RongIMLib.ConnectionState.UNACCEPTABLE_PAROTOCOL_VERSION:

info = '不可接受的协议版本';

break;

case RongIMLib.ConnectionState.IDENTIFIER_REJECTED:

info = 'appkey不正确';

break;

case RongIMLib.ConnectionState.SERVER_UNAVAILABLE:

info = '服务器不可用';

break;

}

console.log(info,'z这个是建立的连接~');

}

});

},

//获取用户信息

getUser(){

const that = this

axios.get('http://apitest.bnd.microzan.com.cn/login/checkUserExistByOpenId?openId=oR0_h1aQZxobgoUSU7jlSBIUZk4U')

.then(function (res) {

if(res.data.code  == '200'){

console.log(res.data.data.IMUser,'用户信息~~')

that.userInfor = res.data.data.IMUser

that.nowNum(res.data.data.IMUser.token);

}

})

.catch(function (error) {

console.log(error);

});

},

//发送消息

send() {

let that = this

let msg = new RongIMLib.TextMessage({ content: that.say, extra: 'https://img.52z.com/upload/news/image/20171120/20171120080335_21404.jpg' });

let conversationType = RongIMLib.ConversationType.PRIVATE; // 单聊, 其他会话选择相应的消息类型即可

// let targetId = JSON.parse(localStorage.getItem('userInfo')).IMUser.assistantId; // 目标 Id

//let targetId = that.userInfor.assistantId

let targetId = 113

//console.log(that.userInfor.assistantId,'发消息的userId~~')

RongIMClient.getInstance().sendMessage(conversationType, targetId, msg, {

onSuccess: function (message) {

// message 为发送的消息对象并且包含服务器返回的消息唯一 Id 和发送消息时间戳

console.log('Send successfully',message,message.content.content);

let say = {

type:1,

css:'right',

txt:message.content.content,

headImg:'https://img.52z.com/upload/news/image/20171120/20171120080335_21404.jpg'

}

that.answer.push(say)

that.say = ''

},

onError: function (errorCode, message) {

let info = '';

switch (errorCode) {

case RongIMLib.ErrorCode.TIMEOUT:

info = '超时';

break;

case RongIMLib.ErrorCode.UNKNOWN:

info = '未知错误';

break;

case RongIMLib.ErrorCode.REJECTED_BY_BLACKLIST:

info = '在黑名单中,无法向对方发送消息';

break;

case RongIMLib.ErrorCode.NOT_IN_DISCUSSION:

info = '不在讨论组中';

break;

case RongIMLib.ErrorCode.NOT_IN_GROUP:

info = '不在群组中';

break;

case RongIMLib.ErrorCode.NOT_IN_CHATROOM:

info = '不在聊天室中';

break;

}

console.log('发送失败: ' + info + errorCode);

}

});

},

}

融云通讯服务器,vue使用融云即时通讯,老是报了发送失败,服务器超时相关推荐

  1. 关于即时通讯系统中消息发送、转发、展示、提示等专利初探

    关于即时通讯系统中消息发送.转发.展示.提示等专利初探 即时通讯是目前Internet上最为流行的通讯方式,实时通信(Instant Messaging,简称IM)是一个实时通信系统,允许两人或多人使 ...

  2. 即时通讯项目 java版本qq (含服务器和客户端)源码_即时通讯安卓-QQ互联网和即时通讯云,如何实现即时通讯,这是Android还是Java...

    Android是系统平台. 应用程序所做的是应用程序的开发和完成 也就是说,通信是网络通信,但在手机环境中,网络的情况更复杂,所以我们必须做好结构 安卓即时通讯. 怎么做?安卓版TT即时通讯排行. A ...

  3. linux+即时通讯服务器,linux平台上的即时通讯应用开发

    由于使用习惯,Linux在中国受欢迎程度远不如windows,相应的软件也比较少,尤其是音视频类的软件,但是,这并不代表就完全没有.下面介绍一款强大的音视频即时通讯平台给大家,它就是--Anychat ...

  4. Android即时通讯与IOS端发送语音的问题。

    现在在做一个即时通讯,要发送语音.大家规定好的是aac文件. 现在是我这边录的发给IOS那边可以播放,我自己录的传到服务器再下载下来自己也可以播放,但是IOS那边录的我down下来之后就不行了.放不了 ...

  5. 融云获亿元B轮融资 重磅发布企业即时通讯解决方案

    6月28日,全球富媒体通讯云服务提供商--融云(公司全称:北京云中融信网络科技有限公司)在北京举办了"Run With You 与你同行"融云即时通讯云发布会.在此次发布会现场,融 ...

  6. 融云RongIMKit即时通讯开发(让我们聊起来)

    1.前言 现在APP功能越来越多,聊天成为很重要的一个功能,现在市面上流行的即时通讯SDK基本上只有融云和环信,而近年来融云在各个方面都有超过环信的趋势,所以在项目中用到融云的地方越来越多.那我们是不 ...

  7. 即时通讯云服务免费 破解APP社交化困局

    2014年7月14日消息,在过去的一周里,开发者林迪和他的小伙伴们都通过融云的免费即时通讯云服务接入,顺利实现了自己生活服务类APP的社交化. 不仅实现了单聊功能,本以为会遭遇冷场的群聊功能却意想不到 ...

  8. 环信即时通讯云获得A轮融资 开启 “高品质更好用”IM时代

    国内首家专注即时通讯云服务的公司--环信即时通讯云今日在发布会上正式宣布完成来自SIG海纳亚洲的500万美元A轮融资. 在此轮融资成功后,环信会在应开发者要求开发更多新功能的同时,着重于保持稳定的系统 ...

  9. 全开源即时通讯(IM)系统-仿微信

    1. 什么是E聊SDK E聊是一套面向个人的免费开源通用的即时通讯组件,支持发送红包,推送商品信息等.SDK能够更加容易地赋予客户IM能力,使客户可以快速的在自有产品上添加聊天功能.使用E聊SDK可以 ...

最新文章

  1. 如何将Java源代码文件的编码从GBK转为UTF-8?
  2. Hook技术--Activity的启动过程的拦截
  3. 从涂鸦到发布 —— 理解API的设计过程
  4. Springboot整合swagger指南
  5. cudnn下载_Windows10安装 cuDNN 方法
  6. c++判断整数翻转溢出_LeetCode7.整数反转(Reverse Integer)
  7. NET问答: 如何使用 C# 直接从 JSON String 中提取特定值 ?
  8. docker启动,重启,关闭命令
  9. Python《搞事情==蜂-鸟-图-片(二)》
  10. mysql yum安装与配置文件_MySQL 8.0 yum安装和配置
  11. VMware vSphere 性能优化设计经验+优化方法 | 周末送资料
  12. maven 执行testng.xml文件失败解决问题
  13. Oracle Database 11g 数据库普通用户登录时提示 ORA-28002: the password will expire within 5 days
  14. 去除img未加载到的默认边框问题
  15. 苹果5s现在还能用吗_苹果ios稳定企业签名,现在苹果企业签名还是最稳定的苹果签名吗...
  16. JUC中的Atomic原子类
  17. .NET C# + ECharts 初学笔记 后台加载统计图表数据 - 简单示例
  18. Java 案例:珠穆朗玛峰的高度
  19. Intel-8088/8086微处理器
  20. 微信内测推出新功能,朋友圈“修改可见范围”

热门文章

  1. springcloud 注解 @EnableDiscoveryClient 与 @EnableEurekaClient 的区别
  2. Python 删除满足条件的某些行
  3. 学生管理系统stuSystem函数
  4. Jmeter----5.1 设置中文
  5. ASP.NET Core 实战:Linux 小白的 .NET Core 部署之路
  6. 【hdu 6444】Neko's loop
  7. 工作日志WebRoot--编辑页关于处理两个关联的选择框
  8. 用一个简单的例子来演绎事件委托
  9. 百度富文本编辑器的应用技巧---在一个页面中使用多个样式不同功能不同的编辑器...
  10. 使用DNS 轻松获取主机信息