NIM PC Cross Platform SDK
载入中...
搜索中...
未找到
v2::V2NIMConversationService类 参考abstract

会话服务 更多...

#include <v2_nim_conversation_service.hpp>

Public 成员函数

virtual void createConversation (nstd::string conversationId, V2NIMSuccessCallback< V2NIMConversation > success, V2NIMFailureCallback failure)=0
 创建空会话
 
virtual void deleteConversation (nstd::string conversationId, bool clearMessage, V2NIMSuccessCallback< void > success, V2NIMFailureCallback failure)=0
 删除会话
 
virtual void deleteConversationListByIds (nstd::vector< nstd::string > conversationIds, bool clearMessage, V2NIMSuccessCallback< nstd::vector< V2NIMConversationOperationResult > > success, V2NIMFailureCallback failure)=0
 批量删除会话
 
virtual void stickTopConversation (nstd::string conversationId, bool stickTop, V2NIMSuccessCallback< void > success, V2NIMFailureCallback failure)=0
 置顶会话
 
virtual void updateConversation (nstd::string conversationId, V2NIMConversationUpdate updateInfo, V2NIMSuccessCallback< void > success, V2NIMFailureCallback failure)=0
 更新会话
 
virtual void updateConversationLocalExtension (nstd::string conversationId, nstd::string localExtension, V2NIMSuccessCallback< void > success, V2NIMFailureCallback failure)=0
 更新会话本地扩展
 
virtual void getConversation (nstd::string conversationId, V2NIMSuccessCallback< V2NIMConversation > success, V2NIMFailureCallback failure)=0
 获取会话
 
virtual void getConversationList (uint64_t offset, uint32_t limit, V2NIMSuccessCallback< V2NIMConversationResult > success, V2NIMFailureCallback failure)=0
 分页获取会话列表
 
virtual void getConversationListByIds (nstd::vector< nstd::string > conversationIds, V2NIMSuccessCallback< nstd::vector< V2NIMConversation > > success, V2NIMFailureCallback failure)=0
 根据会话ID获取会话列表
 
virtual void getConversationListByOption (uint64_t offset, uint32_t limit, V2NIMConversationOption option, V2NIMSuccessCallback< V2NIMConversationResult > success, V2NIMFailureCallback failure)=0
 根据条件筛选分页获取会话列表
 
virtual uint32_t getTotalUnreadCount ()=0
 获取会话未读总数
 
virtual void getUnreadCountByIds (nstd::vector< nstd::string > conversationIds, V2NIMSuccessCallback< uint32_t > success, V2NIMFailureCallback failure)=0
 根据会话 ID 列表获取未读总数
 
virtual void getUnreadCountByFilter (V2NIMConversationFilter filter, V2NIMSuccessCallback< uint32_t > success, V2NIMFailureCallback failure)=0
 根据过滤条件获取会话未读总数
 
virtual void clearTotalUnreadCount (V2NIMSuccessCallback< void > success, V2NIMFailureCallback failure)=0
 清除会话总未读数
 
virtual void clearUnreadCountByIds (nstd::vector< nstd::string > conversationIds, V2NIMSuccessCallback< nstd::vector< V2NIMConversationOperationResult > > success, V2NIMFailureCallback failure)=0
 根据会话 ID 列表清除会话未读数
 
virtual void clearUnreadCountByTypes (nstd::vector< V2NIMConversationType > conversationTypes, V2NIMSuccessCallback< void > success, V2NIMFailureCallback failure)=0
 根据会话类型清除会话未读数
 
virtual void clearUnreadCountByGroupId (nstd::string groupId, V2NIMSuccessCallback< void > success, V2NIMFailureCallback failure)=0
 根据会话分组清除会话未读数
 
virtual nstd::optional< V2NIMErrorsubscribeUnreadCountByFilter (V2NIMConversationFilter filter)=0
 订阅指定过滤条件的会话未读数
 
virtual nstd::optional< V2NIMErrorunsubscribeUnreadCountByFilter (V2NIMConversationFilter filter)=0
 取消订阅指定过滤条件的会话未读数
 
virtual void markConversationRead (nstd::string conversationId, V2NIMSuccessCallback< time_t > success, V2NIMFailureCallback failure)=0
 标记会话已读时间戳
 
virtual void getConversationReadTime (nstd::string conversationId, V2NIMSuccessCallback< time_t > success, V2NIMFailureCallback failure)=0
 获取会话已读时间戳
 
virtual void addConversationListener (V2NIMConversationListener listener)=0
 添加会话监听
 
virtual void removeConversationListener (V2NIMConversationListener listener)=0
 移除会话监听
 

详细描述

会话服务

前置条件
调用 V2NIMClient::get() 拿到 client 实例 调用 client.getConversationService() 拿到 conversationService 实例
示例代码
auto& client = V2NIMClient::get();
auto& conversationService = client.getConversationService();
static V2NIMClient & get()
获取 IM 客户端实例
Definition: v2_nim_api.hpp:428

成员函数说明

◆ addConversationListener()

virtual void v2::V2NIMConversationService::addConversationListener ( V2NIMConversationListener  listener)
pure virtual

添加会话监听

参数
listener会话监听
返回
void
示例代码
listener.onSyncStarted = []() {
// handle conversation sync start event
};
listener.onSyncFinished = []() {
// handle conversation sync finish event
};
listener.onSyncFailed = [](V2NIMError error) {
// handle conversation sync failed event
};
listener.onConversationCreated = [](V2NIMConversation conversation) {
// handle conversation created event
};
listener.onConversationDeleted = [](nstd::vector<nstd::string> conversationIds) {
// handle conversation deleted event
};
listener.onConversationChanged = [](nstd::vector<V2NIMConversation> conversationList) {
// handle conversation changed event
};
listener.onTotalUnreadCountChanged = [](uint32_t unreadCount) {
// handle total unread count changed event
};
listener.onUnreadCountChangedByFilter = [](V2NIMConversationFilter filter, uint32_t unreadCount) {
// handle unread count changed by group event
};
conversationService.addConversationListener(listener);
Definition: ne_stl_continuous_container.h:15
Definition: v2_nim_def_callback.hpp:74
nstd::function< void(V2NIMConversation conversation)> onConversationCreated
会话创建
Definition: v2_nim_def_callback.hpp:82
nstd::function< void(nstd::vector< nstd::string > conversationIds)> onConversationDeleted
会话删除
Definition: v2_nim_def_callback.hpp:84
nstd::function< void(nstd::vector< V2NIMConversation > conversationList)> onConversationChanged
会话更新
Definition: v2_nim_def_callback.hpp:86
nstd::function< void(V2NIMConversationFilter filter, uint32_t unreadCount)> onUnreadCountChangedByFilter
根据过滤条件订阅的会话未读数变更
Definition: v2_nim_def_callback.hpp:90
nstd::function< void()> onSyncStarted
会话同步开始
Definition: v2_nim_def_callback.hpp:76
nstd::function< void(uint32_t unreadCount)> onTotalUnreadCountChanged
会话总未读数变更
Definition: v2_nim_def_callback.hpp:88
nstd::function< void(V2NIMError error)> onSyncFailed
会话同步错误
Definition: v2_nim_def_callback.hpp:80
nstd::function< void()> onSyncFinished
会话同步完成
Definition: v2_nim_def_callback.hpp:78

◆ clearTotalUnreadCount()

virtual void v2::V2NIMConversationService::clearTotalUnreadCount ( V2NIMSuccessCallback< void >  success,
V2NIMFailureCallback  failure 
)
pure virtual

清除会话总未读数

参数
success成功回调
failure失败回调
返回
void
示例代码
conversationService.clearTotalUnreadCount(
[]() {
// clear total unread count succeeded
},
[](V2NIMError error) {
// clear total unread count failed, handle error
});
Definition: v2_nim_def_struct.hpp:7

◆ clearUnreadCountByGroupId()

virtual void v2::V2NIMConversationService::clearUnreadCountByGroupId ( nstd::string  groupId,
V2NIMSuccessCallback< void >  success,
V2NIMFailureCallback  failure 
)
pure virtual

根据会话分组清除会话未读数

参数
groupId会话分组 ID
success成功回调
failure失败回调
返回
void
示例代码
conversationService.clearUnreadCountByGroupId(
"groupId",
[]() {
// clear unread count succeeded
},
[](V2NIMError error) {
// clear unread count failed, handle error
});

◆ clearUnreadCountByIds()

virtual void v2::V2NIMConversationService::clearUnreadCountByIds ( nstd::vector< nstd::string conversationIds,
V2NIMSuccessCallback< nstd::vector< V2NIMConversationOperationResult > >  success,
V2NIMFailureCallback  failure 
)
pure virtual

根据会话 ID 列表清除会话未读数

参数
conversationIds会话 ID 列表
success成功回调
failure失败回调
返回
void
示例代码
auto conversationIds = nstd::vector<nstd::string>();
conversationIds.emplace_back(V2NIMConversationIdUtil::p2pConversationId("account1"));
conversationIds.emplace_back(V2NIMConversationIdUtil::p2pConversationId("account2"));
conversationService.clearUnreadCountByIds(
conversationIds,
// clear unread count succeeded
},
[](V2NIMError error) {
// clear unread count failed, handle error
});
static nstd::string p2pConversationId(const nstd::string &accountId)
获取点对点会话ID
Definition: v2_nim_internal.hpp:246

◆ clearUnreadCountByTypes()

virtual void v2::V2NIMConversationService::clearUnreadCountByTypes ( nstd::vector< V2NIMConversationType conversationTypes,
V2NIMSuccessCallback< void >  success,
V2NIMFailureCallback  failure 
)
pure virtual

根据会话类型清除会话未读数

参数
conversationTypes
success成功回调
failure失败回调
返回
void
示例代码
conversationService.clearUnreadCountByTypes(
[]() {
// clear unread count succeeded
},
[](V2NIMError error) {
// clear unread count failed, handle error
});
@ V2NIM_CONVERSATION_TYPE_P2P
单聊
Definition: v2_nim_def_enum.hpp:913
@ V2NIM_CONVERSATION_TYPE_TEAM
群聊
Definition: v2_nim_def_enum.hpp:915

◆ createConversation()

virtual void v2::V2NIMConversationService::createConversation ( nstd::string  conversationId,
V2NIMSuccessCallback< V2NIMConversation success,
V2NIMFailureCallback  failure 
)
pure virtual

创建空会话

参数
conversationId会话 ID
success成功回调
failure失败回调
返回
void
示例代码
auto conversationId = V2NIMConversationIdUtil::p2pConversationId("account1");
conversationService.createConversation(
conversationId,
[](V2NIMConversation conversation) {
// create succeeded
},
[](V2NIMError error) {
// create failed, handle error
});
Definition: v2_nim_def_struct.hpp:1193

◆ deleteConversation()

virtual void v2::V2NIMConversationService::deleteConversation ( nstd::string  conversationId,
bool  clearMessage,
V2NIMSuccessCallback< void >  success,
V2NIMFailureCallback  failure 
)
pure virtual

删除会话

参数
conversationId会话 ID
clearMessage是否清除会话消息
success成功回调
failure失败回调
返回
void
示例代码
auto conversationId = V2NIMConversationIdUtil::p2pConversationId("account1");
conversationService.deleteConversation(
conversationId,
true,
[]() {
// delete succeeded
},
[](V2NIMError error) {
// delete failed, handle error
});

◆ deleteConversationListByIds()

virtual void v2::V2NIMConversationService::deleteConversationListByIds ( nstd::vector< nstd::string conversationIds,
bool  clearMessage,
V2NIMSuccessCallback< nstd::vector< V2NIMConversationOperationResult > >  success,
V2NIMFailureCallback  failure 
)
pure virtual

批量删除会话

参数
conversationIds会话ID列表
clearMessage是否清除会话消息
success成功回调
failure失败回调
返回
void
示例代码
auto conversationIds = nstd::vector<nstd::string>();
conversationIds.emplace_back(V2NIMConversationIdUtil::p2pConversationId("account1"));
conversationIds.emplace_back(V2NIMConversationIdUtil::p2pConversationId("account2"));
conversationService.deleteConversationListByIds(
conversationIds,
true,
// delete succeeded
},
[](V2NIMError error) {
// delete failed, handle error
});

◆ getConversation()

virtual void v2::V2NIMConversationService::getConversation ( nstd::string  conversationId,
V2NIMSuccessCallback< V2NIMConversation success,
V2NIMFailureCallback  failure 
)
pure virtual

获取会话

参数
conversationId会话 ID
success成功回调
failure失败回调
返回
void
示例代码
auto conversationId = V2NIMConversationIdUtil::p2pConversationId("account1");
conversationService.getConversation(
conversationId,
[](V2NIMConversation conversation) {
// get conversation succeeded
},
[](V2NIMError error) {
// get conversation failed, handle error
});

◆ getConversationList()

virtual void v2::V2NIMConversationService::getConversationList ( uint64_t  offset,
uint32_t  limit,
V2NIMSuccessCallback< V2NIMConversationResult success,
V2NIMFailureCallback  failure 
)
pure virtual

分页获取会话列表

参数
offset分页偏移, 首页传 0, 后续拉取采用上一次返还的 offset
limit分页数量
success成功回调
failure失败回调
返回
void
示例代码
conversationService.getConversationList(
lastCursor,
10,
// get conversation list succeeded
},
[](V2NIMError error) {
// get conversation list failed, handle error
});
Definition: v2_nim_def_struct.hpp:1224

◆ getConversationListByIds()

virtual void v2::V2NIMConversationService::getConversationListByIds ( nstd::vector< nstd::string conversationIds,
V2NIMSuccessCallback< nstd::vector< V2NIMConversation > >  success,
V2NIMFailureCallback  failure 
)
pure virtual

根据会话ID获取会话列表

参数
conversationIds会话ID列表
success成功回调
failure失败回调
返回
void
示例代码
auto conversationIds = nstd::vector<nstd::string>();
conversationIds.emplace_back(V2NIMConversationIdUtil::p2pConversationId("account1"));
conversationIds.emplace_back(V2NIMConversationIdUtil::p2pConversationId("account2"));
conversationService.getConversationListByIds(
conversationIds,
[](nstd::vector<V2NIMConversation> conversationList) {
// get conversation list succeeded
},
[](V2NIMError error) {
// get conversation list failed, handle error
});

◆ getConversationListByOption()

virtual void v2::V2NIMConversationService::getConversationListByOption ( uint64_t  offset,
uint32_t  limit,
V2NIMConversationOption  option,
V2NIMSuccessCallback< V2NIMConversationResult success,
V2NIMFailureCallback  failure 
)
pure virtual

根据条件筛选分页获取会话列表

参数
offset分页偏移, 首页传 0, 后续拉取采用上一次返还的 offset
limit分页数量
option查询参数
success成功回调
failure失败回调
返回
void
示例代码
option.onlyUnread = true;
conversationService.getConversationListByOption(
lastCursor,
10,
option,
// get conversation list succeeded
},
[](V2NIMError error) {
// get conversation list failed, handle error
});
Definition: v2_nim_def_struct.hpp:1245
bool onlyUnread
false: 查询所有会话, true: 查询包含未读的会话
Definition: v2_nim_def_struct.hpp:1251
nstd::vector< V2NIMConversationType > conversationTypes
查询指定会话类型, empty: 不限制会话类型
Definition: v2_nim_def_struct.hpp:1247

◆ getConversationReadTime()

virtual void v2::V2NIMConversationService::getConversationReadTime ( nstd::string  conversationId,
V2NIMSuccessCallback< time_t >  success,
V2NIMFailureCallback  failure 
)
pure virtual

获取会话已读时间戳

参数
conversationId要获取的会话 ID
success成功回调
failure失败回调
示例代码
conversationService.getConversationReadTime(
"conversationId",
[](time_t readTime) {
// get conversation read time succeeded
},
[](V2NIMError error) {
// get conversation read time failed, handle error
)};

◆ getTotalUnreadCount()

virtual uint32_t v2::V2NIMConversationService::getTotalUnreadCount ( )
pure virtual

获取会话未读总数

参数
conversationId会话 ID
返回
uint32_t 未读总数
示例代码
auto totalUnreadCount = conversationService.getTotalUnreadCount();

◆ getUnreadCountByFilter()

virtual void v2::V2NIMConversationService::getUnreadCountByFilter ( V2NIMConversationFilter  filter,
V2NIMSuccessCallback< uint32_t >  success,
V2NIMFailureCallback  failure 
)
pure virtual

根据过滤条件获取会话未读总数

参数
filter过滤条件
success成功回调
failure失败回调
返回
void
示例代码
conversationService.getUnreadCountByFilter(
filter,
[](uint32_t count) {
// get unread count succeeded
},
[](V2NIMError error) {
// get unread count failed, handle error
});
Definition: v2_nim_def_struct.hpp:1254
nstd::set< V2NIMConversationType > conversationTypes
过滤指定对话类型, empty: 不限制会话类型
Definition: v2_nim_def_struct.hpp:1256

◆ getUnreadCountByIds()

virtual void v2::V2NIMConversationService::getUnreadCountByIds ( nstd::vector< nstd::string conversationIds,
V2NIMSuccessCallback< uint32_t >  success,
V2NIMFailureCallback  failure 
)
pure virtual

根据会话 ID 列表获取未读总数

参数
conversationIds会话 ID 列表
success成功回调
failure失败回调
返回
void
示例代码
auto conversationIds = nstd::vector<nstd::string>();
conversationIds.emplace_back(V2NIMConversationIdUtil::p2pConversationId("account1"));
conversationIds.emplace_back(V2NIMConversationIdUtil::p2pConversationId("account2"));
conversationService.getUnreadCountByIds(
conversationIds,
[](uint32_t count) {
// get unread count succeeded
},
[](V2NIMError error) {
// get unread count failed, handle error
});

◆ markConversationRead()

virtual void v2::V2NIMConversationService::markConversationRead ( nstd::string  conversationId,
V2NIMSuccessCallback< time_t >  success,
V2NIMFailureCallback  failure 
)
pure virtual

标记会话已读时间戳

参数
conversationId要标记的会话 ID
success成功回调
failure失败回调
示例代码
conversationService.markConversationRead(
"conversationId",
[]() {
// mark conversation read succeeded
},
[](V2NIMError error) {
// mark conversation read failed, handle error
)};

◆ removeConversationListener()

virtual void v2::V2NIMConversationService::removeConversationListener ( V2NIMConversationListener  listener)
pure virtual

移除会话监听

参数
listener会话监听
返回
void
示例代码
// ...
conversationService.addConversationListener(listener);
// ...
conversationService.removeConversationListener(listener);

◆ stickTopConversation()

virtual void v2::V2NIMConversationService::stickTopConversation ( nstd::string  conversationId,
bool  stickTop,
V2NIMSuccessCallback< void >  success,
V2NIMFailureCallback  failure 
)
pure virtual

置顶会话

参数
conversationId会话 ID
stickTop是否置顶
success成功回调
failure失败回调
返回
void
示例代码
auto conversationId = V2NIMConversationIdUtil::p2pConversationId("account1");
conversationService.stickTopConversation(
conversationId,
true,
[]() {
// stick top succeeded
},
[](V2NIMError error) {
// stick top failed, handle error
});

◆ subscribeUnreadCountByFilter()

virtual nstd::optional< V2NIMError > v2::V2NIMConversationService::subscribeUnreadCountByFilter ( V2NIMConversationFilter  filter)
pure virtual

订阅指定过滤条件的会话未读数

参数
filter过滤条件
返回
nstd::optional<V2NIMError>
示例代码
auto error = conversationService.subscribeUnreadCountByFilter(filter);
if (error) {
// subscribe failed, handle error
}

◆ unsubscribeUnreadCountByFilter()

virtual nstd::optional< V2NIMError > v2::V2NIMConversationService::unsubscribeUnreadCountByFilter ( V2NIMConversationFilter  filter)
pure virtual

取消订阅指定过滤条件的会话未读数

参数
filter过滤条件
返回
nstd::optional<V2NIMError>
示例代码
auto error = conversationService.unsubscribeUnreadCountByFilter(filter);
if (error) {
// unsubscribe failed, handle error
}

◆ updateConversation()

virtual void v2::V2NIMConversationService::updateConversation ( nstd::string  conversationId,
V2NIMConversationUpdate  updateInfo,
V2NIMSuccessCallback< void >  success,
V2NIMFailureCallback  failure 
)
pure virtual

更新会话

参数
conversationId会话 ID
updateInfo更新参数
success成功回调
failure失败回调
返回
void
示例代码
auto conversationId = V2NIMConversationIdUtil::p2pConversationId("account1");
updateInfo.serverExtension = "serverExtension";
conversationService.updateConversation(
conversationId,
updateInfo,
[]() {
// update succeeded
},
[](V2NIMError error) {
// update failed, handle error
});
Definition: v2_nim_def_struct.hpp:1240
nstd::optional< nstd::string > serverExtension
服务端扩展字段
Definition: v2_nim_def_struct.hpp:1242

◆ updateConversationLocalExtension()

virtual void v2::V2NIMConversationService::updateConversationLocalExtension ( nstd::string  conversationId,
nstd::string  localExtension,
V2NIMSuccessCallback< void >  success,
V2NIMFailureCallback  failure 
)
pure virtual

更新会话本地扩展

参数
conversationId会话 ID
localExtension本地扩展
success成功回调
failure失败回调
返回
void
示例代码
auto conversationId = V2NIMConversationIdUtil::p2pConversationId("account1");
conversationService.updateConversationLocalExtension(
conversationId,
"localExtension",
[]() {
// update succeeded
},
[](V2NIMError error) {
// update failed, handle error
});

该类的文档由以下文件生成: