错误处理
在 Vitals™ 扫描过程中,onVideoFrameProcessed 回呼函数可能会抛出错误。总括而言,主要有以下四种错误类型。
错误错误 | 描述描述 |
|---|---|
| 人脸遗失 | 在 25 秒的 Collecting Data(收集数据)阶段,Vitals™ SDK 会尝试在每一帧相机影像上侦测人脸。如果无法侦测到人脸,则会抛出错误。 |
| 网路 / HTTPS 请求错误 | 在 Analyzing Data(分析数据)阶段,Vitals™ SDK 会向 Vitals™ 云端服务发出 HTTPS 请求。如果网路断开连接或不稳定,请求将失败并抛出错误。 |
| 无眨眼 | (如适用)在 25 秒的 Collecting Data(收集数据)阶段,使用者应至少眨眼一次。这是为了避免有人使用照片扫描。如果在 25 秒的扫描过程中无眨眼,则会在 Analyzing Data(分析数据)阶段开始时抛出错误。 |
| 其他 | Vitals™ 健康测评(又称 VHA)过程中也可能出现其他错误,例如无效的使用者 ID、无效的 API 金钥、服务器端错误等。 |
TIP 提示
为了提供更好的用户体验,一旦发生错误,您应该显示错误讯息,让使用者知道扫描停止的原因。您也可以呼叫 stopScanning() 来确保扫描必须停止。
目标 SDK
JavaScript
React
Vue
Flutter
ReactNative
Android
iOS
TIP 提示
您可以参考 示例程式码 和 API 参考 以了解更多详情。主要相关 API 包括:VideoFrameProcessedEvent 和 ScanResult。
您可以透过两种方式使用 JavaScript SDK 来取得错误讯息,您可以选择其中任何一种,但这两种方式都会传回相同的错误讯息。
使用 onVideoFrameProcessed
您可以透过 onVideoFrameProcessed 回呼函数观察 JavaScript SDK 中的任何错误。
使用回呼函数中的 event.healthResult?.error 属性,并在发生错误时以您需要的任何格式在产品中显示错误。
typescript
/* 更新 onload 事件处理函数 */
window.onload = () => {
/* 在「设定相机」指南中所建立的相机引用 */
const cam = createVitalSignCamera({ isActive: true, config, userInfo })
// ...
/* 更新 onVideoFrameProcessed 回呼函数 */
cam.onVideoFrameProcessed = (event : VideoFrameProcessedEvent) => {
// ...
/* 新增此程式码以列印错误(如有) */
if (event.healthResult?.error) {
console.log(event.healthResult?.error);
}
}
}js
/* 更新 onload 事件处理函数 */
window.onload = () => {
/* 在「设定相机」指南中所建立的相机引用 */
const cam = createVitalSignCamera({ isActive: true, config, userInfo })
// ...
/* 更新 onVideoFrameProcessed 回呼函数 */
cam.onVideoFrameProcessed = (event) => {
// ...
/* 新增此程式码以列印错误(如有) */
if (event.healthResult?.error) {
console.log(event.healthResult?.error);
}
}
}使用 onError
您可以在 Vital Sign Camera 元件中注册一个 onError 处理函数,例如:
typescript
/* 更新 onload 事件处理函数 */
window.onload = () => {
/* 在「设定相机」指南中所建立的相机引用 */
const cam = createVitalSignCamera({ isActive: true, config, userInfo })
// ...
/* 为 Vital Sign Camera 新增 onError 处理函数 */
cam.onError = (err) => {
/* 新增此程式码以列印错误(如有) */
if (err) {
console.log(err);
}
}
}js
/* 更新 onload 事件处理函数 */
window.onload = () => {
/* 在「设定相机」指南中所建立的相机引用 */
const cam = createVitalSignCamera({ isActive: true, config, userInfo })
// ...
/* 为 Vital Sign Camera 新增 onError 处理函数 */
cam.onError = (err) => {
/* 新增此程式码以列印错误(如有) */
if (err) {
console.log(err);
}
}
}