Members
StoreName
Properties:
Name | Type | Description |
---|---|---|
APP |
String |
应用级别的数据管理,主要用于某些功能的全局开关控制。 |
CONV |
String |
会话数据管理 |
CHAT |
String |
聊天数据管理 |
GRP |
String |
群组数据管理 |
USER |
String |
用户数据管理 |
FRIEND |
String |
好友数据管理 |
SEARCH |
String |
搜索数据管理 |
CUSTOM |
String |
自定义数据管理,业务侧可根据需要添加自定义 key-value。 |
AppStore
Properties:
Name | Type | Description |
---|---|---|
enableTyping |
Boolean |
正在输入功能是否开启,默认开启 true |
enabledMessageReadReceipt |
Boolean |
消息已读回执功能是否已开启,默认 false,购买旗舰版套餐后开启 |
enabledEmojiPlugin |
Boolean |
表情回复插件能力是否已开启,默认 false,购买旗舰版套餐后开启 |
enabledOnlineStatus |
Boolean |
用户在线状态能力是否已开启,默认 false,购买旗舰版套餐后开启 |
enabledCustomerServicePlugin |
Boolean |
客服插件能力是否已开启,默认 false,购买客服插件后开启 |
enabledTranslationPlugin |
Boolean |
文本消息翻译能力是否已开启,默认 false,购买翻译插件后开启 |
enableConversationDraft |
Boolean |
会话草稿功能是否开启,默认开启 true |
Examples
// UI 层调用以下逻辑关闭正在输入功能
TUIStore.update(StoreName.APP, 'enableTyping', false);
// UI 层调用以下逻辑关闭会话草稿功能
TUIStore.update(StoreName.APP, 'enableConversationDraft', false);
ConversationStore
Properties:
Name | Type | Description |
---|---|---|
currentConversationID |
String |
当前会话ID |
conversationList |
Array.<IConversationModel> |
会话列表 |
totalUnreadCount |
Number |
会话未读总数 |
Example
// UI 层监听会话列表更新通知
let onConversationListUpdated = function(conversationList) {
console.warn(conversationList);
}
TUIStore.watch(StoreName.CONV, {
conversationList: onConversationListUpdated,
})
ChatStore
Properties:
Name | Type | Description |
---|---|---|
messageList |
Array.<MessageModel> |
消息列表 |
isCompleted |
Boolean |
漫游是否拉完(用于控制‘查看更多’按钮显示) |
quoteMessage |
Message | any |
被引用的消息信息,引用消息时会触发更新 |
typingStatus |
Boolean |
正在输入的状态标识, 默认 false,开启正在输入状态后,输入消息时会触发更新 |
messageSource |
MessageModel |
用于消息云端搜索结果跳转至指定消息标识 |
newMessageList |
Array.<Message> |
新消息通知列表,提供给 TUINotification 组件使用 |
translateTextInfo |
Record.<string, (string|undefined|boolean)> |
文本消息翻译信息 |
Examples
// UI 层监听当前会话消息列表更新通知
let onMessageListUpdated = function(messageList) {
console.warn(messageList);
}
TUIStore.watch(StoreName.CHAT, {
messageList: onMessageListUpdated,
})
// UI 层更新消息云端搜索结果跳转至指定消息标识
TUIStore.update(StoreName.CHAT, 'messageSource', message);
// UI 层监听消息云端搜索结果跳转至指定消息标识
let onMessageSourceUpdated = function(message) {
console.warn(message);
}
TUIStore.watch(StoreName.CHAT, {
messageSource: onMessageSourceUpdated,
})
// UI 层更新文本消息翻译信息
TUIStore.update(StoreName.CHAT, 'translateTextInfo', {
conversationID: 'xxx',
messageID: 'xxx',
visible: false,
});
// UI 层监听文本消息翻译更新通知
let onTranslateTextInfoUpdated = function(info) {
// info 返回的是 map 或 undefined
if (info) {
const list = info.get('conversationID') || [];
list.forEach(item => {
const { messageID, visible } = item;
// messageID - 当前操作的消息的 ID
// visible - 是否显示翻译文本
}
}
}
TUIStore.watch(StoreName.CHAT, {
translateTextInfo: onTranslateTextInfoUpdated,
})
GroupStore
Properties:
Name | Type | Description |
---|---|---|
currentGroupID |
String |
当前群组ID |
currentGroup |
Group |
当前群组信息 |
currentGroupMemberList |
Array |
当前群组群成员列表 |
currentGroupAttributes |
Object |
当前群组群属性信息 |
currentGroupCounters |
Object |
当前群组计数器信息 |
groupList |
Array.<Group> |
群组列表 |
groupSystemNoticeList |
Array.<Message> |
群组系统通知列表(注意:Store 中不会存储群系统通知,即时通知) |
Example
// UI 层监听群组列表更新通知
let onGroupListUpdated = function(groupList) {
console.warn(groupList);
}
TUIStore.watch(StoreName.GRP, {
groupList: onGroupListUpdated,
})
UserStore
Properties:
Name | Type | Description |
---|---|---|
userProfile |
Object |
当前登录用户的资料信息 |
displayOnlineStatus |
Boolean |
是否开启用户状态显示,默认 false:关闭 |
displayMessageReadReceipt |
Boolean |
是否开启消息阅读状态显示,默认 true:开启 |
kickedOut |
String |
用户被踢的类型信息 |
netStateChange |
String |
网络状态变更信息 |
userStatusList |
Map.<key, statusInfo> |
订阅用户的状态信息的列表
|
userBlacklist |
Array.<string> |
用户黑名单列表,UI 组件层可以通过监听该属性来获取用户黑名单列表 |
Example
// UI 层监听网络变更通知
let onNetStateChange = function(state) {
console.warn(state);
}
TUIStore.watch(StoreName.USER, {
netStateChange: onNetStateChange,
})
FriendStore
Properties:
Name | Type | Description |
---|---|---|
friendList |
Array.<Friend> |
好友列表,UI 组件层可以通过监听该属性来获取好友列表 |
friendApplicationList |
Array.<FriendApplication> |
好友申请列表,UI 组件层可以通过监听该属性来获取好友申请列表 |
friendApplicationUnreadCount |
number |
好友申请未读数,UI 组件层可以通过监听该属性来获取好友申请未读数 |
Example
// UI 层监听好友列表更新变更通知
let onFriendListUpdated = function(friendList) {
console.warn(friendList);
}
TUIStore.watch(StoreName.FRIEND, {
friendList: onFriendListUpdated ,
})