SFBaseMessage

类描述

回调公共信息类。封装了公共的错误码,错误信息等等。

目前使用到SFBaseMessage的回调有:

  1. 认证结果回调SFAuthResultListener。
  2. 注销结果回调SFLogoutListener
  3. Spa设置回调SFSetSpaConfigListener
  4. 通用https认证请求回调SFCommonHttpsRequestListener

类定义

declare class SFBaseMessage {
  mErrCode: number;
  mErrStr: string;
  mServerInfo: string;
}

类成员描述

类成员 类型 说明
mErrCode number 具体可以去看下错误码描述
mErrStr string 错误信息,SDK在正常或者异常返回的错误信息。
mServerInfo string 服务器透传的信息,服务器在某些情况下直接 传递过来的信息。

SFBaseMessage 子类型说明

在认证回调(如 onAuthProgress)中,message 参数的具体类型与 nextAuthType 相关。以下是各认证类型对应的 Message 子类:

认证类型 (nextAuthType) Message 子类 说明
AUTH_TYPE_SMS SFSmsMessage 短信认证
AUTH_TYPE_RENEW_PASSWORD SFChangePswMessage 改密策略认证

类型转换示例代码

由于 message 参数类型为 SFBaseMessage 基类,需要通过 instanceof 判断实际类型后再进行强转:

public onAuthProcess(authType: SFAuthType, message: SFBaseMessage) {
    switch (authType) {
        case SFAuthType.AUTH_TYPE_SMS:
            // 短信认证
            if (message instanceof SFSmsMessage) {
                let smsMessage = message as SFSmsMessage;
                let phoneNum = smsMessage.phoneNum;
                let countDown = smsMessage.countDown;
                // 处理短信认证逻辑...
            }
            break;
        case SFAuthType.AUTH_TYPE_RENEW_PASSWORD:
            // 改密策略认证
            if (message instanceof SFChangePswMessage) {
                let changePswMessage = message as SFChangePswMessage;
                let policyMsg = changePswMessage.policyMsg;
                // 处理改密策略逻辑...
            }
            break;
        default:
            // 其他未知认证类型
            break;
    }
}

注意事项

  1. 使用 instanceof 进行类型判断时,应按照认证类型出现的可能性和业务优先级进行排序
  2. 强转前务必先使用 instanceof 判断,避免类型转换异常
  3. 某些认证类型可能返回 null 的 message,需进行空值检查

示例代码

具体去看下,类描述中的几个回调。

results matching ""

    No results matching ""