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云)相关推荐

  1. 即时通讯环信IM的集成使用

    点击进入我的个人博客 第三方即时通讯服务,环信 IM云的集成使用,我这里主要以 web集成为主,如何把单聊模块集成到自己的项目进行的操作讲解,更多详细操作可以参考官网提供的开发文档 文章目录 环信IM ...

  2. 主流的四种IM(IM:instant messaging,即时消息)协议

    转载:http://hi.baidu.com/zhaojinwei1986/blog/item/fe3b9f12d5784e24dd5401db.html XMPP(Extensible Messag ...

  3. IM即时通讯H信 Android

    一.概述 1.开发环境及安装配置 开发环境Windows10下基于JRE1.8.0.OpenJDK Server VM的集成开发工具Android Studio 3.5和环信即时通讯云Android ...

  4. 即时通信---环信SDK(IOS)使用教程

    一. 提前准备 注册环信即时通讯云账号 下载iOS的环信SDK 登陆到管理后台 在我的应用中创建一个应用 在苹果的个人开发中心创建一个推送证书(当然不创建也没用关系,只是不能推送消息而已) 创建完证书 ...

  5. 03-即时通讯 环信集成

    环信 环信是在XMPP的基础上进行的二次开发 环信在网络上传输的数据是XML 环信 是否使用过环信,简单说一下环信的实现原理 环信是一个即时通讯的服务提供商 环信使用的是XMPP协议,它是在XMPP的 ...

  6. 即时通信-环信API方法

    安装 如果你的项目使用Maven构建并且spring boot是2.4.3以上版本,可以在pom.xml中添加下面代码: <dependency><groupId>com.ea ...

  7. 即时通讯(四)---初始化融云

    1.获取Token 功能描述 生成用户在融云的唯一身份标识 Token,客户端在使用融云通讯能力前必须获取 Token,融云 SDK 每次连接服务器时,都需要向融云服务器提供 Token,以便验证身份 ...

  8. Android即时通讯(一)

    资料来自网络: 一.即时通讯 什么是即时通讯? 即时通讯,又称实时通讯 即时通信(Instant Messaging,简称IM)是一个实时通信系统,允许两人或多人使用网络实时的传递文字消息.文件.语音 ...

  9. 即时通讯源码-即时通讯集群服务免费-通讯百万并发技术-Openfire 的安装配置教程手册-哇谷即时通讯集群方案-哇谷云-哇谷即时通讯源码

    即时通讯源码-即时通讯集群服务免费-通讯百万并发技术-Openfire 的安装配置教程手册-哇谷即时通讯集群方案-哇谷云 1,openfire开发环境配置 很久没有写点东西了.最近很烦心,领导不给力. ...

最新文章

  1. xcode升级之后,VVDocument失效的解决办法
  2. 【转】Loadrunner入门(《软件性能测试过程详解与案例剖析》)
  3. P1965 夜夜的数据加强 题解
  4. 电动力学每日一题 2021/10/12
  5. MySQL中的行级锁,表级锁,页级锁
  6. RESTful Web 服务 - 方法
  7. php升级的痛苦,升级 PHP 7.4 带来的两个大坑
  8. [ZJOI2007]矩阵游戏
  9. java swing 等待框_java – 让用户使用Swing等待
  10. 0603 学术诚信与职业道德
  11. Fluent NHibernate other example
  12. 记录点滴23(中秋、国庆篇)
  13. 字符串算法 金策_OI-Public-Library/国家集训队论文1999-2017 at master · BlackWaters/OI-Public-Library · GitHub...
  14. PPT学习整理(八)PPT图片技巧
  15. linux作为网络防火墙,如何用linux做防火墙
  16. 珞石(ROKAE)机械手简单的编程
  17. html 实现自动填表
  18. 一个接口满足你对天气数据的所有想象,包含小时预报,实况,逐日预报,城市预报,实况,雷达月报,生活指数
  19. Python背单词记单词小程序,可自定义词库,支持多种记忆模式,根据词义拼写、选择单词,根据词意选择单词
  20. 2022-3-13 MIT lab1 到 lab2 代码的切换

热门文章

  1. 解决Android studio 的 Connecting to the emulator
  2. webpack热更新原理-连阿珍都看懂了
  3. 【读书笔记】之《逻辑思维》
  4. 腾讯云docker下安装elasticsearch及IK分词器-扩展词-停止词Kibana
  5. 顶级黑客能在完全没信号的地方上网吗?
  6. 技嘉X79 UD3主板再创Intel reg X79超频世界纪录
  7. vue + echarts+地图实现功能,实现地图上数据显示,四川省地图echarts地市数据案列
  8. 江水平装修队:一个装修队的企业文化
  9. Linux学习笔记(二)——文件与磁盘系统
  10. deepwalk配置与使用