首页 > 编程语言 >全开源风车im源码(前端uniapp可发布H5及app/后端java含视频搭建教程)

全开源风车im源码(前端uniapp可发布H5及app/后端java含视频搭建教程)

时间:2023-09-04 10:03:04浏览次数:38  
标签:uniapp java ... builder 联系人 列表 源码 build 客户端

互联网彻底改变了我们的沟通方式,电子邮件是迄今为止采用最快的通信形式。不到二十年前,还没有多少人听说过它。现在,我们中的许多人都用电子邮件而不是写信,甚至打电话给别人,世界各地的人们每天发送数十亿封电子邮件。

源码:ms.jstxym.top

但有时甚至电子邮件也不够快。您可能不知道您要向其发送电子邮件的人当时是否在线。另外,如果您与某人来回发送电子邮件,通常必须单击几个步骤。这就是即时通讯(IM)源码变得如此流行的原因。

通过风车即时通讯IM源码系统,您可以保留与您互动的人员列表。只要该人在线,您就可以与好友列表或联系人列表中的任何人进行即时通讯。您可以在两个屏幕上显示的小窗口中互相输入消息。

全开源风车im源码(前端uniapp可发布H5及app/后端java含视频搭建教程)_即时通讯源码

风车IM源码提供以下功能:

●即时消息:与在线朋友来回发送笔记

●聊天:与朋友或同事创建聊天室

●网络链接:分享您喜爱的网站的链接

●视频:发送和查看视频,并与朋友面对面聊天

●图像:查看存储在朋友计算机上的图像

●声音:为您的朋友播放声音

●文件:通过直接发送给您的朋友来共享文件

●交谈:使用互联网而不是电话与朋友实际交谈

●移动功能:从您的手机发送即时消息

在本文中,您将了解即时消息的历史及其工作原理。您还将了解主要的风车IM程序是什么、它们之间的不同之处以及风车IM的未来。

请查看以下步骤,准确了解即时消息服务会发生什么情况。

1、您转到下载页面并获取适用于您的计算机的免费软件客户端的副本。

2、您安装软件并打开客户端。

3、客户端尝试连接到服务器。它使用专有协议进行通信。

4、客户端连接到服务器后,您可以输入用户名和密码登录服务器。如果这是您第一次使用,您可以注册一个帐户并立即开始使用。当服务器验证您的用户名和密码后,您就登录了。

全开源风车im源码(前端uniapp可发布H5及app/后端java含视频搭建教程)_即时通讯源码_02

5、客户端向服务器发送您正在使用的计算机的连接信息(IP地址和分配给客户端的端口号)。它还为用户提供联系人列表中每个人的姓名。

6、服务器会创建一个临时文件,其中包含您的连接信息和联系人列表。然后,它会检查您的联系人列表中是否有任何用户当前已登录。

7、如果服务器发现您的任何联系人已登录,则会向您计算机上的客户端发回一条消息,其中包含该用户的连接信息。服务器还会将您的连接信息发送给您的联系人列表中已登录的人员。

8、当您的客户端获取联系人列表中某人的连接信息时,它会将该人的状态更改为“在线”。您单击联系人列表中在线人员的姓名,然后会打开一个窗口,您可以在其中输入文本。您输入消息并单击“发送”或按回车键即可与该人进行交流。

9、由于您的客户端拥有您向其发送邮件的人的计算机的IP地址和端口号,因此您的邮件将直接发送到该人计算机上的客户端。换句话说,此时服务器不参与其中。所有通信都直接在两个客户端之间进行。

10、对方收到您的即时消息并做出回复。你们每个人在各自计算机上看到的窗口都会展开,以包含对话的滚动对话框。每个人的即时消息都会显示在两台计算机上的此窗口中。

11、对话完成后,您可以关闭消息窗口。最终,您离线并退出。发生这种情况时,您的客户端会向服务器发送一条消息以终止会话。服务器向您的联系人列表中当前在线的每个人的客户端发送一条消息,表明您已注销。最后,服务器删除包含客户端连接信息的临时文件。在在线联系人的客户端中,您的姓名会移至离线状态部分。

全开源风车im源码(前端uniapp可发布H5及app/后端java含视频搭建教程)_风车im源码_03

即时通讯源码初始化流程:

1、设置主应用程序子类

初始化ChatSDK的最佳位置是在子类onCreate的方法中Application。

如果您还没有此类,请创建它:

publicclassMainAppextendsApplication{

@Override

publicvoidonCreate(){

super.onCreate();

//ChatSDKintializationgoeshere

}

}

在您的中注册此类AndroidManifest.xml:

<applicationandroid:name=".MainApp">

注意:有时人们会将onCreate主活动中的方法与类onCreate中的方法混淆Activity。尽管在某些情况下可以从活动内部设置聊天SDK,但不建议这样做。

2、配置聊天SDK

ChatSDK提供了两种配置库的方法-快速配置和高级配置。Quick允许您使用标准配置启动并运行项目。

ChatSDKFirebase.quickStart(...);

ChatSDKFireStream.quickStart(...);

ChatSDKXMPP.quickStart(...);

3、加载专业模块

如果您想使用许可的模块,您将需要提供一个标识符。

ChatSDKFirebase.quickStartWithEmail(...);

ChatSDKFirebase.quickStartWithGithubSponsors(...);

ChatSDKFirebase.quickStartWithPatreon(...);

快速开始

您可以使用:

ChatSDKFirebase.quickStartWithEmail(...);

ChatSDKFirebase.quickStartWithGithubSponsors(...);

ChatSDKFirebase.quickStartWithPatreon(...);

ChatSDK.builder().....build().activateWithPatreon(...)

ChatSDK.builder().....build().activateWithGithubSponsors(...)

ChatSDK.builder().....build().activateWithEmail(...)

4、高级配置

聊天SDK及其模块使用构建器模式进行配置。您始终会致电builder()然后设置您的配置,然后致电build()完成。

聊天SDK包含许多可选模块。这些可以通过方法添加addModule。至纱,您应该激活和、或UIModule之--。FirebaseModuleXMPPModuleFireStreamModule

完整示例

try{

ChatSDK.builder()

.setGoogleMaps("YourGoogleStaticMapsAPIkey")

.setPublicChatRoomLifetimeMinutes(TimeUnit.HOURS.toMinutes(24))

.build()

//AddtheFirebasenetworkadaptermodule

.addModule(

FirebaseModule.builder()

.setFirebaseRootPath("pre_1")

.setDevelopmentModeEnabled(true)

.build()

)

//AddtheUImodule

.addModule(UIModule.builder()

.setPublicRoomCreationEnabled(true)

.setPublicRoomsEnabled(true)

.build()

)

//Addmodulestohandlefileuploads,pushnotifications

.addModule(FirebaseUploadModule.shared())

.addModule(FirebasePushModule.shared())

//EnableFirebaseUIwithphoneandemailauth

.addModule(FirebaseUIModule.builder()

.setProviders(EmailAuthProvider.PROVIDER_ID,PhoneAuthProvider.PROVIDER_ID)

.build()

)

//Activate

.build()

.activate(this);

}catch(Exceptione){

e.printStackTrace();

}

5、配置选项

聊天SDK有许多配置选项。太多了,无法在此列出。查看可用内容的最佳方法是使用Android

Studio中的自动完成功能。按下(control+Enter)后module.build().,将出现可用选项列表。您还可以(cmd+单击)检查Config类并查看可用选项的完整列表。

标签:uniapp,java,...,builder,联系人,列表,源码,build,客户端
From: https://blog.51cto.com/u_16246039/7345909

相关文章

  • GraalVM 打包 Java ShellcodeLoader 为可执行文件
    GraalVM打包JavaShellcodeLoader为可执行文件url:https://app.yinxiang.com/fx/a6667249-7c5e-40dd-8bf6-e474fc844163title:GraalVM打包JavaShellcodeLoader为可执行文件date:2023-03-0212:37:26打包成Jar包先上项目地址:https://github.com/yzddmr6/Java-Sh......
  • Failed to start bean 'documentationPluginsBootstrapper'; nested exception is jav
    2023-09-0322:53:53.622WARN20788---[main]ConfigServletWebServerApplicationContext:Exceptionencounteredduringcontextinitialization-cancellingrefreshattempt:org.springframework.context.ApplicationContextException:Failedtostartbean......
  • 基于微信小程序的图书馆座位预约系统设计与实现-计算机毕业设计源码+LW文档
    选题意义: 该系统可以监测到图书馆座位的使用情况,便于学生查询图书馆的分布、座位多少、是否空闲等基本数据。学生可以通过手机或者计算机等终端进行座位预约,方便快捷。对于占座现象,学生可以通过系统进行反馈,方便图书馆管理人员及时处理。基于微信小程序的图书馆座位预约系统的使......
  • Java泛型
    Java泛型1.泛型概述泛型的本质是为了参数化类型(即限制参数类型为我们指定泛型类型)如这样:给list集合指定类型String//比如给List集合指定一个泛型(String),那么存入List集合中的元素必须要是String类型List<String>list=newArrayList<String>();2.泛型的优点限制变量的类......
  • 【面试题精讲】Java Stream排序的实现方式
    首发博客地址系列文章地址如何使用JavaStream进行排序在Java中,使用Stream进行排序可以通过sorted()方法来实现。sorted()方法用于对Stream中的元素进行排序操作。具体实现如下:对基本类型元素的排序:使用sorted()方法对Stream进行排序,默认是按照自然顺序进行排序。例如,对......
  • 忻州二手车交易系统的设计与实现-计算机毕业设计源码+LW文档
    一、选题的目的和意义: 本课题拟开发一个基于java的忻州二手车交易系统,开发的主要目标是通过忻州二手车交易系统,提供有用的信息数据,为购买者提供可靠的二手车信息,对推动二手车交易市场的发展具有积极有效的促进作用。随着计算机互联网的发展,信息技术应用到各个领域,尤其是电子商务......
  • Java项目日常开发中使用BigDecimal常见问题总结
    Java项目中有计算精度要求高的场景(如金额计算)会使用BigDecimal类型来代替Double、Float。本文整理了一些日常开发中使用BigDecimal值得注意的问题和代码实例。BigDecimal初始化时入参应使用String类型例1:BigDecimalx=newBigDecimal(3.33);BigDecimaly=newBigDecima......
  • “缘小二”线上点餐系统的设计与实现-计算机毕业设计源码+LW文档
    选题意义随着我国经济的快速发展以及人们生活水平的提高,人们的消费意识也有了很大的转变。现如今,人们的收入极大提高,生活节奏加快,很少在家做饭而是选择去餐厅就餐。随着餐饮业的发展,餐饮店越来越多,市场竞争也越来越激烈,为了顺应时代发展变化和人民需求的提高,餐饮业也不断完善自身......
  • 面向智慧医疗的慢病管理系统服务器端程序设计-计算机毕业设计源码+LW文档
    一、研究的背景意义随着当今网络技术的蓬勃发展以及人们生活水平的提高,利用信息化手段改善生活质量和工作效率已是当务之急和社会趋势,要跟上时代的潮流必须全面提升医院管理水平。而医院也是人们常常抱怨排队时间长的地方,所以医院迫切需要实现信息化,改变医院管理模式,提升工作效率......
  • 智慧养老系统健康监护系统服务端程序设计-计算机毕业设计源码+LW文档
    一、研究的背景意义当前,随着我国老龄化程度加急,各地纷纷构建高品质的养老院来适应城市的发展,养老院品质的上升并不等于养老院服务质量的上升,这就对养老院管理提出更高的要求。在传统的养老院管理中,许多工作都是依靠人力去解决。比如老人管理、水电费管理需要通过工人进行记录,往往......