进阶用法

大约 2 分钟

进阶用法

自定义开发

UIKit 内置了 Store 模块,提供了丰富的状态管理和数据操作方法。你可以通过阅读 ChatUIKit/Store 模块源码,基于 Store 模块进行自定义开发。

获取会话消息未读数

通过 conversationStore 可以获取所有会话的消息未读数:

// 获取所有会话的消息未读数
const unRead = ChatUIKit.conversationStore.totalUnreadCount

设置群组头像

通过 groupStore 可以手动设置群组头像:

// 设置群组头像
ChatUIKit.groupStore.setGroupAvatar('groupId', 'group avatar url');

使用自定义用户属性

如果你需要使用自己的用户属性系统,可以隐藏环信内置的用户属性功能,然后通过 appUserStore 设置自定义用户属性:

// 隐藏环信内置的用户属性功能
ChatUIKit.hideFeature(['useUserInfo'])

// 设置自定义用户属性
ChatUIKit.appUserStore.setUserInfo('userId', {
	nickname: '张三',
	avatarurl: 'user avatar url'
})

隐藏 UIKit 功能

如果 UIKit 的某些内置功能不符合你的业务需求,你可以在 UIKit 初始化后,调用 ChatUIKit.hideFeature 方法隐藏这些功能。

使用方法

调用 ChatUIKit.hideFeature 方法,传入需要隐藏的功能名称数组:

// 隐藏单个功能
ChatUIKit.hideFeature(['useUserInfo'])

// 隐藏多个功能
ChatUIKit.hideFeature([
  'useUserInfo',
  'pinConversation',
  'deleteConversation'
])

可隐藏的功能列表

功能名称功能说明
useUserInfo是否使用 SDK 的用户属性
usePresence是否开启 Presence(在线状态)
muteConversation是否启用会话免打扰
pinConversation是否开启置顶会话功能
deleteConversation是否开启删除会话功能
messageStatus是否展示消息状态
copyMessage是否开启复制消息
deleteMessage是否开启删除消息
recallMessage是否开启撤回消息
editMessage是否开启编辑消息
replyMessage是否开启回复消息
inputEmoji是否开启表情消息
inputImage是否开启图片消息
inputAudio是否开启语音消息
inputVideo是否开启视频消息
inputFile是否开启文件消息(目前仅 H5 和小程序支持发送文件消息)
inputMention是否开启 Mention 消息(@消息)
上次编辑于: