1.6 KiB
1.6 KiB
实施说明 — 浏览器网站导航(收藏)
设计:
docs/design/specs/2026-06-11-browser-nav-bookmarks-design.md
涉及文件(计划)
| 文件 | 动作 |
|---|---|
server/utils/browser_ui_state.py |
✅ nav_links 解析与上限 |
server/api/browser.py |
✅ BrowserNavLinkState / PUT 字段 |
tests/test_browser_ui_state.py |
✅ test_parse_nav_links |
frontend/src/composables/useGlobalBrowser.ts |
navLinks + add/update/remove + persist |
frontend/src/components/GlobalBrowserPanel.vue |
侧栏 Tab、列表、添加/编辑对话框、空白页快捷入口 |
docs/changelog/2026-06-11-browser-nav-bookmarks.md |
完成后记录 |
前端步骤
BrowserNavLink类型与applyServerState/persistState带上nav_linksaddNavLink(title, url)·updateNavLink(id, …)·removeNavLink(id)addCurrentPageToNav()— 取activeTab.url或addressDraft- 侧栏:
sidebarMode: 'nav' | 'history' | null - 对话框:
v-dialog名称 + URL,normalizeBrowserUrl校验 - 空白页:
v-chip/ 列表展示navLinks,点击openUrl
测试要点
pytest tests/test_browser_ui_state.py -q
cd frontend && npm run type-check
- 添加 3 条导航 → PUT → GET 往返一致
- 超 64 条截断;非法 URL 过滤
- UI:编辑后刷新仍显示
回滚
- 前端未发版:仅后端多返回空
nav_links,兼容 - 回滚前端:导航 UI 消失,DB 中 JSON 保留无害
依赖
- 全局浮动浏览器(
GlobalBrowserPanel+/api/browser/state)已上线