IM 即时通讯
Windows/macOS
开发指南

登录管理

更新时间: 2023/09/13 18:58:39

获取圈组链接地址

功能介绍

获取圈组link地址,如果已知链接地址,则忽略本接口。

用于圈组登录,此功能需先登录IM后才能调用。

示例代码

// 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
    // ...
});

登录

功能介绍

登录圈组。

示例代码

QChatLoginParam 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);

登出

功能介绍

登出圈组。

示例代码

QChatLogoutParam param;
param.cb = [](const QChatLogoutResp& resp) {
    if (resp.res_code != NIMResCode::kNIMResSuccess) {
        // error handling
        return;
    }
    // process response
    // ...
};
QChat::Logout(param);

自定义token

功能介绍

注册自定义 token 回调,用于登录鉴权类型为 kNIMQChatLoginAuthTypeAppSecret 以及 kNIMQChatLoginAuthTypeAppThirdParty 时。

示例代码

QChatRegCustomTokenCbParam 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);

互踢

功能介绍

多端登录时,踢掉自己指定的一个其他端。

示例代码

QChatKickParam 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);

登录状态回调

功能介绍

注册登录状态回调。

示例代码

QChatRegLoginStatusCbParam reg_login_status_cb_param;
reg_login_status_cb_param.cb = [](const QChatLoginStatusResp& resp) {
    // ...
};
QChat::RegLoginStatusCb(reg_login_status_cb_param);

多端登录回调

功能介绍

注册多端登录通知回调。

示例代码

QChatRegMultispotLoginCbParam 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);

被踢回调

功能介绍

注册被踢回调。

示例代码

QChatRegKickedCbParam reg_kicked_cb_param;
reg_kicked_cb_param.cb = [this](const QChatKickedResp& resp) {
    // ...
};
QChat::RegKickedOutCb(reg_kicked_cb_param);
此文档是否对你有帮助?
有帮助
去反馈
  • 获取圈组链接地址
  • 功能介绍
  • 示例代码
  • 登录
  • 功能介绍
  • 示例代码
  • 登出
  • 功能介绍
  • 示例代码
  • 自定义token
  • 功能介绍
  • 示例代码
  • 互踢
  • 功能介绍
  • 示例代码
  • 登录状态回调
  • 功能介绍
  • 示例代码
  • 多端登录回调
  • 功能介绍
  • 示例代码
  • 被踢回调
  • 功能介绍
  • 示例代码