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 TIMResultTIMErrCode 返回状态码
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 ""