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

#include <v2_nim_api.hpp>

Public 成员函数

virtual ~V2NIMChatroomClient ()=default
 
virtual uint32_t getInstanceId ()=0
 获取聊天室客户端实例 ID
 
virtual void enter (nstd::string roomId, V2NIMChatroomEnterParams enterParams, V2NIMSuccessCallback< V2NIMChatroomEnterResult > success, V2NIMFailureCallback failure)=0
 进入聊天室
 
virtual void exit ()=0
 退出聊天室
 
virtual V2NIMChatroomInfo getChatroomInfo ()=0
 查询聊天室信息
 
virtual V2NIMChatroomServicegetChatroomService ()=0
 获取聊天室服务
 
virtual V2NIMStorageServicegetStorageService ()=0
 获取存储服务
 
virtual void addChatroomClientListener (V2NIMChatroomClientListener listener)=0
 添加聊天室实例监听器
 
virtual void removeChatroomClientListener (V2NIMChatroomClientListener listener)=0
 移除聊天室实例监听器
 

静态 Public 成员函数

static nstd::optional< V2NIMErrorinit (const V2NIMInitOption &option)
 初始化
 
static void uninit ()
 反初始化
 
static nstd::shared_ptr< V2NIMChatroomClientnewInstance ()
 创建聊天室客户端实例
 
static void destroyInstance (uint32_t instanceId)
 销毁聊天室客户端实例
 
static nstd::shared_ptr< V2NIMChatroomClientgetInstance (uint32_t instanceId)
 获取聊天室客户端实例
 
static nstd::vector< nstd::shared_ptr< V2NIMChatroomClient > > getInstanceList ()
 获取聊天室实例列表
 
static void destroyAll ()
 销毁所有聊天室客户端实例
 

构造及析构函数说明

◆ ~V2NIMChatroomClient()

virtual v2::V2NIMChatroomClient::~V2NIMChatroomClient ( )
virtualdefault

成员函数说明

◆ addChatroomClientListener()

virtual void v2::V2NIMChatroomClient::addChatroomClientListener ( V2NIMChatroomClientListener  listener)
pure virtual

添加聊天室实例监听器

参数
listener聊天室实例监听器
返回
void
示例代码
// handle chatroom status
};
listener.onChatroomEntered = []() {
// handle chatroom entered
};
// handle chatroom exited
};
listener.onChatroomKicked = [](V2NIMChatroomKickedInfo kickedInfo) {
// handle chatroom kicked
};
chatroomClient.addChatroomClientListener(listener);
V2NIMChatroomStatus
Definition: v2_nim_def_enum.hpp:1461
Definition: ne_stl_optional.h:16
Definition: v2_nim_def_callback.hpp:204
nstd::function< void(nstd::optional< V2NIMError > error)> onChatroomExited
退出聊天室
Definition: v2_nim_def_callback.hpp:210
nstd::function< void()> onChatroomEntered
进入聊天室
Definition: v2_nim_def_callback.hpp:208
nstd::function< void(V2NIMChatroomStatus status, nstd::optional< V2NIMError > error)> onChatroomStatus
聊天室状态
Definition: v2_nim_def_callback.hpp:206
nstd::function< void(V2NIMChatroomKickedInfo kickedInfo)> onChatroomKicked
自己被踢出聊天室
Definition: v2_nim_def_callback.hpp:212

◆ destroyAll()

void v2::V2NIMChatroomClient::destroyAll ( )
inlinestatic

销毁所有聊天室客户端实例

返回
void
前置条件
必须在调用此方法前调用 V2NIMChatroomClient::init
警告
严禁在调用此方法后访问任何聊天室客户端实例, 此方法会退出聊天室, 耗时可能较长
示例代码
static void destroyAll()
销毁所有聊天室客户端实例
Definition: v2_nim_api.hpp:500

◆ destroyInstance()

void v2::V2NIMChatroomClient::destroyInstance ( uint32_t  instanceId)
inlinestatic

销毁聊天室客户端实例

参数
instanceId聊天室客户端实例 ID
返回
void
前置条件
必须在调用此方法前调用 V2NIMChatroomClient::init
警告
严禁在调用此方法后访问对应的聊天室客户端实例
示例代码
uint32_t instanceId{0};
// get instanceId from cache
// ...
static void destroyInstance(uint32_t instanceId)
销毁聊天室客户端实例
Definition: v2_nim_api.hpp:479

◆ enter()

virtual void v2::V2NIMChatroomClient::enter ( nstd::string  roomId,
V2NIMChatroomEnterParams  enterParams,
V2NIMSuccessCallback< V2NIMChatroomEnterResult success,
V2NIMFailureCallback  failure 
)
pure virtual

进入聊天室

参数
roomId聊天室 ID
enterParams进入聊天室相关参数
success进入聊天室成功回调
failure进入聊天室失败回调
返回
void
示例代码
enterParams.accountId = "accountId";
enterParams.token = "token";
enterParams.roomNick = "nick";
enterParams.roomAvatar = "avatar";
enterParams.linkProvider = [](nstd::string roomId, nstd::string account) {
// get link addresses
// ...
return linkAddresses;
};
enterParams.serverExtension = "server extension";
enterParams.notificationExtension = "notification extension";
chatroomClient.enter(
"roomId",
enterParams,
// enter succeeded
},
[](V2NIMError error) {
// enter failed, handle error
});
Definition: ne_stl_continuous_container.h:15
Definition: ne_stl_string.h:19
Definition: v2_nim_def_struct.hpp:1734
nstd::optional< nstd::string > roomNick
进入聊天室后显示的昵称
Definition: v2_nim_def_struct.hpp:1740
nstd::string accountId
账号 ID
Definition: v2_nim_def_struct.hpp:1736
nstd::optional< nstd::string > roomAvatar
进入聊天室后显示的头像
Definition: v2_nim_def_struct.hpp:1742
nstd::string token
静态 token
Definition: v2_nim_def_struct.hpp:1738
V2NIMChatroomLinkProvider linkProvider
获取聊天室 link 链接地址
Definition: v2_nim_def_struct.hpp:1750
nstd::optional< nstd::string > notificationExtension
通知扩展字段
Definition: v2_nim_def_struct.hpp:1754
nstd::optional< nstd::string > serverExtension
用户扩展字段
Definition: v2_nim_def_struct.hpp:1752
Definition: v2_nim_def_struct.hpp:1796

◆ exit()

virtual void v2::V2NIMChatroomClient::exit ( )
pure virtual

退出聊天室

返回
void
示例代码
chatroomClient.exit();

◆ getChatroomInfo()

virtual V2NIMChatroomInfo v2::V2NIMChatroomClient::getChatroomInfo ( )
pure virtual

查询聊天室信息

返回
V2NIMChatroomInfo
示例代码
auto chatroomInfo = chatroomClient.getChatroomInfo();

◆ getChatroomService()

virtual V2NIMChatroomService & v2::V2NIMChatroomClient::getChatroomService ( )
pure virtual

获取聊天室服务

返回
V2NIMChatroomService&
示例代码
auto& chatroomService = client.getChatroomService();

◆ getInstance()

nstd::shared_ptr< V2NIMChatroomClient > v2::V2NIMChatroomClient::getInstance ( uint32_t  instanceId)
inlinestatic

获取聊天室客户端实例

返回
nstd::shared_ptr<V2NIMChatroomClient>
前置条件
必须在调用此方法前调用 V2NIMChatroomClient::init
示例代码
uint32_t instanceId{0};
// get instanceId from cache
// ...
auto chatroomClient = V2NIMChatroomClient::getInstance(instanceId);
if (!chatroomClient) {
// instance not found
// ...
return;
}
static nstd::shared_ptr< V2NIMChatroomClient > getInstance(uint32_t instanceId)
获取聊天室客户端实例
Definition: v2_nim_api.hpp:486

◆ getInstanceId()

virtual uint32_t v2::V2NIMChatroomClient::getInstanceId ( )
pure virtual

获取聊天室客户端实例 ID

返回
uint32_t
示例代码
auto& chatroomClient = V2NIMChatroomClient::newInstance();
auto instanceId = chatroomClient.getInstanceId();
static nstd::shared_ptr< V2NIMChatroomClient > newInstance()
创建聊天室客户端实例
Definition: v2_nim_api.hpp:472

◆ getInstanceList()

nstd::vector< nstd::shared_ptr< V2NIMChatroomClient > > v2::V2NIMChatroomClient::getInstanceList ( )
inlinestatic

获取聊天室实例列表

返回
nstd::vector<nstd::shared_ptr<V2NIMChatroomClient>>
前置条件
必须在调用此方法前调用 V2NIMChatroomClient::init
示例代码
auto chatroomClients = V2NIMChatroomClient::getInstanceList();
static nstd::vector< nstd::shared_ptr< V2NIMChatroomClient > > getInstanceList()
获取聊天室实例列表
Definition: v2_nim_api.hpp:493

◆ getStorageService()

virtual V2NIMStorageService & v2::V2NIMChatroomClient::getStorageService ( )
pure virtual

获取存储服务

返回
V2NIMStorageService&
示例代码
auto& storageService = client.getStorageService();

◆ init()

nstd::optional< V2NIMError > v2::V2NIMChatroomClient::init ( const V2NIMInitOption option)
inlinestatic

初始化

参数
option初始化选项
返回
nstd::optional<V2NIMError>
示例代码
option.appkey = "your app key";
option.appDataPath = "your app name";
auto error = V2NIMChatroomClient::init(option);
if (error) {
// init failed
// ...
return;
}
static nstd::optional< V2NIMError > init(const V2NIMInitOption &option)
初始化
Definition: v2_nim_api.hpp:448
Definition: v2_nim_def_struct.hpp:117
nstd::string appDataPath
app 数据目录, 为空则使用默认目录
Definition: v2_nim_def_struct.hpp:121
nstd::string appkey
app key
Definition: v2_nim_def_struct.hpp:119

◆ newInstance()

nstd::shared_ptr< V2NIMChatroomClient > v2::V2NIMChatroomClient::newInstance ( )
inlinestatic

创建聊天室客户端实例

返回
nstd::shared_ptr<V2NIMChatroomClient>
前置条件
必须在调用此方法前调用 V2NIMChatroomClient::init
注解
建议保存持有实例 ID 而不是实例本身
示例代码
auto chatroomClient = V2NIMChatroomClient::newInstance();
if (!chatroomClient) {
// create instance failed
// ...
return;
}
auto instanceId = chatroomClient->getInstanceId();
// save instanceId to cache
// ...

◆ removeChatroomClientListener()

virtual void v2::V2NIMChatroomClient::removeChatroomClientListener ( V2NIMChatroomClientListener  listener)
pure virtual

移除聊天室实例监听器

参数
listener聊天室实例监听器
返回
void
示例代码
// ...
chatroomClient.addChatroomClientListener(listener);
// ...
chatroomClient.removeChatroomClientListener(listener);

◆ uninit()

void v2::V2NIMChatroomClient::uninit ( )
inlinestatic

反初始化

返回
void
警告
请在退出程序前调用此方法
示例代码
static void uninit()
反初始化
Definition: v2_nim_api.hpp:465

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