稳定识别再次识别后无法进入支付状态修复记录

变更日期

2026-07-23

问题现象

菜品识别已经进入待支付状态后,不移动餐盘,点击“再次识别”,页面能够重新识别一次,但无法再次进入待支付状态。

现场证据

日志同时证明支付暂停原因和支付流程状态已经退出,本问题不是支付弹窗或暂停标记残留。

根因

“画面稳定后识别”和“自动支付稳定次数”存在状态冲突:

因此,未移动餐盘时,重置后最多只能得到一次结果,支付稳定计数无法达到阈值。首次能够进入支付状态依赖现场画面细微变化偶然触发多次识别,不具备确定性。

修复内容

FrameStabilityDetector.java

DishRecognitionActivity.java

FrameStabilityDetectorTest.java

行为结果

实际变更文件

本次未修改人脸识别、datalibrary、支付接口、设置页和相机配置。

验证结果

待真机回归

结论

该现象是稳定识别单次触发与自动支付多次确认之间的真实流程缺陷。修复后,同一稳定画面可以按支付阈值完成有限次数的识别确认;达到阈值后立即停止识别并进入原支付流程。