TIMLogin

功能介绍

登录

首次登录一个 IM 账号时,不需要先注册这个账号。在登录成功后,IM 自动完成这个账号的注册。

您需要在以下场景调用 login 接口:

App 启动后首次使用 IM SDK 的功能。

登录时票据过期:login 接口的回调会返回 ERR_USER_SIG_EXPIRED(6206) 或 ERR_SVR_ACCOUNT_USERSIG_EXPIRED(70001) 错误码,此时请您生成新的 userSig 重新登录。

在线时票据过期:用户在线期间也可能收到 UserSigExpired 回调,此时需要您生成新的 userSig 并重新登录。

在线时被踢下线:用户在线情况下被踢,IM SDK 会通过 KickedOffline 回调通知给您,此时可以在 UI 提示用户,并调用 login 重新登录。

以下场景无需调用 login 接口:

用户的网络断开并重新连接后,不需要调用 login 函数,IM SDK 会自动上线。

当一个登录过程在进行时,不需要进行重复登录。

调用 IM SDK 接口成功登录后,将会开始计算 DAU,请根据业务场景合理调用登录接口,避免出现 DAU 过高的情况。

在一个 App 中,IM SDK 不支持多个账号同时在线,如果同时登录多个账号,只有最后登录的账号在线。

只有获取会话的接口可以在调用登录接口后立即调用。其他各项功能的接口,必须在 SDK 登录成功后才能调用。因此在使用其他功能之前,请务必登录且确保登录成功,否则可能导致功能异常或不可用!

参数详解

参数名称 参数类型 是否必填 描述
param loginParam 是 登录的参数

返回模板

Promise<commonResult<string>>

{
    code: TIMResult | TIMErrCode;
    desc?: string | undefined;
    json_param?: string | undefined;
    json_params?: string | undefined; // 兼容
    user_data?: string | undefined;
}

返回值详解

名称 数值类型 描述
code TIMResult | TIMErrCode 返回状态码
desc string | undefined 返回描述
json_param string | undefined 根据具具体接口返回
json_params string | undefined 兼容的字段,某些情况下会返回这个,根据具体接口返回
user_data string | undefined ImSDK负责透传的用户自定义数据,未做任何处理

代码示例

import { loginParam } from "im_electron_sdk/dist/interfaces";
import TimRender from "im_electron_sdk/dist/renderer";
const timRenderInstance = new TimRender();

let userID = "";
let userSig = "";
let userData = "";

let param :loginParam = {
    userID:userID,  // userID
    userSig:userSig,    // userSig
    userData:userData      // 选填,userData
}

let {code} = await timRenderInstance.TIMLogin(param);

if(code == 0){
    //  登录成功
}

results matching ""

    No results matching ""