期盼已久全平台支持-开源IM项目OpenIM之uniapp更新

【原创】开源OpenIM:轻量、高效、实时、可靠、低成本的消息模型 【原创】开源OpenIM:轻量、高效、实时、可靠、低成本的消息模型 1、内容概述 一套完整IM系统中,除开基本的业务设计,消息模型的设计是其中最为关键的一环,它关系到整个IM系统的可靠性、高效性、稳定性,因此需要设计一套合理的消息传递收发机制以承载IM的各种需求,OpenIM结合具体的业务场景,提炼出IM后端的重要接口,并经过反复推敲,验证,设计出了自己的一套通信协议OMTP,协议中每个字段尽量的减少冗余,使其精简高效、最大限度的满足现有的业务需求并能够支持业务的水平拓展,同时为了达到消息的实时可靠与高效, 阅读详情

国内uniapp使用广泛,OpenIM的uniapp sdk以及文档和demo (https://github.com/OpenIMSDK/Open-IM-Uniapp-Demo)都已更新,本文主要展示如何打包、初始化、登录。

在这里插入图片描述

离线插件方式
下载最新离线插件
git clone https://github.com/OpenIMSDK/Open-IM-SDK-Uniapp.git
将下载下来的Tuoyun-OpenIMSDK文件夹整个放入uniapp项目根目录下的nativeplugins文件夹下(若没有该文件夹则新建)。

在这里插入图片描述

打开uniapp项目根目录下manifest.json文件,打开App原生插件配置,选则本地插件进行导入。

在这里插入图片描述

在项目中引入SDK及监听器。
const openIM = uni.requireNativePlugin(“Tuoyun-OpenIMSDK”);
const event = uni.requireNativePlugin(“globalEvent”);
​
export { openIM,event }
项目云打包自定义调试基座。
在这里插入图片描述

启动自定义调试基座
需先选择运行基座为自定义调试基座

在这里插入图片描述

插件市场云插件方式
在dcloud插件市场为uniapp项目绑定云插件。
选择后需要绑定对应包名。

在这里插入图片描述

打开uniapp项目根目录下manifest.json文件,打开App原生插件配置,选则云端插件进行导入。

在这里插入图片描述

余下步骤同上离线插件方式4-6。

初始化SDK
调用其他API之前必须先初始化SDK。
im.initSDK(operationID, { // operationID为随机字符串即可 用于定位问题
platform: Platform, // 平台号 参考通用结构中Platform
api_addr: “http://121.37.25.71:10002”, // IM API地址
ws_addr: “ws://121.37.25.71:10001”, // IM Ws地址
data_dir:“data_dir”, // SDK数据存放目录(绝对路径)
log_level: 6, // SDK日志级别
object_storage: “minio”, // 图片等资源储存方式 目前支持"minio"、“cos”
});

设置监听
设置监听的时机必须在初始化之后,登录之前。
im.setUserListener(); // 用户相关监听
im.setFriendListener(); // 好友相关监听
im.setGroupListener(); // 群聊相关监听
im.setAdvancedMsgListener(); // 消息相关监听
im.setConversationListener(); // 会话相关监听

登录IM
必须等待登录成功回调之后才能调用其他API(除初始化和设置监听) 如获取好友列表等。注意一定要等待成功回调
im.login(
operationID, // operationID为随机字符串即可 用于定位问题
userID, // 用户ID 注意此userID要和token中的userID一致
token, // 用户token 注意此token中的platform要和初始化的platform一致
(res) => {
if (res.errCode !== 0) {
// 登录失败
} else {
// 登录成功
}
}
);
项目成果
从服务端到客户端SDK开源即时通讯(IM)整体解决方案,可以轻松替代第三方IM云服务,并能根据业务需求高度自定义和二次开发,打造具备聊天、社交、办公功能的app。

OpenIM继续领跑开源IM领域,在广大开发者的大力支持下,目前github star持续突破。越来越多的开发者把OpenIM应用在社交,协同办公领域。在运营过程中也暴露并修复了代码的一些bug,由于使用场景广泛,OpenIM越来越健壮,开源价值也凸显出来了。

在这里插入图片描述

github地址: https://github.com/OpenIMSDK/Open-IM-Server

开发者中心:https://doc.rentsoft.cn/#/

OpenIM是什么
OpenIM是由IM技术专家打造的开源的由golang实现的即时通讯组件,目前github社区活跃,star近万,排名遥遥领先,开发者7000人,力争开源IM项目No1。支持Android、iOS原生开发,支持Flutter、uni-app跨端开发,支持小程序、React等所有主流web前端技术框架, PC支持Electron,Flutter、iOS、uniapp已有成熟demo可以体验。。OpenIM包括IM服务端和客户端SDK,实现了高性能、轻量级、易扩展等重要特性。开发者通过集成OpenIM组件,并私有化部署服务端,可以将即时通讯、实时网络能力快速集成到自身应用中,并确保业务数据的安全性和私密性。

开源即时通讯(IM)项目OpenIM源码部署流程 由于OpenIM依赖的组件较多,开发者需求不一,导致OpenIM部署一直被人诟病,经过几次迭代优化,包括依赖的组件compose的一键部署,环境变量设置一次,全局生效,以及脚本重构,目前OpenIM部署比较丝滑,特写文章分享给大家。OpenIM是什么OpenIM不是一个独立的聊天产品,它不像telegram、Signal、rocket.chat那样是一个完全独立、可以直接安装使用的聊天应用程序。而是一个开源的即时通讯解决方案,为开发者提供了一系列的工具和服务,以便于他们在自己的应用程序中集成即时通讯功能。 阅读详情

相关推荐

OpenIM离线docker部署及应用

介绍OpenIM:由前微信技术专家打造的基于 Go 实现的即时通讯(IM)开源项目,包括IM服务端和客户端SDK。开发者私有化部署,基于SDK二次开发,可以轻松替代第三方IM云服务,打造具备聊天、社交功能的app。无论是开发同城交友、企业办公亦或是当今最热门的元宇宙,还是在应用中集成IM功能,都非常便捷。OpenIM代码100%开源,开源协议Apache-2.0 License任何企业和个人都可以免费使用(包括商用)。请各位看官多多支持,转发和宣传,助力OpenIM成为开源IM的No1。

qiuweifan的博客 3453

时不我待,拥抱趋势,开源IM项目OpenIM技术简介

同时,它还提供了完整的管理后台,帮助管理员监控和管理用户、群组、消息、通知等内容。OpenIM支持iOS和Android原生开发,并且也提供了Flutter、uniapp、React Native等跨平台开发框架的SDK,开发者可以根据自己的需求选择不同的开发方式。作为一款开源的IM项目,OpenIM提供了丰富的功能和完善的技术支持,吸引了众多开发者的关注和使用。对于iOS和Android原生开发,OpenIM提供了针对各个平台的SDK和相应的开发文档,开发者可以根据文档指引完成相应的集成和开发工作。

OpenIM的博客 6371

【项目实战】开源的即时通讯组件OpenIM入门介绍

IM,是即时通讯(Instant Messaging,简称 IM)OpenIM,是一个开源的、强大的即时通讯组件。OpenIM,提供了完整的即时通讯服务功能。OpenIM,被设计为高并发、高可用、易于扩展的架构。OpenIM,适合构建企业级的即时通讯平台。OpenIM,由一群热爱开源技术的开发者创建。OpenIM,旨在提供一个高性能、稳定、易用的即时通讯解决方案。OpenIM,是由IM技术专家打造的开源的即时通讯组件。

奶爸的编程之路,也就一周冷个三天 3484

紧跟潮流,抓住趋势,跟上全民AI的节奏,开源IM项目OpenIM产品介绍,为AIGC贡献力量

高度自主、安全可控、开放自由,私有化部署,一切皆可控透明度和可信度:开源软件的源代码是公开的,任何人都可以查看和检查代码,从而增强了软件的透明度和可信度。用户可以了解软件的内部结构和运作方式,发现和修复潜在的安全漏洞和错误。自由度和可定制性:开源软件允许用户自由地使用、复制、分发和修改软件代码。用户可以根据自己的需求和要求对软件进行自定义和定制,满足不同的业务需求。开放创新和协作:开源软件的源代码公开,鼓励开发者和用户之间的交流、合作和创新。

OpenIM的博客 2184

cadence CIS 库建立--建立自己维护的CIS数据库

遇到一个问题,在使用cadecnce的时候,就是没有自己的本地/分享的数据库。 在画原理图或者PCB的时候,如果能搭建一个自己的数据库,在局域网或者本地 就好了。出于这样的想法,做了一些探索,找到了一种可能的答案。 由于数据库编制知识的缺乏,要自己建一个数据库似乎花费的时间会比较多。 偶发奇想,如果能够改编CIS 自带的数据库 另建立副本进行维护 就能够省下不少麻烦。 先说下CIS 是个啥。网上一搜:总之CIS 是个好东西。 功能强大。 点击CIS capture 中的 Options CIS Config

qq_29776365的博客 2万+

Android应用之【巧妙隐藏桌面图标的进阶方案】

本文详细探讨了Android应用中隐藏桌面图标的进阶方案,解决了传统方法在Android 10及以上版本中出现的黑色图标残留问题。通过Intent-Filter配置和厂商适配技巧,实现子应用真正隐身,同时确保主应用正常启动。适用于企业工具套件、模块化系统等场景,提升用户体验和安全性。

weixin_28363123的博客 505

windows10部署OpenIM,及踩坑记录

windows10部署运行OpenIM

running17的博客 8193

Dify 部署与使用

本文介绍了Dify社区版的快速部署指南,涵盖系统架构、环境配置和初始化流程。Dify采用微服务架构,通过Docker Compose一键部署8个核心容器,包括前端、后端、数据库等组件。部署过程包括克隆代码、配置环境变量和启动服务,首次启动需3-10分钟下载镜像。文章详细讲解了.env文件的配置要点,包括服务地址、数据库连接和向量存储设置,并提供了生产环境安全加固建议。最后通过访问/install页面完成管理员账号初始化,即可开始使用Dify构建AI应用。

海兰 591

【亲测免费】 OpenIM Uniapp Demo —— 即时通讯新星,轻触未来聊天体验!

OpenIM Uniapp Demo —— 即时通讯新星,轻触未来聊天体验! ???? 项目介绍 OpenIM Uniapp Demo,一款基于开源精神而诞生的即时通讯解决方案,为开发者打开了一扇便捷整合IM功能的大门。这款强大的示例应用展示了如何利用OpenIM框架无缝集成即时通讯功能至你的Uniapp项目之中,不论是APP、H5还是小程序,它都能游刃有余。尽管其主要作为SDK的使用演示,却足以激发开...

gitblog_00431的博客 826

电商数据分析18——电商广告投放的数据分析与优化

在当今的电商行业中,广告投放是提高品牌知名度、吸引潜在客户和增加销售额的关键策略之一。随着市场竞争的加剧,仅仅依靠直观判断和传统方法已经无法满足广告投放的需求。数据分析在这里扮演了至关重要的角色,它可以帮助企业更准确地定位目标受众,评估广告效果,优化广告内容,从而提高广告效率和投资回报率(ROI)。

theskylife的博客 5703

【Unity3D】RTS Engine 笔记一

RTS Engine 中配置一个新场景, 初步认识GameManager、设置地形以及配置地形网格搜索

ViYeye的博客 1650

【亲测免费】 OpenIM Uniapp Demo 使用教程

OpenIM Uniapp Demo 使用教程 项目介绍 OpenIM Uniapp Demo 是一个基于本地插件、OpenIM Server 和 Uniapp 的开源即时通讯应用程序。它演示了如何使用 OpenIM 将即时消息功能快速集成到任何单一应用程序中。该项目由前微信技术专家打造,基于 Go 实现的即时通讯(IM)项目,可以轻松替代第三方IM云服务,打造具备聊天、社交功能的app。 项目快...

gitblog_00943的博客 1253

Vue和Vue-Element-Admin(六):集成中的CORS(跨域资源共享)问题

在vue-element-admin登录集成时候碰到跨域资源共享问题,CORS(Cross-origin resource sharing)是浏览器的技术规范,浏览器可以发起跨域请求但Javascript脚本不能,传统的ajax只能获取在同域名下的资源,但Html5允许ajax发起跨域请求,解决方案有:JSONP、Flash、IFrame、CORS。 一、CORS(跨域资源共享)问题 针对vue-element-admin的登录模块的后端接口完成后,前端调用时候出现报错,因为前端的端口是9527而后.

叶子叶来 9614

openIM本地搭建遇到的问题

官方文档里有快速部署和源码部署,快速部署就是使用docker-compose一键部署,当然这个需要了解一些这方面的知识,源码部署就需要自己手动安装需要的组件,kafka,mysql,MongoDB,etcd,redis。在日志里一直在报这个错误,可以看出来是kafka的问题,我没有用过kafka,所以不是很熟悉,第一时间肯定想到去百度,相关的博客有很多,跟着弄了,但是都不能解决,最后还是在官方的技术交流群里一位大佬的提示下,想到了单独启动kafka看看有什么报错信息。

Liuxw666666的博客 2563

基于STM32L4XX、HAL库的MAX13487EESA RS485总线收发器驱动程序设计

MAX13487EESA是一款3.3V供电的RS-485/RS-422收发器,由Maxim Integrated生产。PA4 (控制引脚) ---> /RE, DE (连接在一起)具有±15kV ESD保护的驱动器输出和接收器输入。半双工RS-485/RS-422通信。工业温度范围:-40°C至+85°C。工作电压范围:3.0V至3.6V。数据速率高达250kbps。

zhusl6688的博客 686

【Agent从入门到实践】40 容错优化:异常处理、重试机制、降级策略

各位小伙伴,咱们的多Agent框架一路优化到现在,决策快、执行效率高、资源用得省,看似啥都行,但只要一遇到网络波动、工具故障、数据异常调用web_search工具时网络超时,整个检索任务直接失败,写作Agent没数据可用向量库连接异常,向量检索直接崩掉,依赖检索结果的Agent全趴窝单个Agent执行出错,整个并行任务流程直接中断,前功尽弃高并发下部分工具调用失败,框架没有备用方案,只能返回任务失败说白了,咱们之前的框架只有正常执行逻辑,没有异常兜底逻辑。

人工智能AI技术 910

OpenIM SDK Uniapp 使用教程

OpenIM SDK Uniapp 使用教程 1、项目介绍 OpenIM SDK Uniapp 是一个基于 Uniapp 框架的即时通讯 SDK,旨在帮助开发者快速将即时通讯功能集成到他们的应用程序中。该项目通过连接到 OpenIM 服务器,提供了一套简单易用的 API,使得开发者只需几行代码即可实现即时通讯功能。 OpenIM SDK Uniapp 支持 Android 和 iOS 平台,底层核...

gitblog_00094的博客 1120

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

【亲测免费】 探索OpenIM Uniapp Demo:一个高效即时通讯解决方案

探索OpenIM Uniapp Demo:一个高效即时通讯解决方案 OpenIM Uniapp Demo是一个基于OpenIM SDK开发的示例项目,旨在为开发者提供一个快速集成即时通讯功能到Uniapp应用的平台。该项目利用了开源的OpenIM SDK,致力于提供稳定、安全且可扩展的消息传递服务。 项目简介 OpenIM Uniapp Demo是为移动端开发者设计的,特别是对使用Vue.js框架...

gitblog_00026的博客 709

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

「IM开源推荐」前微信技术专家打造,golang实现,一键部署,客户端SDK全平台支持,轻松替代IM云服务

背景 OpenIM成立之初就将“开源”作为核心战略来推进,开源充分体现了自由、平等、分享的互联网精神。 全球范围频繁发生的数据泄露、勒索病毒、隐私滥用等安全事件一次次给企业敲响警钟,企业管理者对数据资产的价值、数据安全的重要性有了更清晰的认识,数据安全成就企业核心价值。 IM作为核心业务数据,安全的重要性毋庸置疑,OpenIM开源以及私有化部署让企业能更放心使用。 如今IM云服务商收费高企,如何让企业低成本、安全、可靠接入IM服务,是OpenIM的历史使命,也是我们前进的方向。 优势 OpenIM:由前微信

OpenIM的博客 2450

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

OpenIM重大优化-消息按需加载 一致性缓存 uniapp发布

OpenIM重大优化-消息按需加载 一致性缓存 uniapp发布

OpenIM的博客 629

环信即时通讯SDK集成——环信 uni-app-demo 升级改造计划——整体代码重构优化(二)

本次关于 uni-app 代码整体重构工作,基于上一期针对 uni-app 官网 demo 从 vue2 迁移 vue3 框架衍生而来,在迁移过程中有明显感知,目前的项目存在的问题为,项目部分代码风格较为不统一,命名不够规范,注释不够清晰、可读性差、以造成如果复用困难重重,本地重构期望能够充分展示 api 在实际项目中的调用方式,尽可能达到示例代码可移植,或能辅助进行即时通讯功能二次开发的能力。

huan132456765的博客 4051

# 靠谱:开源IM项目OpenIM压测程序介绍-自己动手压测性能和稳定性

# 靠谱:开源IM项目OpenIM压测程序介绍-自己动手压测性能和稳定性

OpenIM的博客 2466

收藏-即时通讯(IM)开源项目OpenIM-功能手册

收藏-即时通讯(IM)开源项目OpenIM-功能手册

OpenIM的博客 7472

开源项目:OpenIM SDK for UniApp 教程

开源项目:OpenIM SDK for UniApp 教程 1. 项目目录结构及介绍 本教程基于 open-im-sdk-uniapp,这是一个利用OpenIM Server构建的即时通讯功能的UniApp示例项目,旨在展示如何快速地将即时通讯功能集成到单个应用中。 主要目录结构: api: 包含与服务端通信的API接口。 common: 通用工具类和常量定义。 components: 组件目...

gitblog_00052的博客 844

打造流畅聊天体验:三种方法实现APP的即时通讯功能

此外 ZIM SDK 还支持房间、群组的用法,无需去二次封装,绘制相关 UI 并使用 SDK 接口提供的数据驱动即可实现对应功能。此处不再展开叙述,感兴趣的笔者之后会更新相关的文章,或者去 ZEGO 官网去查看相关文档:同时ZIM SDK结合即构自家的RTC SDK实现各类音视频场景的用户互动,适合Avatar , 直播,语聊房等场景的开发者和有需求企业。近期有开发规划的开发者可上即构官网查看,恰逢即构七周年全线音视频/直播产品1折的优惠,适合有预算要求的中小型企业和个人开发工作室。

RTC_SDK_220704的博客 4848

IM开源项目OpenIM部署文档-从准备工作到nginx配置

openim

OpenIM的博客 7735
上一篇: OpenIM重大优化-消息按需加载 一致性缓存 uniapp发布
下一篇: Openim支持十万超级大群
OpenIM
博客等级 码龄5年 295粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值