账号功能
更新时间:2025-12-31 14:54:05
账号和用户SDK提供了账号能力,包括注册、登录、登出等功能。建议在SDK初始化完成以后再调用登录接口,保证SDK初始化与登录时序性。
内置账号体系
内置账号为RTCX平台提供的账号能力,包括验手机号注册、邮箱注册、验证码登录、自动登录、退出登录、发送验证码、重置密码、修改密码、注销。您在客户端集成后即可使用。
// 导入账号管理头文件
import { RTCXLogger, RTCXAccount } from 'rtcxsdk'
/**
* 帐号密码登录
* @param account - 帐号
* @param password - 密码
* @public
*/
export declare function loginByPassword(account: string, password: string): Promise<IUserLoginResp>;
/**
* 验证码登录
* @param account - 帐号
* @param verifyCode - 验证码
* @public
*/
export declare function loginByVerifyCode(account: string, verifyCode: string): Promise<IUserLoginResp>;
/**
* 退出登录
* @public
*/
export declare function logout(): Promise<void>;
/**
* 自动登录
*/
export declare function autoLogin(): Promise<boolean>;
调用示例如下:
自动登录
当调用登录接口完成登录以后,SDK会自动缓存登录用户信息,下次可以直接调用自动登录接口完成登录,切记:自动登录接口需要在SDK初始化完成以后调用,否则会出现异常
const success = await RTCXAccount.autoLogin()
if (success) {
this.pathStack.replacePathByName('PageMain', null);
} else {
this.pathStack.replacePathByName('PageLogin', null);
}
账号密码登录
切记:该接口需要在SDK初始化完成以后调用,否则会出现异常
try {
const loginRsp = await RTCXAccount.loginByPassword(this.username, this.password)
if (loginRsp) {
showToast(this, "登录成功")
this.pathStack.replacePathByName("PageMain", null)
}
} catch (e) {
showToast(this, `登录失败[${e.code ?? e.message}]`)
} finally {
hideLoading()
}
验证码登录
切记:该接口需要在SDK初始化完成以后调用,否则会出现异常
try {
const loginRsp = await RTCXAccount.loginByVerifyCode(this.username, this.password)
if (loginRsp) {
showToast(this, "登录成功")
this.pathStack.replacePathByName("PageMain", null)
}
} catch (e) {
showToast(this, `登录失败[${e.code ?? e.message}]`)
} finally {
hideLoading()
}
退出登录
try {
const rsp = await RTCXAccount.logout()
if (rsp) {
showToast(this, "登出成功")
}
} catch (e) {
showToast(this, `登出失败[${e.code ?? e.message}]`)
} finally {
hideLoading()
}
自有账号体系
登录
通过 authCode 授权码登录,切记:该接口需要在SDK初始化完成以后调用,否则会出现异常
// 导入账号管理头文件
import { RTCXLogger, RTCXAccount } from 'rtcxsdk'
/**
* 自建帐号OAuth2协议登录
* @param token - 自建帐号用户token
* @returns
* @public
*/
export declare function loginByAuth2(authCode: string): Promise<IUserLoginResp>;
代码调用示例如下
try {
const loginRsp = await RTCXAccount.loginByAuth2('xxx')
if (loginRsp) {
showToast(this, "登录成功")
this.pathStack.replacePathByName("PageMain", null)
}
} catch (e) {
showToast(this, `登录失败[${e.code ?? e.message}]`)
} finally {
hideLoading()
}