錯誤處理
在 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);
}
}
}