IM --- Instant Messaging 即时通讯(环信IM云)
1 环信IM云
准备工作 :
1). 注册环信IM账户
2). 创建IM应用
2.架构
接口测试 :
3. 用户微服务
tensquare_user : 统一管理十次方系统中的用户信息 ;
1). pom.xml
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency><groupId>com.tensquare</groupId><artifactId>tensquare_common</artifactId><version>1.0-SNAPSHOT</version>
</dependency><!-- mybatis-plus begin -->
<dependency><groupId>com.baomidou</groupId><artifactId>mybatisplus-spring-boot-starter</artifactId><version>${mybatisplus-spring-boot-starter.version}</version>
</dependency>
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus</artifactId><version>${mybatisplus.version}</version>
</dependency>
2). application.yml
server:port: 9008
spring:application:name: tensquare-userdatasource: # 数据库连接四大属性driver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://192.168.192.164:3306/tensquare_user?characterEncoding=utf-8username: rootpassword: root
# Mybatis-Plus 配置
mybatis-plus:
# mapper-locations: classpath:/mapper/*Mapper.xml#实体扫描,多个package用逗号或者分号分隔typeAliasesPackage: com.tensquare.article.pojoglobal-config:id-type: 1 #0:数据库ID自增 1:用户输入iddb-column-underline: falserefresh-mapper: trueconfiguration:map-underscore-to-camel-case: truecache-enabled: true #配置的缓存的全局开关lazyLoadingEnabled: true #延时加载的开关multipleResultSetsEnabled: true #开启延时加载,否则按需加载属性log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用
3). 引导类
@SpringBootApplication
public class UserApplication {public static void main(String[] args) {SpringApplication.run(UserApplication.class, args);}
}
4). Dao接口
public interface UserDao extends BaseMapper<User> {}
4 集成环信IM云
官方已经提供了接入/集成的SDK工具包及接入的DEMO ; 我们需要做的就是根据工具包中提供的工具 , 参考demo工程 , 来完成我们自己项目的接入即可 ;
5 用户注册
1). 注册 : 指当前系统中的用户 , 在使用环信IM云平台时 , 需要往环信IM云上注册用户信息 ;
2). 如何注册 : 使用环信IM提供的SDK工具 ; 参考官方demo ;
3). 代码实现 :
var userId , nickname , passowrd;document.getElementById('reg').onclick = function () {userId = document.getElementById("userId").value;$.ajaxSettings.async=false;$.get("/user/"+userId,function(data){nickname = data.data.nickname;password = data.data.password;});alert(nickname+":"+password);var option = {username: userId,password: password,nickname:nickname,appKey: WebIM.config.appkey,success: function () {console.log('注册成功');},error: function () {console.log('注册失败');},apiUrl: WebIM.config.apiURL};conn.signup(option);//SDK注册方法};
4). 实际开发中: 应该在即时通讯页面打开时, 要来完成自动的注册的功能 ;
6 用户登录
1). 登录 : 注册好的用户, 登录到环信IM云中, 只有登录的用户才可以来进行及时通讯 ;
2). 代码实现:
//登录document.getElementById('login').onclick = function () {userId = document.getElementById("userId").value;$.ajaxSettings.async=false;$.get("/user/"+userId,function(data){nickname = data.data.nickname;password = data.data.password;});options = {apiUrl: WebIM.config.apiURL,user: userId,pwd: password,appKey: WebIM.config.appkey};conn.open(options);console.log(options)};
7 即时通讯
//文本消息
var conf = WebIM.config
//var WebIM = WebIM.default
WebIM.config = conf
WebIM.message = WebIM.default.message
WebIM.utils = WebIM.default.utils
WebIM.debug = WebIM.default.debug
WebIM.statusCode = WebIM.default.statusCodevar myDate = new Date().toLocaleString();
document.getElementById('send').onclick = function () {var tname = document.getElementById("toUserId").value;var tmsg = document.getElementById("myinfo").value;var id = conn.getUniqueId(); // 生成本地消息idvar msg = new WebIM.default.message('txt', id); // 创建文本消息msg.set({msg: tmsg, // 消息内容to: tname,ext: {'time': myDate}, // 接收消息对象(用户id)success: function (id, serverMsgId) {console.log('send private text Success');msgText = msg.body.msg;},fail: function (e) {console.log("Send private text error");}});msg.body.chatType = 'singleChat';conn.send(msg.body);//发送消息$("#log-container").append("<div class='bg-success'><label class='text-info'>用户ID为"+userId+"发送的消息是: </label><div class='text-info'>"+tmsg+"</div></div><br>");console.log(msg);
};
IM --- Instant Messaging 即时通讯(环信IM云)相关推荐
- 即时通讯环信IM的集成使用
点击进入我的个人博客 第三方即时通讯服务,环信 IM云的集成使用,我这里主要以 web集成为主,如何把单聊模块集成到自己的项目进行的操作讲解,更多详细操作可以参考官网提供的开发文档 文章目录 环信IM ...
- 主流的四种IM(IM:instant messaging,即时消息)协议
转载:http://hi.baidu.com/zhaojinwei1986/blog/item/fe3b9f12d5784e24dd5401db.html XMPP(Extensible Messag ...
- IM即时通讯H信 Android
一.概述 1.开发环境及安装配置 开发环境Windows10下基于JRE1.8.0.OpenJDK Server VM的集成开发工具Android Studio 3.5和环信即时通讯云Android ...
- 即时通信---环信SDK(IOS)使用教程
一. 提前准备 注册环信即时通讯云账号 下载iOS的环信SDK 登陆到管理后台 在我的应用中创建一个应用 在苹果的个人开发中心创建一个推送证书(当然不创建也没用关系,只是不能推送消息而已) 创建完证书 ...
- 03-即时通讯 环信集成
环信 环信是在XMPP的基础上进行的二次开发 环信在网络上传输的数据是XML 环信 是否使用过环信,简单说一下环信的实现原理 环信是一个即时通讯的服务提供商 环信使用的是XMPP协议,它是在XMPP的 ...
- 即时通信-环信API方法
安装 如果你的项目使用Maven构建并且spring boot是2.4.3以上版本,可以在pom.xml中添加下面代码: <dependency><groupId>com.ea ...
- 即时通讯(四)---初始化融云
1.获取Token 功能描述 生成用户在融云的唯一身份标识 Token,客户端在使用融云通讯能力前必须获取 Token,融云 SDK 每次连接服务器时,都需要向融云服务器提供 Token,以便验证身份 ...
- Android即时通讯(一)
资料来自网络: 一.即时通讯 什么是即时通讯? 即时通讯,又称实时通讯 即时通信(Instant Messaging,简称IM)是一个实时通信系统,允许两人或多人使用网络实时的传递文字消息.文件.语音 ...
- 即时通讯源码-即时通讯集群服务免费-通讯百万并发技术-Openfire 的安装配置教程手册-哇谷即时通讯集群方案-哇谷云-哇谷即时通讯源码
即时通讯源码-即时通讯集群服务免费-通讯百万并发技术-Openfire 的安装配置教程手册-哇谷即时通讯集群方案-哇谷云 1,openfire开发环境配置 很久没有写点东西了.最近很烦心,领导不给力. ...
最新文章
- xcode升级之后,VVDocument失效的解决办法
- 【转】Loadrunner入门(《软件性能测试过程详解与案例剖析》)
- P1965 夜夜的数据加强 题解
- 电动力学每日一题 2021/10/12
- MySQL中的行级锁,表级锁,页级锁
- RESTful Web 服务 - 方法
- php升级的痛苦,升级 PHP 7.4 带来的两个大坑
- [ZJOI2007]矩阵游戏
- java swing 等待框_java – 让用户使用Swing等待
- 0603 学术诚信与职业道德
- Fluent NHibernate other example
- 记录点滴23(中秋、国庆篇)
- 字符串算法 金策_OI-Public-Library/国家集训队论文1999-2017 at master · BlackWaters/OI-Public-Library · GitHub...
- PPT学习整理(八)PPT图片技巧
- linux作为网络防火墙,如何用linux做防火墙
- 珞石(ROKAE)机械手简单的编程
- html 实现自动填表
- 一个接口满足你对天气数据的所有想象,包含小时预报,实况,逐日预报,城市预报,实况,雷达月报,生活指数
- Python背单词记单词小程序,可自定义词库,支持多种记忆模式,根据词义拼写、选择单词,根据词意选择单词
- 2022-3-13 MIT lab1 到 lab2 代码的切换