Repository navigation
v1.11.0 · 界面清晰了一遍 · 打印出口 · 安装版补上快捷方式
[1.11.0] - 2026-09-27 · 界面清晰了一遍 · 打印出口 · 安装版补上快捷方式
上一版(v1.10.0)把 AI 对话闭环、把翻页提速 2300 倍。
这一版接着补调研点名的"接不住",并把界面整体过了一遍。
新增
-
打印当前表格:生成打印友好的自包含 HTML(A4 横向、表头每页重复、
打印时去掉斑马纹省墨),用系统默认浏览器打开后Ctrl+P即可打印或存成 PDF。出口 给谁 导出当前表格(.xlsx) 还要继续拿 Excel 算数的人 打印当前表格(.html) 要打出来贴墙上、或发给不看电子表格的人 导出全部数据(全库 CSV) 搬家、留底 在此之前,把一张台账打印出来要绕 6 步(导出全库 → 打开目录 → 找 CSV →
Excel 打开 → 排版 → 打印),而且导出去的不是当前这张表。 -
安装版补上快捷方式:装到本机之后,开始菜单里会出现「DeskBase 桌库」——
以前装完没有任何入口,用户点完「安装」只得到一句"已安装到 X",然后找不到它。
桌面快捷方式是勾选项、默认不勾:桌面是用户自己的地方,程序不该不问就往上面放图标。
卸载会一并删掉这两个图标。体积代价实测 +1.5 KB(COM 的IShellLinkW,不新增依赖)。 -
命令面板新增「办公套件使用教程」等入口:教程本来只在设置页最底下,
而命令面板(Ctrl+K)才是这个程序里找东西的正确入口 ——
发现不了的功能等于没做,尤其对不熟电脑的办公人员。
变更(界面)
- 表格页侧栏从 8 个无标题按钮改成 3 个分组:
开始(新建 / 导入)、
拿出去(导出 / 打印 / 备份)、管理(表结构 / 关系 / 视图 / 历史)。
之前它们是一条直列、间距一致,"新建表格"和"导出当前表格"在视觉上完全同权,
用户没有"主动作在哪"的线索。 - 空状态引导真正居中了:它靠
margin: auto只能水平居中,
截图上贴着顶部、下面一片空白。现在空态容器是 flex 居中,引导块落在中间。 - 设置页分区导航改成单行横向滚动(窄屏换行):9 个胶囊原本会折成两三行,
而它是position: sticky的 —— 折行后吸顶区变高,每滚一屏就少看一屏内容。 - 服务商图标与下拉同行:图标原本掉到下一行,看起来像个别的东西 ——
而它是"数据出不出本机"的唯一视觉线索。 - 全局搜索框限宽 52ch:原本横跨整个内容区(约 1200px),
而用户输入的关键词通常只有几个字,过宽让"在这里打字"显得很重。
修复
-
「导出当前表格」对超过 500 行的表会静默只导前 500 行(数据丢失级)。
取数写的是page_rows(..., usize::MAX)—— 看着是"取全部",但后端会把 limit
夹到MAX_PAGE_LIMIT(500)。导出的.xlsx里只有前 500 行,
不报错、不提示,用户拿到一个"看起来完整"的残缺文件。
这是数据丢失里最坏的一种:没有人会去检查第 501 行在不在。修法不是"把那一行改掉",而是把"取整张表"变成一个有名字、有测试、
只能有一种正确实现的函数(export_all::read_all_rows,逐页翻到has_more == false),
并在端到端里用现成的 1200 行表钉住两个出口都导满 1200 行
(单测只能证明"函数返回 1200 行",而这里证明从界面那条 IPC 走下来也导满 ——
同一类错误完全可能只在接线那一层出现)。这个 bug 是写打印视图的人顺手看隔壁取数方式时发现的。
它的形状很典型:一个看起来无害的"取全部"。 -
首次打开设置页,AI 那栏是「服务商:深度求索 DeepSeek」配着本机 Ollama 的地址。
成因是默认地址按数组下标取(PROVIDERS[0]),而清单顺序后来变过。
这不是"看着别扭":用户会以为自己配的是云端,然后把 API Key 填进一个指向本机的地址;
反过来他也可能以为"数据发给 DeepSeek 了",而实际去哪完全取决于那个地址。
现在以服务商为准取它自己的地址,并按 ADR-0007 默认选本机项;
一条测试钉住"默认的服务商与地址必须指向同一家"。 -
设置页 AI 图标显示错了服务商:截图上下拉写着「深度求索 DeepSeek」,
旁边却画着一台本机显示器 —— 因为"用已保存的设置改写下拉值"发生在
两次图标同步之间。这个图标错了比没有更糟:用户会据此判断自己的数据去了哪。 -
17 处引用了根本没定义的 CSS 变量(
--ink-1/--bg/--radius-full/
--font-mono/--fs-sm)。CSS 自定义属性写错不报错 ——
浏览器把该声明当无效、静默退化,元素拿了继承值或初值,结果就是
"看着不太对但说不上哪不对"。真踩到过:设置页那批导航胶囊用的--fs-sm
从来没定义过,它们一直用的是浏览器默认字号。
现在改成规范名(--ink/--paper/--radius-xl/--stack-mono/--fs-aux),
并新增一个扫未定义变量的脚本补上门禁的这块空白(五道门禁都不查这个)。
验证
单元测试、界面烟测(真实点击)、界面走查(截图 + 布局体检 + 无障碍体检)、
崩溃恢复端到端、导入端到端、门禁五道 —— 数字见 local-docs/handoff/VERSION_PLAN.md
的事实面板(每条都标了怎么测出来的)。
覆盖到哪一层(别含混):
- 安装版真装真卸由
#[ignore]测试验(真写注册表、真建.lnk、跑完自清,复核残留为 0);
但界面点「安装」那一下不在烟测里(烟测只断言入口在、勾选项默认不勾)——
因为真点会改系统状态。 - 打印视图的逐页表头重复只有 CSS 规则 + 单测 + 真实 Chromium 打出 19 页 A4 横向佐证,
没有逐页肉眼确认过。 - **AI 对话"真发一条消息、真收一条回复"**仍然没有自动化覆盖(需要真的模型服务)。