1120 lines
36 KiB
Markdown
1120 lines
36 KiB
Markdown
# 书签管理系统 - 产品需求文档
|
||
|
||
> **版本**: 2.0.0
|
||
> **最后更新**: 2025-12-12
|
||
> **文档类型**: 产品需求文档 (PRD)
|
||
|
||
---
|
||
|
||
## 目录
|
||
|
||
1. [产品概述](#1-产品概述)
|
||
2. [用户场景](#2-用户场景)
|
||
3. [功能模块](#3-功能模块)
|
||
4. [浏览器扩展功能](#4-浏览器扩展功能)
|
||
5. [用户与设备管理](#5-用户与设备管理)
|
||
6. [后台管理系统](#6-后台管理系统)
|
||
7. [数据同步机制](#7-数据同步机制)
|
||
8. [功能优先级](#8-功能优先级)
|
||
9. [非功能需求](#9-非功能需求)
|
||
|
||
---
|
||
|
||
## 1. 产品概述
|
||
|
||
### 1.1 产品定位
|
||
|
||
书签管理系统是一个**云端多设备协同**的个人网页书签管理工具,通过 Web 应用 + 浏览器扩展 + 后台管理的组合,提供统一的书签管理、智能搜索、多设备同步和隐私控制能力。
|
||
|
||
- **v1.0 MVP版本**:已完成,代码放在 mvp/ 文件夹下 ✅
|
||
- **v2.0 云端版本**:已完成,代码放在 src/ 文件夹下 ✅
|
||
|
||
### 1.2 目标用户
|
||
|
||
- 需要管理大量网页书签的个人用户
|
||
- 经常在多个浏览器/设备间切换的用户
|
||
- 需要对书签进行分类整理的知识工作者
|
||
- 希望快速检索历史收藏的开发者/研究人员
|
||
- **需要在不同场景(公司/家庭)控制书签可见性的用户**
|
||
|
||
### 1.3 核心价值
|
||
|
||
| 价值点 | 描述 |
|
||
|--------|------|
|
||
| 统一管理 | 跨浏览器、跨设备统一管理所有书签 |
|
||
| 智能搜索 | 支持模糊搜索、拼音搜索、多关键词搜索 |
|
||
| 自动同步 | 浏览器书签操作自动同步到云端 |
|
||
| 便捷访问 | 新标签页即为书签主页,随时可用 |
|
||
| **隐私控制** | 不同设备可设置不同的书签可见范围 |
|
||
| **多设备协同** | 一个账号登录多台设备,数据云端同步 |
|
||
|
||
### 1.4 产品组成
|
||
|
||
| 组件 | 技术栈 | 描述 |
|
||
|------|--------|------|
|
||
| Bookmark SPA | Vue 3 | 书签管理 Web 应用(核心功能载体) |
|
||
| Browser Extension | JavaScript | 浏览器扩展(同步桥梁 + 便捷入口) |
|
||
| **Backend API** | **C# / .NET** | **后端服务(数据存储(ORM使用freesql) + 业务逻辑)** |
|
||
| **Admin Panel** | **Vue** | **后台管理系统(用户管理 + 数据管理)** |
|
||
| **Database** | **SQL Server / PostgreSQL** | **数据持久化存储** |
|
||
|
||
### 1.5 系统架构
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ 客户端 │
|
||
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────────┐ │
|
||
│ │ Bookmark SPA│ │ 浏览器扩展 │ │ 后台管理系统 │ │
|
||
│ │ (Vue 3) │ │ (Extension) │ │ (Admin Panel) │ │
|
||
│ └──────┬──────┘ └──────┬──────┘ └───────────┬─────────────┘ │
|
||
└─────────┼────────────────┼─────────────────────┼────────────────┘
|
||
│ │ │
|
||
└────────────────┼─────────────────────┘
|
||
│
|
||
┌──────▼──────┐
|
||
│ Backend API │
|
||
│ (C#/.NET) │
|
||
└──────┬──────┘
|
||
│
|
||
┌──────▼──────┐
|
||
│ Database │
|
||
│ (SQL Server) │
|
||
└─────────────┘
|
||
```
|
||
|
||
---
|
||
|
||
## 2. 用户场景
|
||
|
||
### 2.1 场景一:日常书签收藏
|
||
|
||
**用户故事**: 作为一个用户,我希望在浏览网页时能快速收藏当前页面,并自动同步到我的书签管理系统。
|
||
|
||
**操作流程**:
|
||
1. 用户在浏览器中正常使用 Ctrl+D 添加书签
|
||
2. 扩展自动检测到新增书签
|
||
3. 书签自动同步到云端服务器
|
||
4. 系统根据书签来源文件夹自动添加标签
|
||
|
||
### 2.2 场景二:快速查找书签
|
||
|
||
**用户故事**: 作为一个用户,我希望能快速找到之前收藏的某个网页,即使我只记得部分关键词。
|
||
|
||
**操作流程**:
|
||
1. 用户打开新标签页(直接看到书签主页)
|
||
2. 按 Ctrl+K 打开搜索
|
||
3. 输入模糊关键词或拼音首字母
|
||
4. 从搜索结果中找到目标书签并打开
|
||
|
||
### 2.3 场景三:整理分类书签
|
||
|
||
**用户故事**: 作为一个用户,我希望能对我的书签进行分类整理,方便日后查找和管理。
|
||
|
||
**操作流程**:
|
||
1. 用户打开书签管理应用
|
||
2. 为书签添加/修改标签
|
||
3. 按标签分组查看书签
|
||
4. 拖拽调整书签顺序
|
||
|
||
### 2.4 场景四:多设备同步
|
||
|
||
**用户故事**: 作为一个用户,我希望在不同设备上都能访问我的书签,数据实时同步。
|
||
|
||
**操作流程**:
|
||
1. 用户在设备 A 上登录账号
|
||
2. 在设备 A 上收藏书签
|
||
3. 数据自动同步到云端
|
||
4. 在设备 B 上登录同一账号
|
||
5. 在设备 B 上查看同步后的书签
|
||
|
||
### 2.5 场景五:公司电脑隐私保护 ⭐ 新增
|
||
|
||
**用户故事**: 作为一个用户,我在公司电脑上使用书签管理系统,但有些私人书签不想在公司设备上显示。
|
||
|
||
**操作流程**:
|
||
1. 用户在家庭电脑(管理员设备)上登录
|
||
2. 将某些书签标记为「私密」或设置可见设备
|
||
3. 用户在公司电脑上登录同一账号
|
||
4. 公司电脑只能看到「公开」或「允许该设备查看」的书签
|
||
5. 家庭电脑(管理员设备)可以看到所有书签
|
||
|
||
### 2.6 场景六:管理员设备管理
|
||
|
||
**用户故事**: 作为一个用户,我希望指定一台设备为管理员设备,可以管理所有书签和设备设置。
|
||
|
||
**操作流程**:
|
||
1. 用户首次登录时,该设备自动成为管理员设备
|
||
2. 在管理员设备上可以:
|
||
- 查看所有书签(包括私密书签)
|
||
- 设置书签的可见性范围
|
||
- 管理其他设备的权限
|
||
- 添加/移除设备
|
||
|
||
### 2.7 场景七:后台管理(管理员)
|
||
|
||
**用户故事**: 作为系统管理员,我希望能在后台管理所有用户和他们的数据。
|
||
|
||
**操作流程**:
|
||
1. 管理员登录后台管理系统
|
||
2. 查看用户列表、用户的设备、书签统计
|
||
3. 可以禁用/启用用户账号
|
||
4. 可以查看和管理用户的书签数据
|
||
|
||
---
|
||
|
||
## 3. 功能模块
|
||
|
||
### 3.1 书签管理模块
|
||
|
||
#### 3.1.1 书签 CRUD
|
||
|
||
| 功能 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| 新增书签 | 手动添加书签,填写标题、URL、描述、标签 | P0 |
|
||
| 编辑书签 | 修改书签的所有字段信息 | P0 |
|
||
| 删除书签 | 删除单个书签,需二次确认 | P0 |
|
||
| 查看详情 | 查看书签完整信息 | P0 |
|
||
| 批量删除 | 勾选多个书签后批量删除 | P1 |
|
||
| 批量打标签 | 为多个书签同时添加标签 | P1 |
|
||
|
||
#### 3.1.2 书签列表
|
||
|
||
| 功能 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| 列表展示 | 以卡片/列表形式展示所有书签 | P0 |
|
||
| 按标签分组 | 书签按标签分组展示 | P0 |
|
||
| 拖拽排序 | 拖拽调整书签顺序 | P1 |
|
||
| 最近访问 | 展示最近访问的书签 | P0 |
|
||
| 常用书签 | 按访问频次展示常用书签 | P1 |
|
||
|
||
#### 3.1.3 访问追踪
|
||
|
||
| 功能 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| 点击计数 | 记录每个书签的访问次数 | P0 |
|
||
| 访问时间 | 记录最后访问时间 | P0 |
|
||
| 访问统计 | 展示访问统计报表 | P2 |
|
||
|
||
---
|
||
|
||
### 3.2 搜索模块
|
||
|
||
#### 3.2.1 全局搜索
|
||
|
||
| 功能 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| 快捷键唤起 | Ctrl+K 打开搜索(可自定义) | P0 |
|
||
| 模糊搜索 | 支持模糊匹配 | P0 |
|
||
| 拼音搜索 | 支持拼音全拼和首字母搜索 | P0 |
|
||
| 多关键词 | 空格分隔多关键词 AND 搜索 | P0 |
|
||
| 实时搜索 | 输入时实时展示结果 | P0 |
|
||
| 键盘导航 | 方向键导航,回车打开 | P0 |
|
||
|
||
#### 3.2.2 搜索范围
|
||
|
||
| 搜索字段 | 权重 | 描述 |
|
||
|----------|------|------|
|
||
| 标题 | 高 | 书签标题 |
|
||
| 标签 | 高 | 书签标签 |
|
||
| 描述 | 中 | 书签描述 |
|
||
| URL | 低 | 书签链接 |
|
||
|
||
#### 3.2.3 结果排序
|
||
|
||
| 排序规则 | 优先级 |
|
||
|----------|--------|
|
||
| 精确标题匹配 | 最高 |
|
||
| 部分标题匹配 | 高 |
|
||
| 标签匹配 | 中 |
|
||
| 高访问量 | 中 |
|
||
| 其他匹配 | 低 |
|
||
|
||
---
|
||
|
||
### 3.3 标签管理模块
|
||
|
||
#### 3.3.1 标签功能
|
||
|
||
| 功能 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| 自动创建 | 添加书签时自动创建新标签 | P0 |
|
||
| 标签列表 | 展示所有标签及使用数量 | P0 |
|
||
| 标签筛选 | 按标签筛选书签 | P0 |
|
||
| 标签重命名 | 修改标签名称 | P1 |
|
||
| 标签合并 | 将多个标签合并为一个 | P2 |
|
||
| 标签删除 | 删除未使用的标签 | P1 |
|
||
| 标签排序 | 自定义标签显示顺序 | P2 |
|
||
| 未分类 | 无标签书签自动归入"未分类" | P0 |
|
||
|
||
---
|
||
|
||
### 3.4 数据导入导出模块
|
||
|
||
#### 3.4.1 JSON 导入导出
|
||
|
||
| 功能 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| 导出 JSON | 将所有书签导出为 JSON 文件 | P0 |
|
||
| 导入 JSON | 从 JSON 文件导入书签 | P0 |
|
||
| 覆盖/合并 | 导入时可选覆盖或合并 | P0 |
|
||
|
||
#### 3.4.2 浏览器书签导入
|
||
|
||
| 功能 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| HTML 解析 | 解析浏览器导出的 HTML 书签文件 | P0 |
|
||
| 选择性导入 | 用户可勾选需要导入的书签 | P0 |
|
||
| 重复检测 | 自动检测并跳过重复书签 | P0 |
|
||
| 文件夹转标签 | 将书签文件夹路径转为标签 | P1 |
|
||
| 导入预览 | 导入前预览书签列表 | P0 |
|
||
| 导入进度 | 大量导入时显示进度 | P1 |
|
||
|
||
---
|
||
|
||
### 3.5 设置模块
|
||
|
||
#### 3.5.1 外观设置
|
||
|
||
| 功能 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| 主题切换 | 浅色/深色/跟随系统 | P0 |
|
||
| 视图模式 | 卡片视图/列表视图/标签分组视图 | P1 |
|
||
|
||
#### 3.5.2 快捷键设置
|
||
|
||
| 功能 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| 搜索快捷键 | 自定义搜索唤起快捷键 | P0 |
|
||
| 快捷键捕获 | 可视化快捷键设置 | P0 |
|
||
|
||
---
|
||
|
||
## 4. 浏览器扩展功能
|
||
|
||
### 4.1 自动同步功能 ⭐ 新增
|
||
|
||
#### 4.1.1 书签新增同步
|
||
|
||
| 功能 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| 监听新增 | 监听浏览器书签新增事件 | P0 |
|
||
| 自动同步 | 新增书签自动同步到应用 | P0 |
|
||
| 自动标签 | 根据书签文件夹自动添加标签 | P0 |
|
||
| 同步提示 | 同步成功/失败时显示通知 | P1 |
|
||
|
||
**详细需求**:
|
||
- 当用户在浏览器中通过任何方式(Ctrl+D、右键、书签栏等)添加书签时,扩展自动检测
|
||
- 将新书签的标题、URL、图标、添加时间同步到书签管理应用
|
||
- 根据书签所在的文件夹路径,自动为书签添加对应标签
|
||
- 例:书签在「工作/项目A」文件夹 → 自动添加「工作」「项目A」标签
|
||
- 同步完成后在扩展图标上显示提示徽章
|
||
|
||
#### 4.1.2 书签删除同步
|
||
|
||
| 功能 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| 监听删除 | 监听浏览器书签删除事件 | P1 |
|
||
| 可选同步 | 用户可设置是否同步删除 | P1 |
|
||
| 删除确认 | 可选择是否需要确认 | P2 |
|
||
|
||
#### 4.1.3 书签修改同步
|
||
|
||
| 功能 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| 监听修改 | 监听书签标题/URL 修改 | P1 |
|
||
| 自动更新 | 修改后自动同步到应用 | P1 |
|
||
|
||
#### 4.1.4 同步设置
|
||
|
||
| 功能 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| 同步开关 | 可开启/关闭自动同步 | P0 |
|
||
| 同步方向 | 单向同步(浏览器→应用) | P0 |
|
||
| 同步范围 | 可选择同步特定文件夹 | P2 |
|
||
|
||
---
|
||
|
||
### 4.2 新标签页替换 ⭐ 新增
|
||
|
||
#### 4.2.1 主页替换
|
||
|
||
| 功能 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| 新标签页 | 新标签页默认显示书签应用 | P0 |
|
||
| 快速访问 | 打开浏览器即可看到书签 | P0 |
|
||
| 搜索聚焦 | 新标签页自动聚焦搜索框 | P1 |
|
||
|
||
**详细需求**:
|
||
- 用户打开新标签页时,直接展示书签管理应用主页
|
||
- 主页展示最近访问、常用书签、全部书签等信息
|
||
- 支持快捷键快速搜索
|
||
- 可在设置中关闭此功能,恢复浏览器默认新标签页
|
||
|
||
#### 4.2.2 主页布局
|
||
|
||
| 区域 | 内容 | 优先级 |
|
||
|------|------|--------|
|
||
| 搜索区 | 搜索框 + 快捷键提示 | P0 |
|
||
| 快速访问 | 最近访问的书签(最多 8 个) | P0 |
|
||
| 常用书签 | 访问最多的书签 | P1 |
|
||
| 书签库 | 全部书签(按标签分组) | P0 |
|
||
|
||
---
|
||
|
||
### 4.3 全局快捷键搜索 ⭐ 新增
|
||
|
||
#### 4.3.1 功能概述
|
||
|
||
| 功能 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| 全局快捷键 | 在任意网页按快捷键唤起搜索 | P0 |
|
||
| 浮层搜索框 | 在当前页面弹出搜索浮层 | P0 |
|
||
| 实时搜索 | 输入即搜索,展示匹配结果 | P0 |
|
||
| 键盘导航 | 方向键导航,回车打开书签 | P0 |
|
||
| ESC 关闭 | 按 ESC 关闭搜索浮层 | P0 |
|
||
|
||
**详细需求**:
|
||
- 通过 Content Script 注入到所有网页
|
||
- 用户在任意页面按下快捷键(如 Alt+K 或自定义)触发搜索
|
||
- 页面上弹出一个浮层搜索框(类似 SPA 中的搜索模态框)
|
||
- 搜索框支持模糊搜索、拼音搜索
|
||
- 搜索结果显示书签标题、URL、标签
|
||
- 点击结果或回车直接在新标签页打开书签
|
||
- 按 ESC 或点击遮罩关闭搜索浮层
|
||
|
||
#### 4.3.2 快捷键配置
|
||
|
||
| 配置项 | 默认值 | 说明 |
|
||
|--------|--------|------|
|
||
| 搜索快捷键 | Alt+K | 可自定义,避免与网页快捷键冲突 |
|
||
| 启用/禁用 | 启用 | 可关闭全局快捷键功能 |
|
||
| 排除网站 | 无 | 可设置某些网站不注入 |
|
||
|
||
#### 4.3.3 搜索浮层设计
|
||
|
||
| 元素 | 描述 |
|
||
|------|------|
|
||
| 遮罩层 | 半透明背景,点击关闭 |
|
||
| 搜索输入框 | 自动聚焦,支持清空 |
|
||
| 快捷键提示 | 显示当前快捷键 |
|
||
| 结果列表 | 最多显示 8-10 条结果 |
|
||
| 结果项 | 图标 + 标题 + URL(截断)+ 标签 |
|
||
| 空状态 | 无结果时显示提示 |
|
||
| 底部提示 | 键盘操作说明 |
|
||
|
||
---
|
||
|
||
### 4.4 快捷收藏功能 ⭐ 新增
|
||
|
||
#### 4.4.1 一键收藏(Popup 方式)
|
||
|
||
| 功能 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| 工具栏按钮 | 点击扩展图标快速收藏当前页 | P1 |
|
||
| 快速编辑 | 收藏时可编辑标题/标签 | P1 |
|
||
| 收藏确认 | 显示收藏成功提示 | P1 |
|
||
| 仅存应用 | 可选择不保存到浏览器书签 | P2 |
|
||
|
||
**详细需求**:
|
||
- 点击扩展图标弹出 Popup
|
||
- Popup 中显示「收藏当前页」按钮
|
||
- 点击后展开编辑表单(标题、URL、标签)
|
||
- 用户可选择:仅保存到应用 / 同时保存到浏览器书签
|
||
- 此功能与「监听系统收藏」不冲突,是两个独立入口
|
||
|
||
#### 4.4.2 右键菜单
|
||
|
||
| 功能 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| 添加到书签 | 右键页面添加当前页 | P1 |
|
||
| 添加链接 | 右键链接添加该链接 | P1 |
|
||
| 搜索书签 | 右键选中文字搜索书签 | P2 |
|
||
|
||
---
|
||
|
||
### 4.5 Popup 内搜索
|
||
|
||
#### 4.5.1 功能描述
|
||
|
||
| 功能 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| Popup 搜索框 | 在 Popup 中提供搜索入口 | P2 |
|
||
| 快速搜索 | 输入关键词搜索书签 | P2 |
|
||
| 搜索结果 | 显示匹配的书签列表 | P2 |
|
||
| 快速打开 | 点击结果直接打开 | P2 |
|
||
|
||
**说明**: 此功能作为全局快捷键搜索的补充,优先级较低。用户更常用的是全局快捷键搜索。
|
||
|
||
---
|
||
|
||
### 4.6 事件监控功能
|
||
|
||
#### 4.6.1 书签事件
|
||
|
||
| 功能 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| 创建事件 | 记录书签创建操作 | P0 |
|
||
| 删除事件 | 记录书签删除操作 | P0 |
|
||
| 修改事件 | 记录书签修改操作 | P0 |
|
||
| 移动事件 | 记录书签移动操作 | P1 |
|
||
|
||
#### 4.6.2 事件展示
|
||
|
||
| 功能 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| 事件列表 | 在 Popup 中展示最近事件 | P0 |
|
||
| 事件统计 | 显示事件数量统计 | P0 |
|
||
| 书签总数 | 显示浏览器书签总数 | P0 |
|
||
|
||
---
|
||
|
||
### 4.7 Popup 界面
|
||
|
||
#### 4.7.1 界面布局
|
||
|
||
| 区域 | 功能 | 优先级 |
|
||
|------|------|--------|
|
||
| 头部 | 扩展名称/Logo | P0 |
|
||
| 快捷操作 | ⭐ 一键收藏当前页按钮(展开编辑表单) | P1 |
|
||
| 搜索框 | 快速搜索书签 | P2 |
|
||
| 统计信息 | 书签总数、事件数量 | P0 |
|
||
| 操作按钮 | 打开应用、刷新、设置 | P0 |
|
||
| 事件列表 | 最近书签操作记录 | P0 |
|
||
| 底部 | 版本信息、全局搜索快捷键提示 | P0 |
|
||
|
||
#### 4.7.2 交互设计
|
||
|
||
| 交互 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| 收藏反馈 | 收藏成功显示动画/提示 | P0 |
|
||
| 加载状态 | 操作时显示加载状态 | P0 |
|
||
| 错误提示 | 操作失败显示错误信息 | P0 |
|
||
|
||
---
|
||
|
||
## 5. 用户与设备管理 ⭐ 新增
|
||
|
||
### 5.1 用户系统
|
||
|
||
#### 5.1.1 用户注册
|
||
|
||
| 功能 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| 邮箱注册 | 使用邮箱 + 密码注册 | P0 |
|
||
| 邮箱验证 | 发送验证邮件确认 | P1 |
|
||
| 用户名设置 | 设置显示名称 | P0 |
|
||
|
||
#### 5.1.2 用户登录
|
||
|
||
| 功能 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| 邮箱登录 | 邮箱 + 密码登录 | P0 |
|
||
| 记住登录 | 可选记住登录状态 | P0 |
|
||
| 退出登录 | 退出当前设备 | P0 |
|
||
| 退出所有设备 | 清除所有设备登录状态 | P1 |
|
||
| 找回密码 | 通过邮箱重置密码 | P1 |
|
||
|
||
#### 5.1.3 用户信息
|
||
|
||
| 字段 | 描述 |
|
||
|------|------|
|
||
| 用户ID | 唯一标识 |
|
||
| 邮箱 | 登录账号 |
|
||
| 用户名 | 显示名称 |
|
||
| 密码 | 加密存储 |
|
||
| 头像 | 用户头像(可选) |
|
||
| 创建时间 | 注册时间 |
|
||
| 最后登录 | 最后登录时间 |
|
||
| 状态 | 正常/禁用 |
|
||
|
||
---
|
||
|
||
### 5.2 设备管理
|
||
|
||
#### 5.2.1 设备注册
|
||
|
||
| 功能 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| 自动注册 | 首次登录时自动注册设备 | P0 |
|
||
| 设备命名 | 用户可自定义设备名称 | P0 |
|
||
| 设备识别 | 自动识别设备类型(浏览器/系统) | P0 |
|
||
|
||
#### 5.2.2 设备信息
|
||
|
||
| 字段 | 描述 |
|
||
|------|------|
|
||
| 设备ID | 唯一标识 |
|
||
| 用户ID | 所属用户 |
|
||
| 设备名称 | 用户自定义名称(如:家庭电脑、公司笔记本) |
|
||
| 设备类型 | 浏览器类型 + 操作系统 |
|
||
| 是否管理员 | 是否为管理员设备 |
|
||
| 创建时间 | 首次登录时间 |
|
||
| 最后活跃 | 最后使用时间 |
|
||
| 状态 | 正常/禁用 |
|
||
|
||
#### 5.2.3 管理员设备
|
||
|
||
| 功能 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| 首个设备为管理员 | 用户首次登录的设备自动成为管理员 | P0 |
|
||
| 管理员转移 | 可将管理员权限转移到其他设备 | P1 |
|
||
| 管理员权限 | 查看所有书签、管理设备、设置可见性 | P0 |
|
||
|
||
#### 5.2.4 设备管理操作
|
||
|
||
| 功能 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| 查看设备列表 | 查看所有已登录的设备 | P0 |
|
||
| 重命名设备 | 修改设备显示名称 | P0 |
|
||
| 移除设备 | 删除设备并退出登录 | P0 |
|
||
| 设置管理员 | 指定某设备为管理员 | P1 |
|
||
|
||
---
|
||
|
||
### 5.3 书签可见性控制
|
||
|
||
#### 5.3.1 可见性级别
|
||
|
||
| 级别 | 描述 | 可见范围 |
|
||
|------|------|----------|
|
||
| 公开 | 所有设备可见 | 所有已登录设备 |
|
||
| 私密 | 仅管理员设备可见 | 仅管理员设备 |
|
||
| 指定设备 | 仅指定设备可见 | 选择的设备列表 |
|
||
|
||
#### 5.3.2 可见性设置
|
||
|
||
| 功能 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| 单个书签设置 | 为单个书签设置可见性 | P0 |
|
||
| 批量设置 | 批量修改多个书签的可见性 | P1 |
|
||
| 标签级别设置 | 按标签设置默认可见性 | P2 |
|
||
| 新书签默认值 | 设置新增书签的默认可见性 | P1 |
|
||
|
||
#### 5.3.3 可见性数据模型
|
||
|
||
| 字段 | 类型 | 描述 |
|
||
|------|------|------|
|
||
| 书签ID | string | 关联的书签 |
|
||
| 可见性类型 | enum | public / private / specified |
|
||
| 允许的设备列表 | string[] | 可见性为 specified 时的设备ID列表 |
|
||
|
||
#### 5.3.4 可见性规则
|
||
|
||
| 规则 | 描述 |
|
||
|------|------|
|
||
| 管理员设备 | 始终可以看到所有书签 |
|
||
| 公开书签 | 所有设备都可以看到 |
|
||
| 私密书签 | 仅管理员设备可见 |
|
||
| 指定设备 | 仅在允许列表中的设备可见 |
|
||
| 新增书签 | 继承用户设置的默认可见性 |
|
||
|
||
---
|
||
|
||
## 6. 后台管理系统 ⭐ 新增
|
||
|
||
### 6.1 后台概述
|
||
|
||
| 项目 | 说明 |
|
||
|------|------|
|
||
| 用途 | 系统管理员管理用户和数据 |
|
||
| 技术栈 | C# / .NET |
|
||
| 访问方式 | 独立的管理后台 Web 页面 |
|
||
| 权限要求 | 仅系统管理员可访问 |
|
||
|
||
### 6.2 管理员账号
|
||
|
||
#### 6.2.1 管理员类型
|
||
|
||
| 类型 | 描述 |
|
||
|------|------|
|
||
| 超级管理员 | 拥有所有权限,可管理其他管理员 |
|
||
| 普通管理员 | 可管理用户和书签数据 |
|
||
|
||
#### 6.2.2 管理员功能
|
||
|
||
| 功能 | 超级管理员 | 普通管理员 |
|
||
|------|------------|------------|
|
||
| 查看用户列表 | ✅ | ✅ |
|
||
| 禁用/启用用户 | ✅ | ✅ |
|
||
| 查看用户书签 | ✅ | ✅ |
|
||
| 删除用户书签 | ✅ | ✅ |
|
||
| 管理管理员账号 | ✅ | ❌ |
|
||
| 系统配置 | ✅ | ❌ |
|
||
|
||
---
|
||
|
||
### 6.3 用户管理
|
||
|
||
#### 6.3.1 用户列表
|
||
|
||
| 功能 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| 用户列表 | 分页展示所有用户 | P0 |
|
||
| 搜索用户 | 按邮箱/用户名搜索 | P0 |
|
||
| 筛选用户 | 按状态、注册时间筛选 | P1 |
|
||
| 用户详情 | 查看用户详细信息 | P0 |
|
||
|
||
#### 6.3.2 用户操作
|
||
|
||
| 功能 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| 禁用用户 | 禁止用户登录 | P0 |
|
||
| 启用用户 | 恢复用户登录权限 | P0 |
|
||
| 重置密码 | 重置用户密码 | P1 |
|
||
| 删除用户 | 删除用户及其所有数据 | P1 |
|
||
|
||
#### 6.3.3 用户统计
|
||
|
||
| 统计项 | 描述 |
|
||
|--------|------|
|
||
| 用户总数 | 注册用户总数 |
|
||
| 活跃用户 | 最近 7 天活跃用户数 |
|
||
| 新增用户 | 今日/本周/本月新增 |
|
||
| 设备数量 | 用户的设备数量 |
|
||
|
||
---
|
||
|
||
### 6.4 设备管理
|
||
|
||
#### 6.4.1 设备列表
|
||
|
||
| 功能 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| 设备列表 | 查看某用户的所有设备 | P0 |
|
||
| 设备详情 | 查看设备详细信息 | P0 |
|
||
|
||
#### 6.4.2 设备操作
|
||
|
||
| 功能 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| 强制下线 | 强制某设备退出登录 | P1 |
|
||
| 禁用设备 | 禁止某设备登录 | P1 |
|
||
|
||
---
|
||
|
||
### 6.5 书签管理
|
||
|
||
#### 6.5.1 书签列表
|
||
|
||
| 功能 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| 书签列表 | 查看某用户的所有书签 | P0 |
|
||
| 搜索书签 | 按标题/URL 搜索 | P0 |
|
||
| 筛选书签 | 按标签、可见性筛选 | P1 |
|
||
|
||
#### 6.5.2 书签操作
|
||
|
||
| 功能 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| 查看详情 | 查看书签完整信息 | P0 |
|
||
| 删除书签 | 删除违规书签 | P1 |
|
||
|
||
#### 6.5.3 书签统计
|
||
|
||
| 统计项 | 描述 |
|
||
|--------|------|
|
||
| 书签总数 | 系统书签总数 |
|
||
| 用户书签数 | 某用户的书签数量 |
|
||
| 标签统计 | 各标签使用次数 |
|
||
|
||
---
|
||
|
||
### 6.6 系统统计
|
||
|
||
#### 6.6.1 仪表盘
|
||
|
||
| 统计项 | 描述 |
|
||
|--------|------|
|
||
| 用户总数 | 注册用户总数 |
|
||
| 活跃用户 | DAU / WAU / MAU |
|
||
| 书签总数 | 系统书签总数 |
|
||
| 设备总数 | 登录设备总数 |
|
||
| 今日新增 | 今日新增用户/书签 |
|
||
|
||
#### 6.6.2 趋势图表
|
||
|
||
| 图表 | 描述 | 优先级 |
|
||
|------|------|--------|
|
||
| 用户增长 | 每日新增用户趋势 | P2 |
|
||
| 书签增长 | 每日新增书签趋势 | P2 |
|
||
| 活跃趋势 | 每日活跃用户趋势 | P2 |
|
||
|
||
---
|
||
|
||
### 6.7 系统配置
|
||
|
||
| 配置项 | 描述 | 优先级 |
|
||
|--------|------|--------|
|
||
| 注册开关 | 是否允许新用户注册 | P1 |
|
||
| 邮件配置 | SMTP 邮件发送配置 | P1 |
|
||
| 存储配置 | 数据库连接配置 | P1 |
|
||
|
||
---
|
||
|
||
## 7. 数据同步机制
|
||
|
||
### 7.1 同步架构
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ 收藏入口 │
|
||
├─────────────────────────────────────────────────────────────┤
|
||
│ │
|
||
│ 方式1: 监听系统收藏 │
|
||
│ ┌──────────────┐ ┌──────────┐ ┌──────────────────┐ │
|
||
│ │ 用户 Ctrl+D │───→│ 扩展 │───→│ 云端 API │ │
|
||
│ │ 浏览器收藏 │ │ 监听 │ │ 自动新增 │ │
|
||
│ └──────────────┘ └──────────┘ └──────────────────┘ │
|
||
│ │
|
||
│ 方式2: 一键收藏(Popup) │
|
||
│ ┌──────────────┐ ┌──────────┐ ┌──────────────────┐ │
|
||
│ │ 点击扩展图标 │───→│ Popup │───→│ 云端 API │ │
|
||
│ │ 快速收藏 │ │ 表单 │ │ (可选同步浏览器)│ │
|
||
│ └──────────────┘ └──────────┘ └──────────────────┘ │
|
||
│ │
|
||
└─────────────────────────────────────────────────────────────┘
|
||
│
|
||
┌──────▼──────┐
|
||
│ Backend API │
|
||
│ (C#/.NET) │
|
||
└──────┬──────┘
|
||
│
|
||
┌──────▼──────┐
|
||
│ Database │
|
||
└─────────────┘
|
||
```
|
||
|
||
### 7.2 两种收藏方式对比
|
||
|
||
| 对比项 | 监听系统收藏 | 一键收藏(Popup) |
|
||
|--------|--------------|-------------------|
|
||
| 触发方式 | Ctrl+D / 右键收藏 | 点击扩展图标 |
|
||
| 是否存浏览器 | ✅ 是(用户主动操作的) | 可选 |
|
||
| 是否存云端 | ✅ 是(自动同步) | ✅ 是 |
|
||
| 能否编辑 | ❌ 否(自动) | ✅ 是(可编辑标签) |
|
||
| 标签来源 | 文件夹自动映射 | 用户手动选择 |
|
||
| 可见性 | 继承默认设置 | 可手动选择 |
|
||
| 使用场景 | 习惯用浏览器收藏 | 想快速分类整理 |
|
||
|
||
### 7.3 同步规则
|
||
|
||
#### 7.3.1 新增同步
|
||
|
||
| 场景 | 处理方式 |
|
||
|------|----------|
|
||
| 浏览器新增书签 | 自动同步到云端,提取文件夹作为标签 |
|
||
| 应用新增书签 | 保存到云端(单向同步到浏览器可选) |
|
||
|
||
#### 7.3.2 重复处理
|
||
|
||
| 场景 | 处理方式 |
|
||
|------|----------|
|
||
| URL 已存在 | 跳过,不重复添加 |
|
||
| 标题不同 | 保留云端中的标题 |
|
||
|
||
#### 7.3.3 标签映射
|
||
|
||
| 文件夹结构 | 标签结果 |
|
||
|------------|----------|
|
||
| 书签栏/工作 | 「工作」 |
|
||
| 书签栏/工作/项目A | 「工作」「项目A」 |
|
||
| 其他书签/学习/Vue | 「学习」「Vue」 |
|
||
|
||
### 7.4 同步配置
|
||
|
||
| 配置项 | 选项 | 默认值 |
|
||
|--------|------|--------|
|
||
| 自动同步开关 | 开启/关闭 | 开启 |
|
||
| 同步删除 | 开启/关闭 | 关闭 |
|
||
| 同步通知 | 开启/关闭 | 开启 |
|
||
| 标签提取层级 | 1-3 级 | 2 级 |
|
||
| 新书签默认可见性 | 公开/私密 | 公开 |
|
||
|
||
---
|
||
|
||
## 8. 功能优先级
|
||
|
||
### 8.1 P0 - 核心功能(v2.0 已全部完成 ✅)
|
||
|
||
| 模块 | 功能 | 状态 |
|
||
|------|------|------|
|
||
| **用户系统** | 用户注册/登录 | ✅ |
|
||
| **用户系统** | 设备自动注册与管理 | ✅ |
|
||
| **用户系统** | 管理员设备机制 | ✅ |
|
||
| **用户系统** | 书签可见性控制(公开/私密/指定设备) | ✅ |
|
||
| 扩展 | 用户登录状态管理 | ✅ |
|
||
| 扩展 | 书签新增自动同步(监听系统收藏) | ✅ |
|
||
| 扩展 | 自动添加标签(文件夹映射) | ✅ |
|
||
| 扩展 | 同步开关设置 | ✅ |
|
||
| 应用 | 书签 CRUD(云端存储) | ✅ |
|
||
| 应用 | 全局搜索(模糊+拼音) | ✅ |
|
||
| 应用 | 标签管理 | ✅ |
|
||
| **后端** | 用户认证 API(JWT + RefreshToken) | ✅ |
|
||
| **后端** | 书签 CRUD API | ✅ |
|
||
| **后端** | 设备管理 API | ✅ |
|
||
| **后端** | 可见性控制 API | ✅ |
|
||
| **后台** | 用户列表/详情/管理 | ✅ |
|
||
| **后台** | 书签查看/管理 | ✅ |
|
||
| **后台** | 系统统计数据 | ✅ |
|
||
|
||
### 8.2 P1 - 重要功能(v2.0 已全部完成 ✅)
|
||
|
||
| 模块 | 功能 | 状态 |
|
||
|------|------|------|
|
||
| 用户系统 | 找回密码 | ⏸️ 暂缓 |
|
||
| 用户系统 | 退出所有设备 | ✅ |
|
||
| 用户系统 | 指定设备可见性 | ✅ |
|
||
| 用户系统 | 新书签默认可见性设置 | ✅ |
|
||
| 扩展 | 书签删除/修改同步 | 🔄 部分完成(删除功能预留) |
|
||
| 扩展 | URL重复检测 | ✅ |
|
||
| 应用 | 批量操作 | ✅ |
|
||
| 应用 | 拖拽排序 | ✅(排序API已完成) |
|
||
| 应用 | 设备管理界面 | ✅ |
|
||
| 应用 | 可见性管理界面 | ✅ |
|
||
| 后端 | 批量删除 API | ✅ |
|
||
| 后端 | 访问记录 API | ✅ |
|
||
| 后台 | 设备管理(强制下线/禁用) | ✅ |
|
||
| 后台 | 管理员权限控制 | ✅ |
|
||
| 后台 | 重置用户密码 | ✅ |
|
||
|
||
### 8.3 P2 - 增强功能(v3.0 规划中)
|
||
|
||
| 模块 | 功能 | 状态 |
|
||
|------|------|------|
|
||
| 用户系统 | 邮箱验证 | 📋 |
|
||
| 用户系统 | 标签级别可见性 | 📋 |
|
||
| 扩展 | 新标签页替换为书签应用 | 📋 |
|
||
| 扩展 | 全局快捷键搜索(任意页面) | 📋 |
|
||
| 扩展 | 同步特定文件夹 | 📋 |
|
||
| 扩展 | 右键菜单添加书签 | 📋 |
|
||
| 扩展 | Popup 快速收藏 | 📋 |
|
||
| 应用 | 标签合并 | 📋 |
|
||
| 应用 | 标签排序 | 📋 |
|
||
| 应用 | 访问统计报表 | 📋 |
|
||
| 后台 | 趋势图表 | 📋 |
|
||
| 后台 | 数据导出 | 📋 |
|
||
|
||
### 8.4 P3 - 未来功能(后续考虑)
|
||
|
||
| 模块 | 功能 | 状态 |
|
||
|------|------|------|
|
||
| 全局 | 团队共享书签 | 📋 |
|
||
| 应用 | AI 智能分类 | 📋 |
|
||
| 应用 | 网页快照 | 📋 |
|
||
| 后端 | 第三方登录(微信/GitHub) | 📋 |
|
||
|
||
---
|
||
|
||
## 9. 非功能需求
|
||
|
||
### 9.1 性能需求
|
||
|
||
| 指标 | 要求 |
|
||
|------|------|
|
||
| 首屏加载 | < 2 秒 |
|
||
| 搜索响应 | < 500ms |
|
||
| 同步延迟 | < 1 秒 |
|
||
| 支持书签数 | 10,000+ |
|
||
|
||
### 9.2 兼容性需求
|
||
|
||
| 平台 | 版本要求 |
|
||
|------|----------|
|
||
| Chrome | 90+ |
|
||
| Edge | 90+ |
|
||
| Firefox | 88+(需适配 Manifest V2) |
|
||
|
||
### 9.3 安全需求
|
||
|
||
| 需求 | 描述 |
|
||
|------|------|
|
||
| 数据存储 | 云端服务器加密存储 |
|
||
| 传输加密 | HTTPS 传输 |
|
||
| 密码加密 | 密码使用 bcrypt/Argon2 加密存储 |
|
||
| Token 认证 | JWT Token 认证,定期刷新 |
|
||
| 权限最小化 | 扩展仅申请必要的权限 |
|
||
| 隐私保护 | 不收集用户浏览数据 |
|
||
|
||
#### 扩展所需权限说明
|
||
|
||
| 权限 | 用途 |
|
||
|------|------|
|
||
| `storage` | 存储登录状态和扩展设置 |
|
||
| `bookmarks` | 监听书签增删改事件 |
|
||
| `activeTab` | 获取当前页面信息(一键收藏) |
|
||
| `webNavigation` | 监控导航事件 |
|
||
| Content Scripts | 注入到所有页面,实现全局快捷键搜索 |
|
||
|
||
#### 后端安全要求
|
||
|
||
| 要求 | 描述 |
|
||
|------|------|
|
||
| SQL 注入防护 | 使用参数化查询 |
|
||
| XSS 防护 | 输入输出过滤 |
|
||
| CSRF 防护 | Token 验证 |
|
||
| 速率限制 | API 请求频率限制 |
|
||
| 日志审计 | 关键操作日志记录 |
|
||
|
||
### 9.4 可用性需求
|
||
|
||
| 需求 | 描述 |
|
||
|------|------|
|
||
| 离线提示 | 无网络时提示用户,缓存最近数据 |
|
||
| 响应式设计 | 适配不同屏幕尺寸 |
|
||
| 键盘操作 | 支持完整的键盘导航 |
|
||
| 无障碍 | 支持屏幕阅读器 |
|
||
| 多语言 | 预留多语言支持(后续) |
|
||
|
||
### 9.5 后端技术要求
|
||
|
||
| 项目 | 要求 |
|
||
|------|------|
|
||
| 框架 | ASP.NET Core 8+ |
|
||
| 数据库 | SQL Server 或 PostgreSQL |
|
||
| ORM | Entity Framework Core |
|
||
| 认证 | JWT Bearer Token |
|
||
| API 文档 | Swagger / OpenAPI |
|
||
| 部署 | Docker 容器化 |
|
||
|
||
---
|
||
|
||
## 附录
|
||
|
||
### A. 术语表
|
||
|
||
| 术语 | 解释 |
|
||
|------|------|
|
||
| SPA | Single Page Application,单页应用 |
|
||
| Popup | 浏览器扩展点击图标弹出的小窗口 |
|
||
| Manifest V3 | Chrome 扩展最新规范 |
|
||
| JWT | JSON Web Token,用于用户认证 |
|
||
| API | Application Programming Interface,应用程序接口 |
|
||
| 管理员设备 | 用户指定的主设备,可查看所有书签 |
|
||
| 可见性 | 书签在不同设备上的显示权限控制 |
|
||
|
||
### B. 数据模型概览
|
||
|
||
#### 用户表 (Users)
|
||
|
||
| 字段 | 类型 | 描述 |
|
||
|------|------|------|
|
||
| Id | GUID | 主键 |
|
||
| Email | string | 邮箱(唯一) |
|
||
| UserName | string | 用户名 |
|
||
| PasswordHash | string | 密码哈希 |
|
||
| Avatar | string | 头像URL |
|
||
| CreatedAt | DateTime | 创建时间 |
|
||
| LastLoginAt | DateTime | 最后登录 |
|
||
| Status | enum | 状态(正常/禁用) |
|
||
|
||
#### 设备表 (Devices)
|
||
|
||
| 字段 | 类型 | 描述 |
|
||
|------|------|------|
|
||
| Id | GUID | 主键 |
|
||
| UserId | GUID | 用户ID |
|
||
| DeviceName | string | 设备名称 |
|
||
| DeviceType | string | 设备类型 |
|
||
| IsAdmin | bool | 是否管理员设备 |
|
||
| CreatedAt | DateTime | 首次登录 |
|
||
| LastActiveAt | DateTime | 最后活跃 |
|
||
| Status | enum | 状态 |
|
||
|
||
#### 书签表 (Bookmarks)
|
||
|
||
| 字段 | 类型 | 描述 |
|
||
|------|------|------|
|
||
| Id | GUID | 主键 |
|
||
| UserId | GUID | 用户ID |
|
||
| Title | string | 标题 |
|
||
| Url | string | URL |
|
||
| Description | string | 描述 |
|
||
| Icon | string | 图标 |
|
||
| Tags | string[] | 标签数组 |
|
||
| VisitCount | int | 访问次数 |
|
||
| LastVisitTime | DateTime | 最后访问 |
|
||
| Order | long | 排序值 |
|
||
| Visibility | enum | 可见性类型 |
|
||
| AllowedDevices | GUID[] | 允许的设备ID |
|
||
| CreatedAt | DateTime | 创建时间 |
|
||
| UpdatedAt | DateTime | 更新时间 |
|
||
|
||
#### 书签可见性枚举 (Visibility)
|
||
|
||
| 值 | 描述 |
|
||
|----|------|
|
||
| Public | 所有设备可见 |
|
||
| Private | 仅管理员设备可见 |
|
||
| Specified | 仅指定设备可见 |
|
||
|
||
### C. 版本规划
|
||
|
||
| 版本 | 目标 | 状态 |
|
||
|------|------|------|
|
||
| v1.0 | MVP 功能验证(本地存储) | ✅ 已完成 |
|
||
| v2.0 | 云端存储 + 用户系统 + 设备管理 + 书签可见性控制 + 浏览器扩展同步 + 后台管理系统 | ✅ 已完成 |
|
||
| v3.0 | 增强功能(新标签页替换、全局快捷键搜索、高级统计报表) | 📋 规划中 |
|
||
|
||
### D. API 接口概览
|
||
|
||
#### 认证接口
|
||
|
||
| 接口 | 方法 | 描述 |
|
||
|------|------|------|
|
||
| /api/auth/register | POST | 用户注册 |
|
||
| /api/auth/login | POST | 用户登录 |
|
||
| /api/auth/logout | POST | 退出登录 |
|
||
| /api/auth/refresh | POST | 刷新 Token |
|
||
| /api/auth/password/reset | POST | 重置密码 |
|
||
|
||
#### 用户接口
|
||
|
||
| 接口 | 方法 | 描述 |
|
||
|------|------|------|
|
||
| /api/user/profile | GET | 获取用户信息 |
|
||
| /api/user/profile | PUT | 更新用户信息 |
|
||
|
||
#### 设备接口
|
||
|
||
| 接口 | 方法 | 描述 |
|
||
|------|------|------|
|
||
| /api/devices | GET | 获取设备列表 |
|
||
| /api/devices/{id} | PUT | 更新设备信息 |
|
||
| /api/devices/{id} | DELETE | 移除设备 |
|
||
| /api/devices/{id}/admin | PUT | 设置管理员设备 |
|
||
|
||
#### 书签接口
|
||
|
||
| 接口 | 方法 | 描述 |
|
||
|------|------|------|
|
||
| /api/bookmarks | GET | 获取书签列表(根据设备过滤可见性) |
|
||
| /api/bookmarks | POST | 新增书签 |
|
||
| /api/bookmarks/{id} | GET | 获取书签详情 |
|
||
| /api/bookmarks/{id} | PUT | 更新书签 |
|
||
| /api/bookmarks/{id} | DELETE | 删除书签 |
|
||
| /api/bookmarks/{id}/visibility | PUT | 设置可见性 |
|
||
| /api/bookmarks/batch | POST | 批量操作 |
|
||
| /api/bookmarks/import | POST | 导入书签 |
|
||
| /api/bookmarks/export | GET | 导出书签 |
|
||
|
||
#### 标签接口
|
||
|
||
| 接口 | 方法 | 描述 |
|
||
|------|------|------|
|
||
| /api/tags | GET | 获取标签列表 |
|
||
| /api/tags/{name} | PUT | 重命名标签 |
|
||
| /api/tags/{name} | DELETE | 删除标签 |
|
||
|
||
### E. 参考文档
|
||
|
||
- [Chrome 扩展开发文档](https://developer.chrome.com/docs/extensions/)
|
||
- [Chrome Override Pages](https://developer.chrome.com/docs/extensions/mv3/override/)
|
||
- [Chrome Bookmarks API](https://developer.chrome.com/docs/extensions/reference/bookmarks/)
|
||
- [ASP.NET Core 文档](https://docs.microsoft.com/aspnet/core/)
|
||
- [Entity Framework Core](https://docs.microsoft.com/ef/core/)
|
||
|
||
---
|
||
|
||
> 📝 **文档维护**: 本文档随产品迭代持续更新
|
||
|