import { ILoginExtAccount, ISdkUserInfo, ILoginInfo, ILoginWidthAuthCode, LoginXYAccountParams, LoginExtTokenParams, LoginTokenInfo, IReturnResult, LoginThirdAuthTokenParams, LoginVerifyCodeParams } from '../../type/index'; import { default as XYRTCClient } from '../client'; import { CheckCaptchaImageParams, LoginOtherParams, XYResetPasswordParams } from './index.type'; declare class Auth { private client; private logger; private action; private authAction; private loginInfo; private extId; private loginState; private rid; constructor(client: XYRTCClient); get isLoggedIn(): boolean; getLoginInfo(): ILoginInfo; setLoginInfo(loginInfo: ILoginInfo): void; destroy(): void; /** * 登录时,重置状态 */ private preLoginTasks; /** * 上报登录状态 * 使用场景:该事件用于监听登录状态的变化,包括用户的登录状态、用户信息以及 token 刷新信息等。当登录状态发生变化时,系统会触发此事件并传递相关数据 * * * @param { XYLoginStateData } data - 登录状态 */ private emitLoginState; /** * 第三方账号登录 - 旧方法 * * @public * @param { ILoginExtAccount } params 参数 * @param { string } params.displayName - 必填,用户名称 * @param { string? } params.extUserId - 可选,三方用户ID * @param { boolean? } params.tempUser - 可选,是否是临时账号 v3.9.2新增 * @return { Promise } - 返回结果 */ loginExternalAccount(params: ILoginExtAccount): Promise; /** * 授权码登录 * * @param { ILoginWidthAuthCode } params 参数 * @param { string } params.extId 企业id * @param { string } params.extUserId 用户id * @param { string } params.displayName 用户名称 * @param { string } params.oauthCode 授权码 * @param { boolean } params.isTempUser 是否临时账户 * @param { string } params.channelId 渠道id * @return { Promise } - 返回结果 */ loginWithAuthCode(params: ILoginWidthAuthCode): Promise; /** * 小鱼账号登录 * * @param { ISdkUserInfo } sdkUserInfo * @param { LoginOtherParams } params * @return { Promise } - 返回结果 */ login(sdkUserInfo: ISdkUserInfo, params?: LoginOtherParams): Promise; /** * 三方用户统一认证-小鱼账号登录 * * @param { LoginXYAccountParams } params 参数 * @return { Promise } - 返回结果 */ loginXYAccount(params: LoginXYAccountParams): Promise; /** * 三方用户统一认证-三方id登录 * * @param { ILoginExtAccount } params 参数 * @return { Promise } - 返回结果 */ loginExtUserId(params: ILoginExtAccount): Promise; /** * 三方用户统一认证-token登录 * * @param { LoginExtTokenParams } params 参数 * @return { Promise } - 返回结果 */ loginExtToken(params: LoginExtTokenParams): Promise; /** * 无登录模式调用,需要在调用makeCall前配置,用于网关签名计算和接口安全校验 * * @param { LoginTokenInfo } info - 登录token、clientId等相关信息 */ setLoginTokenInfo(info: LoginTokenInfo): Promise; /** * 根据Token获取用户信息 * * @param { string } token - token信息 * @returns { Promise } - 结果 */ private getUserInfo; /** * 统一处理登录后的信息 * * @param { any } result 接口返回值 * @param { ILoginExtAccount } params * @returns */ private handleLoginResult; /** * 三方账号统一认证登录-单点登录 * * @param { LoginThirdAuthTokenParams } params - 单点登录配置参数 * @property { string } params.token - 单点登录Token信息 * @property { string } params.thirdPlatform - 单点登录平台名 * @property { string } params.path - 单点登录接口地址 */ loginThirdAuthToken(params: LoginThirdAuthTokenParams): Promise; /** * 手机验证码登录 * * @param { LoginVerifyCodeParams } params - 登录参数 * @property { string } params.account - 账号 * @property { string } params.verificationCode - 短信验证码 * @returns { Promise } - 登录结果 */ loginXYLinkByVerifyCode(params: LoginVerifyCodeParams): Promise; /** * 获取图片验证码 * * @returns { Promise } - 图片验证码结果 */ getCaptchaImage(): Promise; /** * 校验图片验证码 * * @returns { Promise<{ success: boolean }> } - 校验结果 */ checkCaptchaImage(params: CheckCaptchaImageParams): Promise<{ success: boolean; }>; /** * 获取短信验证码 * * @param { string } phone - 手机号 * @returns { Promise } - 结果 */ getVerificationCode(phone: string): Promise; /** * 退出登录 */ logout(): void; /** * 上报refresh token信息 */ private handleActionMessage; /** * 重置密码 * * @param { XYResetPasswordParams } params - 重置密码参数 * @property { string } params.account - 用户账号 * @property { string } params.password - 旧密码 * @property { string } params.newPassword - 新密码 * @property { string } params.verificationCode - 验证码 * @returns { Promise } - 修改密码结果 */ resetPassword(params: XYResetPasswordParams): Promise; } export default Auth;