Skip to content

feat(desktop): 新增生成器页,集中生成密码和查看生成历史 - #210

Merged
sunerpy merged 4 commits into
mainfrom
feat/generator-page
Oct 22, 2026
Merged

sunerpy merged 4 commits into
mainfrom
feat/generator-page

Conversation

@sunerpy

@sunerpy sunerpy commented Oct 22, 2026

Copy link
Copy Markdown
Owner

改动

生成历史原来只能从生成器对话框底部的「生成历史 · N 条」进入,很难找到。现在「密码」页有了独立的生成器页面:

  • 入口:「密码」页顶部新增「生成器」按钮(提示「生成器 · Ctrl G」);「添加登录项」菜单里的「生成密码…」、Ctrl G 和命令面板也会打开这个页面。
  • 生成器页属于「密码」,侧栏不新增一行(在 960×600 的最小窗口下,侧栏多一行就会滚动,与 DESIGN.md 冲突)。在生成器页上,侧栏仍标出「密码」,页头有「返回密码」。
  • 页面上半部分生成密码:类型、强度、选项(作为下次的默认值),主操作是「复制」。下半部分是「生成历史」:显示条数,说明「最多保留最近 100 个,最长 90 天,只保存在这台设备上」(与核心的上限一致);「查看历史…」先验证主密码或 Touch ID / Windows Hello,之后在页面里列出两分钟,可以「隐藏」,离开页面也会隐藏。
  • 「清空历史…」现在先确认,焦点在「取消」上,选「清空」才会清空。对话框里的历史也一样。
  • 登录项表单里的「生成…」仍是原来的对话框,「使用此密码」照旧填进表单。生成器面板和历史面板由对话框和页面共用,逻辑只有一份。

测试

  • desktop:26 个文件、265 个测试通过,行覆盖率 95.67%;新测试在实现前按预期失败
  • shared:145 个测试通过(中英文字符串结构一致);mobile tsc + 110 个测试通过
  • pnpm run lint(oxlint + tsc)、全仓 fmt:check、scripts/check-no-literal-colors.sh 通过;推送前的 make lint test 通过
  • 960×600 下用 mock 后端实测:侧栏分组不滚动,「密码」页标题完整显示
  • 桌面冒烟测试在每种宽度和主题下从「密码」页的按钮进入生成器页截图,由 CI 运行

文档

docs/site/passwords/index.md 中英文新增「生成器页面」一节(开发中);DESIGN.md 补充「密码」页的按钮和生成器页。passwords-* 截图的页头会多出「生成器」按钮,tour 录像中的 Ctrl G 现在打开页面,截图留到发布后的文档更新再重拍。

生成历史以前只能从生成器对话框底部的「生成历史 · N 条」打开,很难找到。侧栏「密码」下方新增
「生成器」页(与「密码」一样只在提供密码管理时显示,也列入命令面板):上方是生成器,复制是主操作;
下方的「生成历史」显示条数、记入哪些密码和保留期限(取自核心的 100 个、90 天),「查看历史…」
验证身份后在页内列出,120 秒或离开页面后隐藏,可「隐藏」或「清空历史…」。

「添加登录项 › 生成密码…」和 Ctrl G 改为打开这个页面;登录项表单的「生成…」仍打开对话框,
保留「使用此密码」和生成历史入口。生成器面板和生成历史拆成共享组件(GeneratorPanel、
GeneratorHistory),对话框和页面共用,同时修正历史倒计时开始时可能显示 121 秒的问题。

DESIGN.md 和文档站「密码」页同步说明,新页面标为开发中。
侧栏多出的「生成器」一行让 960×600 窗口里的侧栏分组需要滚动,违反 DESIGN.md §2,所以去掉这一行:
生成器页作为「密码」的一部分,显示时侧栏标出「密码」;从「密码」页头部「添加登录项」旁新增的
「生成器」按钮(提示 Ctrl G)、「添加登录项 › 生成密码…」、Ctrl G 或命令面板进入,页头的「返回密码」
回到列表。「密码」页搜索框收窄为 min(26rem, 30vw),960 px 宽的窗口仍放得下标题。

「清空历史…」先弹出确认(标题用现有的 generator.history.clearConfirm,按钮为「取消」和「清空」),
页面和登录项表单的生成器对话框相同;确认框与历史视图并列绘制,不放在带模糊效果的卡片里。

smoke-desktop 的截图轮次加入生成器页(经「密码」页头部的按钮进入)。DESIGN.md 与文档站「密码」页
同步说明,新页面仍标为开发中。
@sunerpy
sunerpy merged commit d1e3dcb into main Oct 22, 2026
32 of 34 checks passed
@sunerpy
sunerpy deleted the feat/generator-page branch October 22, 2026 11:50
@github-actions github-actions Bot mentioned this pull request Oct 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant