手机操作与布局修复 · 2026-10-22¶
本批已随 0.11.1 正式发布。最终源码、三端安装包和渠道核验见发布执行记录。桌面保留原导航与白板编辑方式。
问题与处理¶
| 反馈 | 原因及修复 |
|---|---|
| 检查更新成为空灰按钮 | OneGUI loading 样式同时隐藏文字、清空字色,而 spinner 缺少实际尺寸与绘制。现在保留文字,绘制转圈;检查展示当前源,主源 8 秒、备用源 15 秒上限,支持取消和重新检查,旧请求不能覆盖新结果。 |
| 管理组织、编辑看似没反应 | 设置里的显式导航会在设置浮层后打开目标。增加专用导航方法,先关闭设置;通过真实新建组织流程检查管理页和编辑表单。 |
| 编辑白板突然变成电脑布局 | 编辑条件下的旧效果会把尚未保存缩放的手机自由画布强制放大到 500%。删除此跳变,自由摆放首次使用视口适配 100%,保留既有缩放偏好;Android 使用系统屏幕朝向,输入时保持竖屏阅读布局。 |
| 编辑入口双重方框 | 浏览状态的工具栏移除外层框、阴影、材质,仅显示带笔图标的编辑按钮。 |
| 白板缺少撤销和恢复 | 增加按板及朝向隔离的会话撤销;自动拟合不占一次撤销,连续文字输入合并,外部写入会废弃过期历史。首页恢复默认组件与布局,普通 OnePage 恢复空白;均先确认,恢复操作也可撤销。 |
| 暂存箱挡住内容 | 手机在距边缘 24px 内释放会吸附并半收起;一次点按直接打开管理,拖回中间恢复自由摆放。传输时完整展开,桌面继续自由摆放。点击容差与强制刷新入口保持一致,鼠标 10px、触摸 12px。 |
| OH 收起入口难发现 | Android 原生悬浮窗使用高对比图标和文字,按钮高 44dp;标签跟随界面语言。 |
| 手机需要可选导航 | 左上角按钮展开临时纵向功能浮层,仅替代 OneShot;极简五项,完整和实用全部一级功能区,页面保持全宽。三种模式分别记忆设置,完整/实用导览提供布局选择。详见导航更正报告。 |
手机导览在模式选择后展示布局选择;第一节返回时可再次调整。偏好保存在设备本地,不改动已有白板、OneShot 内容或其他模式设置。实用和极简设置补入软件更新入口。
验证¶
- 真实 React 界面、匿名模拟数据:390px 手机视口的编辑布局、撤销、恢复、组织新建与编辑、更新加载及取消,7 项通过。
- 首页与 OnePage:390px 竖屏、844px 横屏,锁定操作、触摸滚动、真实拖动及缩放、独立编辑、退出编辑、返回和桌面保留原行为,30 项通过(含文字编辑聚焦后模拟键盘压缩高度)。
- 320 / 360 / 390 / 430px 下完整与实用模式的侧边及底部入口实际点击;暂存箱边缘拖动、半收起点击、拖回中间,加入每个组件实际边界与窄屏复核后,当时的布局、导览与暂存箱共 43 项通过;其中常驻侧栏方案随后被用户纠正,导航当前验收以更正报告为准。
- 320px 英文布局选择及继续、返回;桌面跳过布局选择。极简导览继续直接进入功能介绍,设置中可切换导航。
- 完整导览的搜索、白板、暂存箱、口令、NFC、组织、清小搭、工作区、OneGO、插件、外观、学习、数据等跳转,桌面与手机 66 项通过。
- 强制刷新与暂存箱在桌面、手机的普通点击、轻微抖动、慢按、拖动落点、取消、刷新后位置、键盘操作,85 项通过。
- 更新生命周期覆盖主源悬挂回退、双源悬挂、取消、预取消及重试成功。白板历史覆盖连续输入、自动拟合、外部修改及朝向隔离;布局偏好隔离与持久化通过。
- 二级课表 11 项、锚点 14 项、系统日历 28 项回归通过。
- TypeScript、OneGUI 单源与对比度护栏、中英文各 7572 个词典键、62 条 Android 小组件本地兜底校验通过。Android OH Kotlin 编译通过。
复跑入口:tools/mobile-round3-browser-test.mjs、tools/board-mobile-edit-browser-test.mjs、tools/mobile-layout-docking-browser-test.mjs、tools/onboarding-browser-test.mjs、tools/floating-buttons-browser-test.mjs。浏览器测试需要本地 Vite 和 Playwright,所有截图使用匿名预览。
截图复核补充¶
320px 侧边导航截图暴露了白板 240px 宽度下限造成的卡片裁切。外框宽度检查曾通过,内部组件仍超出剩余空间。已让阅读投影使用实际容器宽度,逐件检查组件包围盒;原始文档摆位继续保留。后续已取消侧栏占位,改用覆盖式浮层,页面保持全宽。
验证边界¶
触摸操作由浏览器 CDP 产生真实触摸事件;浏览器视口验证覆盖页面交互与命中区域。本批没有连接 Android 实机,原生悬浮窗已通过 Kotlin 编译,系统导航条、厂商输入法和悬浮窗实际显示仍需设备反馈。更新测试只读取清单,安装器继续由用户确认。