概述
大约 3 分钟
概述
环信聊天 UIKit 是基于环信即时通讯云 IM SDK 开发的一款即时通讯 UI 组件库,提供各种组件实现会话列表、聊天界面、联系人列表等功能,帮助开发者根据实际业务需求快速搭建包含 UI 界面的即时通讯应用。
若要访问源码,请点击这里。
UIKit 基本项目结构
环信即时通讯 Chat UIKit SDK
是基于 Chat SDK
,增加相关的 UI 页面和组件,提供主题、国际化等常用工具的产品。
以下是 Chat UIKit SDK
项目的结构概览。
├── CHANGELOG.md // 更新日志
├── CODE_OF_CONDUCT.md // 行为准则
├── CONTRIBUTING.md // 贡献指南
├── LICENSE // 开源协议
├── README.md // 项目介绍
├── README.zh.md // 项目介绍
├── lib // 编译后的文件,类型定义
│ ├── commonjs // commonjs
│ ├── module // esm
│ └── typescript // typescript
├── node_modules // 依赖
├── package.json // 项目配置
├── src // 源码
│ ├── assets // 静态资源
│ ├── biz // 业务代码
│ ├── chat // Chat SDK 封装,提供基础服务
│ ├── config // 配置组件
│ ├── config.local.ts // 本地配置
│ ├── const.tsx // 常量
│ ├── container // 容器组件,程序入口组件
│ ├── error // 错误处理
│ ├── hook // 自定义 hook
│ ├── i18n // 国际化
│ ├── index.tsx // 源码入口
│ ├── services // 服务组件
│ ├── theme // 主题组件
│ ├── types.tsx // 类型定义
│ ├── ui // 基础 UI 组件,为业务组件提供基础服务
│ ├── utils // 工具函数
│ └── version.ts // Chat UIKit SDK 版本信息
├── tsconfig.build.json // 编译配置
└── tsconfig.json // 编译配置
功能
环信即时通讯 Chat UIKit SDK
提供的主要功能包括:主题、国际化、多媒体处理、联系人页面、会话列表、会话详情、错误处理等。
核心组件介绍如下:
组件集合名称 | 描述 |
---|---|
Container | 入口组件,在应用程序入口使用,设置全局配置和初始化 UI 组件库。 |
Theme | 主题组件,由 Palette 和 Theme 组成,可以配置 UI 组件的颜色和样式。 |
i18n | 国际化组件,默认提供中英文 UI 组件的国际化内容,支持更改内容和自定义目标语言。 |
biz | 页面级业务组件集合。包括ConversationList ,ContactList ,GroupList , GroupParticipantList 和ConversationDetail 等 |
chat | 消息服务组件。所有关于消息的非页面处理都在这里。 |
config | 配置服务组件。全局配置设置都在这里。 |
dispatch | 事件分发组件。可以进行组件之间通信。 |
error | 对错对象。uikit 里面的错误错误对象都在这里定义。 |
hook | 自定义的钩子组件。为其它组件服务。 |
页面级组件名称 | 描述 |
---|---|
ConversationList | 会话列表组件,提供显示和管理会话列表。 |
ContactList | 联系人列表组件,提供显示和管理联系人列表。在联系人列表、新会话、创建群组、添加群成员、分享名片、转发消息页面中复用。 |
ConversationDetail | 消息页面组件,可以收发消息、加载历史消息,支持单群聊。在聊天、搜索、话题、创建话题页面中复用。 |
GroupList | 群组列表组件,提供显示和管理群组列表。 |
GroupParticipantList | 群成员列表组件,提供显示和管理群成员列表。在添加成员、删除成员、修改群拥有者、多人音视频中复用。 |
NewRequests | 新通知列表组件,接收和处理好友请求处理。 |
CreateGroup | 创建群组组件。 |
ContactInfo | 联系人详情组件。 |
GroupInfo | 群组详情组件。 |
组件样例
单群聊 UIKit 中业务相关的 UI 控件主要包含在以下三个组件中:
ConversationDetail
提供会话列表容器。
ConversationList
提供所有聊天视图的容器。
ContactList
提供联系人、群组及其详情等容器。