银歌餐盘识别模式与餐饮版 SDK 3.2.3 集成记录

变更目标

将 yingeoai-sdk-restaurant-demo 中的餐盘分类模式接入当前项目,并将银歌 SDK 从本地 libs 中的 3.0.3 AAR 切换为厂商 Maven 仓库提供的餐饮版 com.yingeo.ai:sdk-restaurant:3.2.3。

实现摘要

  1. 在识别设置中新增“菜品识别/餐盘识别”业务模式与“通用/加速”运行模式。
  2. 餐盘识别使用 BusinessMode.CLASSIFICATION,运行时强制模型通道为 A1;用户原先选择的菜品模型通道继续保留,切回菜品识别后恢复使用。
  3. 业务模式、模型通道或运行模式发生有效变化时,由 AiSdkManager 统一暂停识别并清空结果、调用 unInitAiService()、应用新配置并重新初始化;成功后通知设置页和识别页恢复。
  4. 重复点击当前已选业务模式不触发 SDK 重启。
  5. 餐盘模式隐藏模型通道设置;首页隐藏菜品学习入口,并对学习页直达及识别页学习操作增加模式保护。
  6. 增加餐饮版插件类型不匹配状态,避免安装非餐饮版插件时继续进入识别流程。
  7. 新增厂商 Maven 仓库配置,访问令牌仅从用户级 Gradle 属性或环境变量读取,不写入业务仓库。
  8. 删除不再引用的 app/libs/YingeoAiSDK_V3_RESTAURANT_v3.0.3.aar。

关键配置

构建环境需在 ~/.gradle/gradle.properties 中配置 yingeoSdkToken,或设置环境变量 YINGEO_SDK_TOKEN。仓库地址默认使用厂商 HTTPS 地址,也可通过 yingeoSdkMavenUrl 或 YINGEO_SDK_MAVEN_URL 覆盖;非本机 HTTP、URL 内嵌凭证、查询参数和片段会被拒绝。

主要变更文件

测试与验证

TDD 过程

自动化验证

真机验收建议

  1. 确认目标设备安装的银歌插件为餐饮版且与 SDK 3.2.3 兼容。
  2. 从菜品识别切换到餐盘识别,确认准备提示、成功提示和“餐盘识别已就绪”状态。
  3. 确认后续相机帧继续通过原自动识别入口返回餐盘结果,重复点击餐盘识别不会再次重启 SDK。
  4. 切回菜品识别,确认原模型通道恢复且菜品学习入口重新显示。
  5. 验证通用/加速模式,以及切换期间旧结果不会混入新订单。

文档归档检查

Git 操作

未执行 stage、commit、push、branch、merge、rebase、reset 或 clean。