# v1.5.1 键盘和日期交互修复 ## 问题与改动 用户在安卓模拟器编辑物品时反馈:输入后键盘不收起,日期无法正常选择。 观察到的问题:原包的 `Px` 输入组件聚焦后调用原型键盘状态,`Fx` 实际渲染键盘图片,设备默认选择 iPhone。截图中 iOS 样式键盘仍显示时,Android 原生 IME 状态为 `mInputShown=false`。原日期组件在表单内展开滚轮,但没有结束之前的键盘状态。 修复使用已有 React / Capacitor 技术栈及系统 HTML 输入控件,不增加键盘插件: - 移除原型键盘和调试自动展开入口;保留必要布局上下文,输入由系统处理。 - 点击日期、分类、按钮或空白处结束当前文本输入。切换文本框保持正常连续输入;Enter / 完成结束单行输入,中文组合输入不受打断。 - 日期改为原生 `input[type=date]`,持久化仍为 `YYYY-MM-DD`,显示顺序遵循系统区域设置。 - 弹窗跟随可见视口,内容可滚动,不再被键盘图片覆盖。 - 从原始 APK 重建时先验证输入,支持 `--base` 指定存放位置,不恢复或覆盖用户已经删除的备份文件。 ## 验证 - 14 项 Node 测试通过:7 项输入生命周期测试,加上原有 7 项照片处理测试。 - Android 16 / arm64 模拟器覆盖安装 v1.5.1 / versionCode 7,签名与 v1.5 独立预览版一致,安装过程不卸载 App。 - 实际输入法状态:聚焦购入价 `true` → Enter `false`;再次聚焦 `true` → 点击空白处 `false`。 - 实际打开系统日历,临时选择另一日期并点 SET,原生输入字段已回填;随后退出未保存表单,未将测试日期写入个人记录。 - 用户授权的车辆购入价已保存,覆盖安装及应用重启后仍正确显示。 - APK v2 / v3 签名、zipalign 和 15 个离线模型分块 SHA-256 校验通过,输入模块与样式存在,未包含 QA 注入脚本。 # v1.5 拍照录入修复与验证 用户反馈:iQOO Neo9 拍照录入停留在识别中。尚未取得该实体手机的日志,因此不能把某一个原因认定为该手机上的唯一根因。 ## 已确认的代码问题与修复 1. 原实现首次从外部域名加载模型和运行库,无超时退出。现改为包内离线资源,并通过实际安卓断网测试。 2. 原实现直接把手机原图转为 data URL,再在界面线程进行模型计算。现先缩放至最长 960px,后台 Worker 计算,完成或失败时释放 Worker。 3. 原实现没有取消处理、重选后的完整清理和总时限。现支持停止抠图、直接用原图继续,60 秒超时会终止实际计算,旧任务不能覆盖新照片。 4. 原默认购入日期固定为 2026-08-20。现使用设备本地日期,未手动修改时跨午夜更新。 5. 原保存流程没有处理 localStorage 容量不足。现先确认写入成功才关闭表单,失败时保留照片及表单。 6. 原资产页汇总为固定示例数字。现从真实物品记录求和。 7. 原网页缓存异步执行 response.clone,响应被消费后会抛错。现立即复制响应,原生 App 不再注册重复的网页缓存。 离线模型的安卓测试还验证了一个必要兼容条件:Capacitor 会把无扩展名的模型路径当作页面路由。打包时为分块添加 `.bin` 并同步清单,保证读到模型字节而不是 HTML。 ## 保留的视觉效果 成功抠图使用 `sticker-image`,保留 1.5px 四方向白色描边。保存 `sticker: true`,预览、资产列表和编辑界面沿用该样式。选择原图继续时不添加描边。 ## 验证结果 - Node 自动测试 7/7:尺寸边界、设备本地日期、成功完成、60 秒机制的短时钟验证、取消及迟到消息、Worker 崩溃、创建失败。 - Android 16 / arm64 模拟器,Wi-Fi 与移动数据均关闭;使用隔离的 `com.lhx.wuzhi.qa` 包,测试代码不进入交付包。 - 4096×3072 JPEG 经相机对应输入进入应用,约 25 秒完成透明抠图,结果 960×720,透明像素和不透明主体均存在。 - 保存后的图片 data URL 为 94,023 字符;购入日期为设备当天,白边标记保留。 - 停止卡住的 Worker、相册对应输入、原图继续、模拟存储不足后重试、损坏图片报错均通过。 - 应用页面重启后,新增记录和照片仍存在。 - 两个交付 APK 的签名、zipalign、15 个模型分块的大小与 SHA-256 均已通过校验;均已在模拟器安装并启动。 ## 限制 本次针对照片录入链路及直接关联的保存/汇总问题。iQOO Neo9 实体相机回传仍需用户安装验证;没有声称全面消除所有功能的 bug。现有模型识别物体轮廓并抠图,物品名称、分类和价格仍需用户填写。iOS 工程已同步修复资源,v1.5 尚未重新做 iOS 运行测试。