人脸授权状态展示与启动恢复方案

需求背景

人脸识别序列号过期后,旧版本启动页会把授权失败视作可通过重启恢复的故障,导致应用循环重启。修复启动循环后,设置页仍只显示已保存的序列号,现场人员无法判断该序列号当前是否有效。

目标

状态定义

状态触发条件设置页文案
unknown尚未获得本次 SDK 校验结论当前授权状态:未校验
valid启动模型初始化或手动在线激活成功当前授权状态:最近一次校验有效(时间)
invalidSDK 返回 4/7/11/14,或错误文本明确包含 license expired当前授权状态:授权已失效,请更新序列号(错误码)
check_failed网络、超时或非授权类模型异常当前授权状态:暂无法校验,请检查网络后重试

实施方案

  1. 持久化状态、最近校验时间、错误码和错误信息。
  2. FaceLicenseStatus 统一写入状态。
  3. LaunchActivity 根据模型初始化结果写入有效、失效或暂无法校验。
  4. FragmentBasic 在手动激活后即时刷新,并在页面恢复时重绘。
  5. 激活码输入项下以绿、红、橙、灰四种文案展示状态。

验收场景

  1. 旧序列号有效:启动成功,设置页显示最近一次校验有效及时间。
  2. 序列号过期或设备不匹配:启动页不重启,更新序列号后状态变为有效。
  3. 网络异常:显示暂无法校验,不显示授权失效。
  4. 手动激活成功:状态立即刷新为最近一次校验有效。