制造商验收手册 — ZHZN 机柜
适用于使用 ZHZN 安卓售货 APK(ai.intelliverse.zhzn.kioskx)的产线技师、品质签核人和发运人员。瑞业售货应用、支持用 companion 和运营人员手机应用的职责不同,本流程不代表它们的硬件已经通过验收。
图解安装总览与机柜检查表 · 完整安卓签核流程 · English version · 中英双语工厂卡片
版本前提: 从下载页选择获准的机柜 APK,并与已发布的 ZHZN 版本记录核对。本流程包含本次审查的修复;应确认机柜 APK、网关和运营应用均具备所需行为。发布 APK 或手册不等于部署了网关,也不等于实机测试通过。
发运需要实机证据及两份不同的制造商签核。 安卓手写验收证书与 Partner 工厂构建签核是不同记录。本地 PASS、待上传记录、readyForSignoff 或仓库收货均不能代替这两份签核。收货运营方随后还要完成独立的交付验收和投运。

插图用于说明步骤,简化了屏幕和硬件。请以获准的机柜规格和实际界面为准;图片不是接线图、测试结果或证书。
1. 第一台机柜开始之前
| 准备项 | 必须完成 |
|---|---|
| 机柜身份 | 核对铭牌/型号、APK 保存的硬件序列号、网关机号和构建记录。另行记录主机的 deviceId;注册授权应绑定该设备 ID,不能使用 ADB 序列号或读卡器编号。不得克隆其他机柜的应用数据。 |
| 获准的 APK | 核验完整 SHA-256、包名、versionCode、ABI/安卓兼容性和可信签名证书。文件名或版本名称不能单独证明文件正确。为售货角色配置支持的驱动,不能启动未配置的 companion 代替售货程序。 |
| 安装与锁定 | 按安卓安装操作手册操作,选择确切的 ADB 设备。同签名升级保留数据;在实际 ROM 上检查设备所有者、Home、权限和冷启动。普通屏幕固定仍可被用户退出。 |
| 网络与时钟 | 用已配备的 Wi-Fi/以太网/LTE 实际访问网关并校准时钟。连上 Wi-Fi 不等于已连通云端。网络和重连是必测 FAT 项;待上传记录不能完成服务器签核。 |
| 授权凭据 | 通过受保护的配置/交接渠道取得本机服务 PIN。机柜注册凭据和制造商 Partner X-API-Key 用途不同。不得把凭据放入手册、截图或包装箱。 |
| 构建与证据记录 | 获授权制造商创建并核对自己的构建记录,记录序列号/型号、主板/固件、批次、接线/串口/货道图、版本身份、测试人员和目的地要求。机柜保持未认领,等待实际收货运营方。 |
通过获准的 ADB 流程安装时,把两个占位符替换成已核实的值:
adb -s '<cabinet-adb-serial>' install -r '<verified-zhzn-apk-path>'
安装成功不等于配置或设备所有者设置正确。发生签名、ABI 或版本拒绝时,停止并采用获准的迁移或更高版本修复。不得卸载或清除应用数据来绕过拒绝;必须保留凭据、待上传报告和出货历史。

由获授权人员为正确的序列号/设备设置注册许可,再由 APK 完成 /zhzn/enrol。许可只是允许注册,不是注册成功。核实 enrolled 和之后的正常认证通信。出现 needs-arming(428)、budget-exhausted(429)、needs-key-rescue(409)、revoked(403)或 no-bootstrap 时,按身份恢复流程处理;不要反复重装或另发一把冲突的密钥。
若配件工具使用 bootstrap 认证,应在获准的注册前阶段记录真实的已安装/未安装状态。注册后,该接口需要既有设备密钥及 witness 流程(§6)。
2. 进入工厂测试
- 签核前先完成 §6 的实机 FAT。现场必须有人监督;再次操作或重启前,先处理活动支付、排队出货及结果不明的动作。
- 在售货屏幕五秒内连续点击左上角七次,输入分配给本机的管理 PIN。若被拒绝,联系配置负责人核对实际 PIN/配置;不要尝试文档中的默认值,也不要借用运营方的云账户密码。
- 服务菜单选择 Factory test / 工厂测试。需要时授予摄像头、麦克风和正确 USB 设备的权限,再重新运行受影响的测试。
- 确认获准的制造商凭据已通过
factory.api-key配置流程供 APK 读取,并确认实际 Partner FAT 上传认证成功。这与设备注册不同。该密钥可能缓存在应用偏好设置中;仅删除原文件不一定清除缓存。交接时安排获授权的移除/撤销,不要通过清空机柜身份和报告来删除它。
3. 六项测试

在这一台实物机柜上完成六项检查。手写验收证书要求六项全部通过,并具备摄像头和主板识别证据。跳过必测项表示未完成;若获准配置缺少必需硬件,应上报验收配置不匹配,不能编造 PASS。
| 屏幕项目 | 技师操作 | 证据与限制 |
|---|---|---|
Camera / 摄像头 |
选择 Capture,检查实际照片。 | 确认已识别的摄像头;黑屏或无图不能通过。 |
Speaker / 扬声器 |
选择 Play tone,在机柜旁听音。 | 确认声音可听且正常;按钮响应不能证明扬声器有声音。 |
Mic / 麦克风 |
选择 Record 2 s — speak now,查看自动 PASS/FAIL 和 RMS 音量。 | 此步骤没有录音回放;修复权限/设备问题后重测。 |
Touch / 触摸屏 |
点击全部九个必测区域。 | 检查每个区域及触点对齐,不只测试中间。 |
Screen / 屏幕 |
选择 Show R/G/B/W pages,依次点击查看四种颜色和实际面板。 | 检查坏线、颜色、可读性和面板是否正确。 |
Board / 主板 |
检查扫描结果;修复接线/权限后按需选择 Rescan。 | 记录实际端口、协议/模块和货道布局。LTE 调制解调器端口不是售货主板。主板响应不等于商品已掉落。 |
不要照搬另一台机柜的端口。打开机柜或改变内部接线前,必须遵守合格电气人员的检修流程。按批准流程重启或重新连接适配器后,再确认主板/USB 恢复。
4. 汇总与上传
核对序列号、测试轮次、六项结果、摄像头/主板信息和已安装 APK 版本。在机柜仍可检修时处理失败项。
- 等待诊断上传以及 Partner FAT 上传结果。
Upload OK只表示相应报告被接受;应查看canSignOff和blockers,不能推断已经可以发运。 - 无网络时,排队的报告/签名仍未完成。恢复网络、使用界面提供的重试操作并读取已保存记录。被拒绝时必须修正原因;重复提交相同错误数据不是修复。
- APK 只提交观察到的 Partner FAT
vmc主板通信和screen显示/触摸两项结果。它不会自动生成dispense、power、network通过结果,也不会把可选设备自动标为not_fitted。两行被接受不等于完成实机 FAT。 - 重测后重新核对最新保存的轮次和结果。最终 Partner 签核前,补录并检查其余实机观察(§6)。响应丢失时保留原订单/报告,不要另建一笔销售来调查第一笔。
5. 签核(电子签名)
在实机测试、配件记录和符合要求的上传完成后,进入 Acceptance sign-off / 验收签核:
- 填写真实的 Technician name / 技术员姓名、Employee ID / 员工编号,以及可选的 Factory lot / 生产批次。
- 阅读并接受屏幕上的本人声明。处理时钟警告;不要修改时间戳来伪装可信证据。
- 在 Sign here with your finger / 请用手指在此签名 中由实际技师亲自签名。键入姓名不等于手写确认。
- 提交一次。等待 SIGNED — acceptance certificate issued,再读取已保存证书,核对同一机号/轮次及返回编号。QUEUED 或 REJECTED 表示未完成。响应丢失后,先检查已保存的证书,再决定是否需要重新签署。
这份安卓证书不会签署 Partner 工厂构建记录。 第二份签核必须最后完成:
- 获授权制造商通过
POST /api/v1/machines/{no}/build/tests提交最终实机 FAT 结果,包含测试套件、人员、时间及证据引用。 - 读取
GET /api/v1/machines/{no}/build;将latestResults、testSummary和就绪状态与 §6 的十项状态及实物逐一核对。 - 证据完整后,由真实的获授权签核人通过
POST /api/v1/machines/{no}/build/signoff提交本人身份、职责和证据引用。 - 再次读取构建记录,保存实际工厂签核。签核前重新运行诊断可能改变观察结果,必须再次复核。构建记录签署后会拒绝修改测试;后续工作应建立检修/返工记录。
不得把笔记本模拟的绿色报告、模拟机柜、复制的签名或演示订单作为发运证据。工厂/运营只读视图没有尚未实现的工厂写入按钮;Partner 写入使用获授权的台架流程。
6. 软件不检测的项目 —— 纸面记录
六项 APK 诊断不覆盖整机。应先完成以下检查,再执行 §5;随后把真实观察写入最终 Partner FAT。纸质随机器材单是辅助证据,不能代替上传或签核。

| FAT 代码 | 要记录的实物观察 |
|---|---|
power |
上电/冷启动、安卓和应用自动启动、稳定运行及恢复。 |
vmc |
实际控制器、端口、协议/模块及主板响应。 |
mdb |
枚举并测试已安装 MDB 设备;只有实际未安装才能记录缺省。 |
reader |
正确读卡器、金额/币种、批准/拒付、交付,以及对应的扣款/结算/退款流程。只有未安装读卡器才能记录缺省。 |
dispense |
每一条货道,包括首末货道及已安装的升降/弹簧机构:商品/数量正确、掉货检测、卡货和受控恢复。 |
coin |
测试已安装且受支持的硬币机构,或记录真实未安装。 |
bill |
测试已安装且受支持的纸币器,或记录真实未安装。 |
cooling |
按机柜规格测试降温/温度,或记录真实未安装。 |
network |
实际连通网关,并在已安装的网络路径上测试重连。 |
screen |
显示/触摸、Home/设备所有者锁定,以及冷启动后恢复。 |
只有观察到通过才记录 pass;故障为 fail,未做为 skip;not_fitted 只用于当前目录允许且确实未安装的可选子系统。不得把 power、vmc、dispense、network、screen 标为 not_fitted,也不能用它掩盖未测试的已安装读卡器。签署前读取当前测试目录及就绪响应。
为本机记录 photoPrint、powerbank、nayax 的真实安装/未安装状态。目前 APK 没有配件扫描/写入界面。获授权台架工具通过 /zhzn/factory-attach 使用机柜认证:注册前使用批准的 bootstrap,注册后使用既有设备密钥/witness。制造商 Partner 密钥不能代替它。核对配件/绑定结果和阻塞项;写入未安装可能释放原绑定,不能批量把已安装配件标为缺省。
Nayax 必须保留贴纸上的真实 Device Number 及前导零,不能替换成较短的 Core Machine ID;商户和结算归属要另行核实。充电宝需检查真实舱门绑定及借出/归还流程。宣传提供打印时必须实际打印。可选体验也要分别完成实机验收。
测试目的地国家/币种/支付配置、正确购物价格、一次库存扣减、拒付/取消/延迟支付、出货失败、实际退款完成、断网/断电及报告重放。原生 MDB 卡支付在线和离线都限制为一行商品、每次一件;金额应匹配读卡器币种及小数位。Spark 只支持 USD;Stripe QR 另有币种和交付后扣款数量限制。请按准确支付限制验收。
超时或未看到掉货不能证明没有扣款。处理原支付及待上传报告,不能自动重复购买/出货。离线库存被保留时,先解决支付/报告、实物清点,再按PIN 保护的库存核对流程操作。按购物者验收手册记录启用的年龄检查、无障碍和可选体验。
7. 发运

发运人员核对铭牌、软件、构建记录、配件和文件是否为同一机号。以下工作完成前不得发运:
- 实际完成每条货道 FAT、已安装/未安装状态、目的地支付/恢复检查,并解决缺陷。
- 安卓诊断及手写证书被服务器接受,再完成最终 Partner 工厂构建签核;两份均已从服务器回读确认。
- 准确的版本身份、接线/串口/货道图、配件绑定、证据及证书/构建引用。
- 批次/目的地/运输信息、支持/保修联系人、尚存限制,以及受保护的凭据交接。包装箱上不得出现密码或 API 密钥。
- 最后一次有人监督的冷启动,正确的 Home/锁定、主板/云端恢复,无未解决购买或待处理结果,并完成获授权的台架访问清理。
排队上传/签名、缺少必需记录、错误绑定或未测试的已安装硬件都会阻止放行。承诺几分钟完工不能代替检查。保持未认领,直到实际运营方的认领阶段。
8. 总部看到什么
获授权的工厂/管理员核对正确机号的构建、诊断、证书及运输信息,使用受支持的工厂/仓库只读界面或 Partner API。仓库收货不是运营方交付验收,也不会使机柜上线营业。
收货运营方使用自己的授权账户,或已接受邀请且权限适当的成员账户;不能共享所有者密码或 MFA 验证码。按首次安装手册检查运输损伤、认领准确机号、检查并明确确认结构化地址,再单独声明实际到场安装,配置支付并实际补货清点。记录真实场地方协议,或支持的无场地方安排及原因。

通过受支持的 web 场地方/交付验收流程,查看 Partner 工厂签核并记录实际收货验收。精简原生手机应用使用网页补充流程;Flutter 工厂只读卡片不包含所有网页验收控件。核对当前支付/地址/到场/就绪条件,进行真实验收购买并对账订单、库存和处理商结算。生产环境会拒绝必需检查未完成的强制上线。
安卓证书、Partner 制造商签核、仓库收货、运营方交付验收和上线营业是不同里程碑。一个已保存状态不能证明其他步骤已完成。
9. 问题上报
| 问题 | 必须如何处理 |
|---|---|
| PIN 被拒绝 | 配置负责人核对本机分配的 PIN 和实际配置接收情况;不能猜默认值或清空数据。 |
| 注册等待/被拒绝 | 查看状态和序列号/设备绑定,按身份恢复流程处理;注册许可不等于注册成功。 |
| 无主板响应、商品错误或未看到掉货 | 保持停止营业,保存原订单/支付,交由合格产线负责人检查接线/映射和实物证据;不得自动重复出货。 |
| 上传排队/被拒绝,或看似通过但签核受阻 | 恢复网络或修正阻塞原因,核对最新保存轮次及凭据认证结果;不能在待上传状态发运。 |
| 必需硬件缺失或未测试 | 解决验收配置不匹配;不得编造 PASS 或把已安装硬件标为 not_fitted。 |
| Partner 签署后需要修改 | 使用获授权的检修/返工流程,不覆盖已签署证据。 |
| APK 安装/升级被拒绝 | 核对实际文件、签名、版本和 ABI,采用获准恢复流程,不删除应用数据。 |
附录 —— 屏幕背后的接口(供制造商工程师参考)
仅供获授权工具使用;此表是接口索引,不是模拟签核示例。每个请求均以当前接口格式、权限和机柜回读为准。
| 记录/操作 | 接口和认证边界 |
|---|---|
| 机柜诊断 | POST /zhzn/factory-test — 本机的机柜认证。 |
| 机柜配件记录 | POST /zhzn/factory-attach — 注册前批准的 bootstrap,注册后设备密钥/witness。 |
| 安卓手写证书 | POST /zhzn/factory-sign — 真实技师声明和机柜认证。 |
| Partner 构建/目录 | PUT /api/v1/machines/{no}/build、GET /api/v1/machines/{no}/build、GET /api/v1/machines/build/tests — 具有所需构建权限的获授权制造商/管理员。 |
| 最终实机 FAT 和制造商签核 | POST /api/v1/machines/{no}/build/tests,再 POST /api/v1/machines/{no}/build/signoff — 获授权 Partner X-API-Key、实际证据和具名签核人。 |
| 诊断/证书回读 | GET /api/v1/machines/{no}/factory-test、GET /api/v1/machines/{no}/factory-certificate — 限定范围的运营方/管理员权限。 |
| 仓库收货 | POST /api/v1/machines/{no}/warehouse/receive — 授权仓库/管理员流程;不执行其他验收步骤。 |
| 运营方交付验收 | POST /api/v1/machines/{no}/build/accept — 预期运营方的授权验收,并具备所需工厂和场地方记录。 |
使用60 项机柜检查表记录序列号、版本、身份、实机测试、配件、支付/恢复、两份工厂签核、发运和收货证据。浏览器本地导出是工作记录,不提交签名,也不同步到云端。