融云 uni-app IMKit 上线,1 天集成,多端畅行

融云 uni-app IMKit 正式上线,支持一套代码同时运行在 iOS、Android、H5、小程序主流四端,集成仅需 1 天,并可确保多平台的一致性体验。

融云 uni-app IMKit 在 Vue 3 的高性能加持下开发实现,使用 Vue 3 Composition API,提供更灵活高效的代码组织方式;基于 Vue 3 强大的响应式系统实现数据管理,让组件开发更模块化、更易维护;同时依托 Vue 3 优化的底层架构带来更快的运行性能和更小的打包体积,全方位提升开发效率和应用性能,让开发者享受更流畅的集成体验。

高性能架构设计

采用“开源组件 + 闭源数据包”的架构设计,融云 uni-app IMKit 可在提供丰富的界面组件的同时确保数据安全。

开源的 UI 组件库

提供丰富的界面组件:组件高度可复用,并提供统一的样式系统和完善的类型支持。

在这里插入图片描述

丰富的公共组件:

▪导航栏组件:自定义导航栏,支持标题、返回按钮等

▪头像组件:支持默认头像、在线状态显示

▪长按弹窗:支持自定义菜单项

▪状态指示器:网络状态、连接状态等

▪徽标组件:未读消息数、提醒等

▪自定义图标组件:支持自定义图标,及其大小和颜色

闭源的数据管理包

使用 im-uikit-store 统一管理数据流,数据流转路径清晰,状态更新机制高效。

在这里插入图片描述

快速集成指南

前置条件

☑ 准备 uni-app 项目

☑ 注册开发者账号:注册成功后,控制台会默认自动创建您的首个应用,默认生成开发环境下的 App Key,使用国内数据中心。

☑ 获取开发环境的应用 App Key:如不使用默认应用,请参考 如何创建应用,并获取对应环境 App Key 和 App Secret。

下载资源

从融云官网下载以下资源

▪RCUIKit 源码目录:包含 UI Kit 的核心实现

▪Demo 源码:包含完整的示例项目

导入 RCUIKit 源码到项目中

SDK 初始化连接

☑ 创建 package.json 并添加依赖

{"dependencies": {"@rongcloud/engine": "^5.18.0","@rongcloud/imlib-next": "^5.18.0","@rongcloud/im-uikit-store": "1.0.0","base-64": "^1.0.0","mobx": "^6.13.7"}
}
☑ 初始化 Web IMLib SDK
import * as RongIMLib from '@rongcloud/imlib-next';uni.$RongIMLib = RongIMLib;
// 应用 App Key
const APP_KEY = 'your_app_key';
// lib 初始化
uni.$RongIMLib.init({appkey: APP_KEY, // 从融云开发者后台获取
});
☑ 初始化 kit-store
import { RCKitStoreInstaller } from '@rongcloud/im-uikit-store';// Kit store 初始化
const store = RCKitStoreInstaller();
uni.$RongKitStore = store;

☑ 连接 IM

// 连接 IM 'your_token' 临时测试可从开发者后台获取
const TOKRN = 'your_token';
uni.$RongIMLib.connect(TOKRN).then((res) => {const { code, data } = res;if (code !== uni.$RongIMLib.ErrorCode.SUCCESS) {uni.showToast({title: `登录失败 code: ${code}`, icon: 'none',});}
});

配置路由

在 pages.json 中添加以下配置

{"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages{// 会话列表页"path": "RCUIKit/pages/conversation/index","style": {"navigationStyle": "custom"}},{// 会话页"path": "RCUIKit/pages/chat/index","style": {"navigationBarTitleText": "uni-uikit-demo","navigationStyle": "custom","app-plus": {"bounce": "none"}}},{// 转发消息页"path": "RCUIKit/pages/chat/forward-message","style": {"navigationStyle": "custom"}},{// 视频播放页"path": "RCUIKit/pages/chat/video-play","style": {"navigationStyle": "custom"}}]
}

启动项目,预览查看

☑ 在 HBuilderX 中打开项目;

☑ 点击“运行” → “运行到浏览器”或“运行到手机或模拟器”;

☑ 等待项目编译完成并启动。


{"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages{// 会话列表页"path": "RCUIKit/pages/conversation/index","style": {"navigationStyle": "custom"}},{// 会话页"path": "RCUIKit/pages/chat/index","style": {"navigationBarTitleText": "uni-uikit-demo","navigationStyle": "custom","app-plus": {"bounce": "none"}}},{// 转发消息页"path": "RCUIKit/pages/chat/forward-message","style": {"navigationStyle": "custom"}},{// 视频播放页"path": "RCUIKit/pages/chat/video-play","style": {"navigationStyle": "custom"}}]
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/web/81131.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《Claude:人工智能界的璀璨新星》

一、Claude 登场:AI 新时代的震撼开篇 在科技飞速发展的今天,人工智能(AI)已经成为推动社会进步和创新的核心力量。从智能语音助手到自动驾驶汽车,从图像识别技术到自然语言处理,AI 正以惊人的速度渗透到我…

Python中tqdm进度条工具和enumerate函数的使用详解

tqdm进度条工具 tqdm 是 Python 中一个非常流行的 进度条显示工具库,常用于迭代操作的可视化,比如训练神经网络、批量数据处理等任务。 一、tqdm 是什么? tqdm 全称是 taqaddum(阿拉伯语,意为“进展”)&a…

yum命令常用选项

刷新仓库列表 sudo yum repolist清理 Yum 缓存并生成新的缓存 sudo yum clean all sudo yum makecache验证 EPEL 源是否已正确启用 sudo yum repolist enabled安装软件包 sudo yum install <package-name> -y更新软件包 sudo yum update -y仅更新指定的软件包。 su…

linux debug技术

Linux是当今应用最广泛的免费和开源操作系统&#xff0c;它是一个复杂的分布式操作系统。它的内核的强大和灵活性已成为引用它的原因之一。在掌握Linux内核的过程中&#xff0c;调试工具可以帮助开发人员获得更深入的反思和理解。下面有25种不可或缺的Linux内核调试工具&#x…

【LinkedList demo 内部类讲说】

LinkedList demo 内部类讲说 1. Node节点2.MyLinkedList3. LinkedListTest 测试类 1. Node节点 public class Node<T> {private Node<T> pre;private Node<T> next;private T data;public Node() {}public Node getPre() {return pre;}public void setPre(N…

html主题切换小demo

主题切换功能为网页和应用程序提供了多样化的视觉风格与使用体验。实现多主题切换的技术方案丰富多样&#xff0c;其中 CSS 变量和 JavaScript 样式控制是较为常见的实现方式。 以下是一个简洁的多主题切换示例&#xff0c;愿它能为您的编程之旅增添一份趣味。 代码展示 <…

【数据结构】

一、架构梳理 线性&#xff08;1:1) 线性表 顺序存储 –> arr 链式存储 –> 指针 &#xff08;有头&#xff0c;无头&#xff09; 有头是指有一个不存数据的头&#xff0c;始终作为这个链表的起点。 会更加简单&#xff0c;无头的话&#xff0c;更改首部节点会麻烦。 头…

UML学习指南:从零入门到实战应用

为零基础学习者设计的UML技术文档&#xff0c;旨在通过详细解释和实际案例&#xff0c;从零开始掌握UML。 UML学习指南&#xff1a;从零入门到实战应用 目录 引言&#xff1a;UML是什么&#xff1f;为什么学习UML&#xff1f; 1.1 什么是UML&#xff1f;1.2 为什么我们需要UM…

Matlab实战训练项目推荐

以下是一系列适合不同技能水平的 MATLAB 实战训练项目&#xff0c;涵盖基础编程、数据分析、信号处理、图像处理、控制系统、机器学习等领域。这些项目可帮助你巩固理论知识并提升实际应用能力。 一、基础项目&#xff08;适合初学者&#xff09; 矩阵运算与可视化 目标&#x…

从零开始:Python语言进阶之异常处理

一、认识异常&#xff1a;程序运行中的“意外事件” 在编写Python程序时&#xff0c;即使代码语法完全正确&#xff0c;运行过程中也可能遭遇各种意外情况。这些意外被称为异常&#xff0c;它们会打断程序的正常执行流程。例如&#xff0c;当我们尝试打开一个不存在的文件、用0…

Groovy:Java 的简洁版

Groovy 是一种 动态、面向对象的编程语言&#xff0c;运行在 Java 虚拟机&#xff08;JVM&#xff09;上&#xff0c;并与 Java 高度兼容。你可以把它理解为“Java 的简洁版 动态特性 脚本语言的灵活性”。 &#x1f9e0; Groovy 的核心特点 特性说明✅ 与 Java 高度兼容可以…

生成模型——PixelRNN与PixelCNN

一、PixelRNN PixelRNN 是一种基于循环神经网络&#xff08;RNN&#xff09;的像素级生成模型&#xff0c;通过逐个像素地生成图像来构建完整的图像&#xff0c;其核心思想是将图像中的像素视为序列&#xff0c;并利用 RNN 的能力来捕捉像素之间的依赖关系。 序列生成&#xf…

每日算法刷题Day14 5.24:leetcode不定长滑动窗口求子数组个数越长越合法4道题,用时1h20min

3. 3325.字符至少出现K次的子字符串I(中等&#xff0c;学习优化) 3325. 字符至少出现 K 次的子字符串 I - 力扣&#xff08;LeetCode&#xff09; 思想 1.给你一个字符串 s 和一个整数 k&#xff0c;在 s 的所有子字符串中&#xff0c;请你统计并返回 至少有一个 字符 至少…

怎么判断一个Android APP使用了Capacitor这个跨端框架

要判断一个 Android 应用是否使用了 Capacitor 跨端框架&#xff0c;可以通过以下方法逐步验证&#xff1a; 一、安装包结构分析 1. 解压 APK 将 .apk 文件重命名为 .zip 并解压&#xff0c;检查以下特征文件&#xff1a; • assets/public/ 目录&#xff1a; Capacitor 的核心…

Vue3性能优化: 大规模列表渲染解决方案

# Vue3性能优化: 大规模列表渲染解决方案 一、背景与挑战 背景 在大规模应用中&#xff0c;Vue3的列表渲染性能一直是开发者关注的焦点。大规模列表渲染往往会导致卡顿、内存占用过高等问题&#xff0c;影响用户体验和系统整体性能。 挑战 渲染大规模列表时&#xff0c;DOM操作…

数据仓库,扫描量

有五种通用技术用于限制数据的扫描量&#xff0c;正如图3 - 4所示。第一种技术是扫描那些被打上时戳的数据。当一个应用对记录的最近一次变化或更改打上时戳时&#xff0c;数据仓库扫描就能够很有效地进行&#xff0c;因为日期不相符的数据就接触不到了。然而&#xff0c;目前的…

反射在spring boot自动配置的应用

目录 一&#xff0c;背景 二&#xff0c;知识回顾 2.1 理解使用反射技术&#xff0c;读取配置文件创建目标对象&#xff08;成员变量&#xff0c;方法&#xff0c;构造方法等&#xff09; 三&#xff0c;springboot自动配置 3.1 反射在自动配置中的工作流程 3.2 浏览源码…

机器学习 Day1

机器学习概述 机器学习与人工智能、深度学习关系什么是机器学习数据集算法 机器学习与人工智能、深度学习关系 什么是机器学习 机器学习是从数据中自动分析获取模型&#xff0c;并利用模型对未知数据进行预测。 直观理解: 所以是从历史数据中获取规律&#xff0c;那么这些历…

Disruptor—2.并发编程相关简介

大纲 1.并发类容器 2.volatile关键字与内存分析 3.Atomic系列类与UnSafe类 4.JUC常用工具类 5.AQS各种锁与架构核心 6.线程池的最佳使用指南 1.并发类容器 (1)ConcurrentMap (2)CopyOnWrite容器 (3)ArrayBlockingQueue (4)LinkedBlockingQueue (5)SynchronousQueue …

开盘啦 APP 抓包 逆向分析

声明: 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 抓包 这是一个记录贴。 这个APP是数…