登录管理
更新时间: 2024/03/12 10:54:45
获取圈组链接地址
功能介绍
获取圈组link地址,如果已知链接地址,则忽略本接口。
用于圈组登录,此功能需先登录IM后才能调用。
示例代码
cpp// login to IM first
// ...
uint32_t ip_version = 2; // ip协议, 0:ipv4, 1:ipv6, 2:all
PluginIn::QChatRequestLinkAddress(ip_version, [](int error_code, const std::list<std::string>& link_address_list) {
if (error_code != 0) {
// error handling
return;
}
// process response
// ...
});
登录
功能介绍
登录圈组。
示例代码
cppQChatLoginParam param;
param.appkey = "your appkey";
param.accid = "your accid";
param.auth_type = kNIMQChatLoginAuthTypeDefault;
param.login_token = "your login token";
param.login_ext = "your login ext";
param.link_address = {"link1", "link2"};
param.cb = [](const QChatLoginResp& resp) {
if (resp.res_code != NIMResCode::kNIMResSuccess) {
// error handling
return;
}
// process response
// ...
};
QChat::Login(param);
登出
功能介绍
登出圈组。
示例代码
cppQChatLogoutParam param;
param.cb = [](const QChatLogoutResp& resp) {
if (resp.res_code != NIMResCode::kNIMResSuccess) {
// error handling
return;
}
// process response
// ...
};
QChat::Logout(param);
自定义token
功能介绍
注册自定义 token 回调,用于登录鉴权类型为 kNIMQChatLoginAuthTypeAppSecret
以及 kNIMQChatLoginAuthTypeAppThirdParty
时。
示例代码
cppQChatRegCustomTokenCbParam reg_custom_token_cb_param;
reg_custom_token_cb_param.cb = [](QChatCustomTokenResp& resp) {
// acquire custom token using resp.appkey & resp.accid
// ...
resp.token = "your custom token";
};
QChat::RegCustomTokenCb(reg_custom_token_cb_param);
互踢
功能介绍
多端登录时,踢掉自己指定的一个其他端。
示例代码
cppQChatKickParam param;
// you can get device id from login response & multispot login callback
param.device_ids = {"device_id1", "device_id2"};
param.cb = [](const QChatKickResp& resp) {
if (resp.res_code != NIMResCode::kNIMResSuccess) {
// error handling
return;
}
// process response
// ...
};
QChat::KickOtherClients(param);
登录状态回调
功能介绍
注册登录状态回调。
示例代码
cppQChatRegLoginStatusCbParam reg_login_status_cb_param;
reg_login_status_cb_param.cb = [](const QChatLoginStatusResp& resp) {
// ...
};
QChat::RegLoginStatusCb(reg_login_status_cb_param);
多端登录回调
功能介绍
注册多端登录通知回调。
示例代码
cppQChatRegMultispotLoginCbParam reg_multispot_login_cb_param;
reg_multispot_login_cb_param.cb = [this](const QChatMultispotLoginResp& resp) {
if (resp.res_code != NIMResCode::kNIMResSuccess) {
// error handling
return;
}
if (resp.notify_type == 1){
// device login
// ...
} else {
// device logout
// ...
}
};
QChat::RegMultispotLoginCb(reg_multispot_login_cb_param);
被踢回调
功能介绍
注册被踢回调。
示例代码
cppQChatRegKickedCbParam reg_kicked_cb_param;
reg_kicked_cb_param.cb = [this](const QChatKickedResp& resp) {
// ...
};
QChat::RegKickedOutCb(reg_kicked_cb_param);
此文档是否对你有帮助?