SFBaseMessage
类描述
回调公共信息类。封装了公共的错误码,错误信息等等。
目前使用到SFBaseMessage的回调有:
- 认证结果回调SFAuthResultListener。
- 注销结果回调SFLogoutListener
- Spa设置回调SFSetSpaConfigListener
- 通用https认证请求回调SFCommonHttpsRequestListener
类定义
public class SFBaseMessage {
public long mErrCode;
public String mErrStr;
public String mServerInfo;
}
类成员描述
| 类成员 | 类型 | 说明 |
|---|---|---|
| mErrCode | long | 具体可以去看下错误码描述 |
| 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 void onAuthProgress(SFAuthType nextAuthType, SFBaseMessage message) {
switch (nextAuthType) {
case AUTH_TYPE_SMS:
// 短信认证
if (message instanceof SFSmsMessage) {
SFSmsMessage smsMessage = (SFSmsMessage) message;
// 获取手机号
String phoneNum = smsMessage.getPhoneNum();
//获取倒计时
int countDown = smsMessage.getCountDown();
// 处理短信认证逻辑...
}
break;
case AUTH_TYPE_RENEW_PASSWORD:
// 改密策略认证
if (message instanceof SFChangePswMessage) {
SFChangePswMessage changePswMessage = (SFChangePswMessage) message;
String policyMsg = changePswMessage.policyMsg;
// 处理改密策略逻辑...
}
break;
default:
// 其他未知认证类型
break;
}
}
示例代码
具体去看下Demo中的处理