融云通讯服务器,vue使用融云即时通讯,老是报了发送失败,服务器超时
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使用融云即时通讯,老是报了发送失败,服务器超时相关推荐
- 关于即时通讯系统中消息发送、转发、展示、提示等专利初探
关于即时通讯系统中消息发送.转发.展示.提示等专利初探 即时通讯是目前Internet上最为流行的通讯方式,实时通信(Instant Messaging,简称IM)是一个实时通信系统,允许两人或多人使 ...
- 即时通讯项目 java版本qq (含服务器和客户端)源码_即时通讯安卓-QQ互联网和即时通讯云,如何实现即时通讯,这是Android还是Java...
Android是系统平台. 应用程序所做的是应用程序的开发和完成 也就是说,通信是网络通信,但在手机环境中,网络的情况更复杂,所以我们必须做好结构 安卓即时通讯. 怎么做?安卓版TT即时通讯排行. A ...
- linux+即时通讯服务器,linux平台上的即时通讯应用开发
由于使用习惯,Linux在中国受欢迎程度远不如windows,相应的软件也比较少,尤其是音视频类的软件,但是,这并不代表就完全没有.下面介绍一款强大的音视频即时通讯平台给大家,它就是--Anychat ...
- Android即时通讯与IOS端发送语音的问题。
现在在做一个即时通讯,要发送语音.大家规定好的是aac文件. 现在是我这边录的发给IOS那边可以播放,我自己录的传到服务器再下载下来自己也可以播放,但是IOS那边录的我down下来之后就不行了.放不了 ...
- 融云获亿元B轮融资 重磅发布企业即时通讯解决方案
6月28日,全球富媒体通讯云服务提供商--融云(公司全称:北京云中融信网络科技有限公司)在北京举办了"Run With You 与你同行"融云即时通讯云发布会.在此次发布会现场,融 ...
- 融云RongIMKit即时通讯开发(让我们聊起来)
1.前言 现在APP功能越来越多,聊天成为很重要的一个功能,现在市面上流行的即时通讯SDK基本上只有融云和环信,而近年来融云在各个方面都有超过环信的趋势,所以在项目中用到融云的地方越来越多.那我们是不 ...
- 即时通讯云服务免费 破解APP社交化困局
2014年7月14日消息,在过去的一周里,开发者林迪和他的小伙伴们都通过融云的免费即时通讯云服务接入,顺利实现了自己生活服务类APP的社交化. 不仅实现了单聊功能,本以为会遭遇冷场的群聊功能却意想不到 ...
- 环信即时通讯云获得A轮融资 开启 “高品质更好用”IM时代
国内首家专注即时通讯云服务的公司--环信即时通讯云今日在发布会上正式宣布完成来自SIG海纳亚洲的500万美元A轮融资. 在此轮融资成功后,环信会在应开发者要求开发更多新功能的同时,着重于保持稳定的系统 ...
- 全开源即时通讯(IM)系统-仿微信
1. 什么是E聊SDK E聊是一套面向个人的免费开源通用的即时通讯组件,支持发送红包,推送商品信息等.SDK能够更加容易地赋予客户IM能力,使客户可以快速的在自有产品上添加聊天功能.使用E聊SDK可以 ...
最新文章
- 如何将Java源代码文件的编码从GBK转为UTF-8?
- Hook技术--Activity的启动过程的拦截
- 从涂鸦到发布 —— 理解API的设计过程
- Springboot整合swagger指南
- cudnn下载_Windows10安装 cuDNN 方法
- c++判断整数翻转溢出_LeetCode7.整数反转(Reverse Integer)
- NET问答: 如何使用 C# 直接从 JSON String 中提取特定值 ?
- docker启动,重启,关闭命令
- Python《搞事情==蜂-鸟-图-片(二)》
- mysql yum安装与配置文件_MySQL 8.0 yum安装和配置
- VMware vSphere 性能优化设计经验+优化方法 | 周末送资料
- maven 执行testng.xml文件失败解决问题
- Oracle Database 11g 数据库普通用户登录时提示 ORA-28002: the password will expire within 5 days
- 去除img未加载到的默认边框问题
- 苹果5s现在还能用吗_苹果ios稳定企业签名,现在苹果企业签名还是最稳定的苹果签名吗...
- JUC中的Atomic原子类
- .NET C# + ECharts 初学笔记 后台加载统计图表数据 - 简单示例
- Java 案例:珠穆朗玛峰的高度
- Intel-8088/8086微处理器
- 微信内测推出新功能,朋友圈“修改可见范围”
热门文章
- springcloud 注解 @EnableDiscoveryClient 与 @EnableEurekaClient 的区别
- Python 删除满足条件的某些行
- 学生管理系统stuSystem函数
- Jmeter----5.1 设置中文
- ASP.NET Core 实战:Linux 小白的 .NET Core 部署之路
- 【hdu 6444】Neko's loop
- 工作日志WebRoot--编辑页关于处理两个关联的选择框
- 用一个简单的例子来演绎事件委托
- 百度富文本编辑器的应用技巧---在一个页面中使用多个样式不同功能不同的编辑器...
- 使用DNS 轻松获取主机信息