获取返回结果
startFaceRecon 方法返回 Future<FaceReconReturnValues>。无需手动解析 JSON——插件已经提供带类型的 Dart 对象。
FaceReconReturnValues
class FaceReconReturnValues {
final String imageKey;
final String deviceScanSessionId;
}
| 属性 | 类型 | 说明 |
|---|---|---|
| imageKey | String | 所提供图像的识别密钥,可在 QI Tech 系统的任何其他服务中使用。重要: 请保存该值,以便在验证类 API(例如 Onboarding API)中发送。 |
| deviceScanSessionId | String | 人脸识别 SDK 内部执行的设备扫描会话的识别密钥,可在 QI Tech 系统的任何其他服务中使用。 |
FaceReconException
失败时,该方法会抛出带类型的 FaceReconException:
class FaceReconException implements Exception {
final int? statusCode;
final String reason;
final String description;
}
| 属性 | 类型 | 说明 |
|---|---|---|
| statusCode | int? | 错误的 HTTP 状态码。 |
| reason | String | 错误原因的标识符。 |
| description | String | 错误的详细描述。 |
最常见的错误
| reason | statusCode | description |
|---|---|---|
INVALID_TOKEN | 401 | Authentication token expired or invalid — clientSessionKey 无效或已过期。 |
USER_CANCELED | 0 | User canceled FaceRecon. — 用户在完成流程前中断了流程。 |
处理示例
try {
final result = await plugin.startFaceRecon(
CaaSEnvironment.sandbox,
clientSessionKey,
);
print('Image key: ${result.imageKey}');
print('Device Scan Session Id: ${result.deviceScanSessionId}');
} on FaceReconException catch (e) {
print('Error executing FaceRecon:');
print('Status: ${e.statusCode}');
print('Reason: ${e.reason}');
print('Description: ${e.description}');
} catch (e) {
print('An unknown error occurred: $e');
}