426 lines
12 KiB
Markdown
426 lines
12 KiB
Markdown
# 🎯 全站操作按钮梳理文档
|
|
|
|
## 📋 目录
|
|
- [首页 (/)](#首页-)
|
|
- [成员列表 (/members)](#成员列表-members)
|
|
- [成员详情 (/members/[id])](#成员详情-membersid)
|
|
- [新增成员 (/members/new)](#新增成员-membersnew)
|
|
- [族谱图 (/tree)](#族谱图-tree)
|
|
- [大事记 (/timeline)](#大事记-timeline)
|
|
- [关系计算 (/relationship)](#关系计算-relationship)
|
|
- [系统设置 (/settings)](#系统设置-settings)
|
|
- [登录注册 (/auth)](#登录注册-auth)
|
|
- [创建家族树 (/trees/new)](#创建家族树-treesnew)
|
|
- [全局导航 (SiteHeader)](#全局导航-siteheader)
|
|
|
|
---
|
|
|
|
## 首页 (/)
|
|
|
|
### 主要操作按钮
|
|
|
|
| 按钮名称 | 图标 | 样式 | 权限要求 | 功能说明 | 位置 |
|
|
|---------|------|------|---------|---------|------|
|
|
| **添加成员** | `UserPlus` | `primary` | OWNER/EDITOR | 跳转到新增成员页面 | 顶部右侧 |
|
|
| **查看全部** | `ArrowRight` | `ghost` | 所有用户 | 跳转到成员列表页面 | 成员卡片区域 |
|
|
|
|
### 卡片操作
|
|
|
|
| 操作 | 触发方式 | 功能 |
|
|
|-----|---------|------|
|
|
| 查看成员详情 | 点击成员卡片 | 跳转到成员详情页 |
|
|
| 查看族谱图 | 点击"查看族谱图"按钮 | 跳转到族谱图页面 |
|
|
|
|
---
|
|
|
|
## 成员列表 (/members)
|
|
|
|
### 顶部操作栏
|
|
|
|
| 按钮名称 | 图标 | 样式 | 快捷键 | 功能说明 |
|
|
|---------|------|------|--------|---------|
|
|
| **筛选** | `Filter` | `outline/secondary` | - | 显示/隐藏高级筛选面板 |
|
|
| **新增成员** | `Plus` | `primary` | - | 跳转到新增成员页面 |
|
|
|
|
### 筛选面板
|
|
|
|
| 按钮名称 | 图标 | 样式 | 功能说明 |
|
|
|---------|------|------|---------|
|
|
| **重置筛选** | `X` | `ghost` | 清除所有筛选条件 |
|
|
|
|
### 成员卡片操作
|
|
|
|
| 按钮名称 | 图标 | 样式 | 显示方式 | 功能说明 |
|
|
|---------|------|------|---------|---------|
|
|
| **在族谱图中定位** | `Search` | `ghost` | hover显示 | 在族谱图中定位该成员 |
|
|
|
|
### 筛选器
|
|
|
|
| 筛选器类型 | 选项 | 说明 |
|
|
|-----------|------|------|
|
|
| 姓氏 | 下拉选择 | 按姓氏筛选 |
|
|
| 籍贯 | 下拉选择 | 按籍贯筛选 |
|
|
| 状态 | 全部/在世/已故 | 按生存状态筛选 |
|
|
| 世系范围 | 滑块 | 按世代范围筛选 |
|
|
|
|
---
|
|
|
|
## 成员详情 (/members/[id])
|
|
|
|
### 顶部操作栏
|
|
|
|
| 按钮名称 | 图标 | 样式 | 权限要求 | 功能说明 |
|
|
|---------|------|------|---------|---------|
|
|
| **返回** | `ArrowLeft` | `ghost` | 所有用户 | 返回上一页 |
|
|
|
|
### 主要操作按钮
|
|
|
|
| 按钮名称 | 图标 | 样式 | 权限要求 | 功能说明 |
|
|
|---------|------|------|---------|---------|
|
|
| **添加父亲** | `UserPlus` | `outline` | OWNER/EDITOR | 快速添加父亲(条件显示) |
|
|
| **添加母亲** | `UserPlus` | `outline` | OWNER/EDITOR | 快速添加母亲(条件显示) |
|
|
| **添加子女** | `UserPlus` | `default` | OWNER/EDITOR | 快速添加子女 |
|
|
| **添加配偶** | `UserPlus` | `secondary` | OWNER/EDITOR | 快速添加配偶 |
|
|
| **打印** | `Printer` | `outline` | 所有用户 | 打印成员信息 |
|
|
| **分享** | `Share2` | `outline` | 所有用户 | 分享成员信息 |
|
|
| **编辑** | `Edit` | `outline` | OWNER/EDITOR | 进入编辑模式 |
|
|
| **删除** | `Trash` | `destructive` | OWNER/EDITOR | 删除成员(需确认) |
|
|
|
|
### 编辑模式
|
|
|
|
| 按钮名称 | 图标 | 样式 | 功能说明 |
|
|
|---------|------|------|---------|
|
|
| **返回** | `ArrowLeft` | `ghost` | 退出编辑模式 |
|
|
| **取消** | - | `outline` | 取消编辑,返回详情页 |
|
|
| **保存** | - | `primary` | 保存修改 |
|
|
|
|
### 条件显示逻辑
|
|
|
|
- **添加父亲**: 仅当成员没有父亲时显示
|
|
- **添加母亲**: 仅当成员没有母亲时显示
|
|
- **添加子女**: 始终显示
|
|
- **添加配偶**: 始终显示
|
|
|
|
---
|
|
|
|
## 新增成员 (/members/new)
|
|
|
|
### 顶部操作栏
|
|
|
|
| 按钮名称 | 图标 | 样式 | 功能说明 |
|
|
|---------|------|------|---------|
|
|
| **返回** | `ArrowLeft` | `ghost` | 返回上一页 |
|
|
|
|
### 表单操作
|
|
|
|
| 按钮名称 | 样式 | 位置 | 功能说明 |
|
|
|---------|------|------|---------|
|
|
| **取消** | `outline` | 底部左侧 | 取消新增,返回上一页 |
|
|
| **保存** | `primary` | 底部右侧 | 保存新成员 |
|
|
|
|
---
|
|
|
|
## 族谱图 (/tree)
|
|
|
|
### 顶部工具栏
|
|
|
|
| 按钮名称 | 图标 | 样式 | 功能说明 |
|
|
|---------|------|------|---------|
|
|
| **关系查询** | `Users` | `default/secondary` | 切换关系查询模式 |
|
|
| **视图模式** | `LayoutGrid` | `outline` | 切换视图模式(下拉菜单) |
|
|
| **放大** | `ZoomIn` | `outline` | 放大族谱图 |
|
|
| **缩小** | `ZoomOut` | `outline` | 缩小族谱图 |
|
|
| **重置** | `Move` | `outline` | 重置视图位置和缩放 |
|
|
| **导出图片** | `Download` | `outline` | 导出族谱图为图片 |
|
|
|
|
### 视图模式选项
|
|
|
|
| 模式名称 | 说明 |
|
|
|---------|------|
|
|
| 传统视图 | 传统的树状布局 |
|
|
| D3组织图 | 使用D3.js的组织图布局 |
|
|
|
|
### 关系查询模式
|
|
|
|
| 状态 | 说明 | 操作 |
|
|
|-----|------|------|
|
|
| 未激活 | 正常浏览模式 | 点击"关系查询"按钮激活 |
|
|
| 激活 | 选择两个成员计算关系 | 依次点击两个成员 |
|
|
| 结果显示 | 弹出对话框显示关系 | 点击"关闭"或"继续查询" |
|
|
|
|
### 对话框按钮
|
|
|
|
| 按钮名称 | 样式 | 功能说明 |
|
|
|---------|------|---------|
|
|
| **关闭** | `outline` | 关闭对话框 |
|
|
| **继续查询** | `default` | 关闭对话框并保持查询模式 |
|
|
|
|
---
|
|
|
|
## 大事记 (/timeline)
|
|
|
|
### 标签切换
|
|
|
|
| 标签名称 | 内容 |
|
|
|---------|------|
|
|
| 时间线 | 按时间顺序显示事件 |
|
|
| 迁徙记录 | 显示家族迁徙地图 |
|
|
|
|
### 操作
|
|
|
|
| 操作 | 触发方式 | 功能 |
|
|
|-----|---------|------|
|
|
| 查看成员详情 | 点击事件中的成员名称 | 跳转到成员详情页 |
|
|
| 查看地图 | 切换到"迁徙记录"标签 | 显示迁徙地图 |
|
|
|
|
---
|
|
|
|
## 关系计算 (/relationship)
|
|
|
|
### 主要操作
|
|
|
|
| 按钮名称 | 样式 | 功能说明 |
|
|
|---------|------|---------|
|
|
| **计算关系** | `default` | 计算两个成员之间的关系 |
|
|
| **清除** | `outline` | 清除选择 |
|
|
| **交换** | `ghost` | 交换两个成员的位置 |
|
|
|
|
### 成员选择
|
|
|
|
| 选择器 | 说明 |
|
|
|-------|------|
|
|
| 成员A | 下拉选择第一个成员 |
|
|
| 成员B | 下拉选择第二个成员 |
|
|
|
|
---
|
|
|
|
## 系统设置 (/settings)
|
|
|
|
### 用户信息卡片
|
|
|
|
| 按钮名称 | 样式 | 功能说明 |
|
|
|---------|------|---------|
|
|
| **修改密码** | `outline` | 打开修改密码对话框 |
|
|
|
|
### 数据管理
|
|
|
|
| 按钮名称 | 图标 | 样式 | 功能说明 |
|
|
|---------|------|------|---------|
|
|
| **导出数据** | `Download` | `outline` | 导出家族树数据为JSON |
|
|
| **导入数据** | `Upload` | `outline` | 导入JSON数据 |
|
|
| **导出GEDCOM** | `FileText` | `outline` | 导出为GEDCOM格式 |
|
|
| **导入GEDCOM** | `Upload` | `outline` | 导入GEDCOM文件 |
|
|
| **清空数据** | `AlertTriangle` | `destructive` | 清空所有数据(需确认) |
|
|
|
|
### 操作日志
|
|
|
|
| 按钮名称 | 图标 | 样式 | 功能说明 |
|
|
|---------|------|------|---------|
|
|
| **刷新** | `RefreshCw` | `outline` | 刷新日志列表 |
|
|
| **清空日志** | `Trash` | `destructive` | 清空所有日志(需确认) |
|
|
|
|
### 修改密码对话框
|
|
|
|
| 按钮名称 | 样式 | 功能说明 |
|
|
|---------|------|---------|
|
|
| **取消** | `outline` | 关闭对话框 |
|
|
| **确认修改** | `default` | 提交密码修改 |
|
|
|
|
---
|
|
|
|
## 登录注册 (/auth)
|
|
|
|
### 登录页面 (/auth/signin)
|
|
|
|
| 按钮名称 | 样式 | 功能说明 |
|
|
|---------|------|---------|
|
|
| **登录** | `default` | 提交登录表单 |
|
|
| **注册账号** | `link` | 跳转到注册页面 |
|
|
|
|
### 注册页面 (/auth/register)
|
|
|
|
| 按钮名称 | 样式 | 功能说明 |
|
|
|---------|------|---------|
|
|
| **注册** | `default` | 提交注册表单 |
|
|
| **已有账号?登录** | `link` | 跳转到登录页面 |
|
|
|
|
---
|
|
|
|
## 创建家族树 (/trees/new)
|
|
|
|
### 表单操作
|
|
|
|
| 按钮名称 | 图标 | 样式 | 功能说明 |
|
|
|---------|------|------|---------|
|
|
| **返回** | `ArrowLeft` | `ghost` | 返回首页 |
|
|
| **取消** | - | `outline` | 取消创建 |
|
|
| **创建** | - | `primary` | 创建新家族树 |
|
|
|
|
---
|
|
|
|
## 全局导航 (SiteHeader)
|
|
|
|
### 主导航
|
|
|
|
| 导航项 | 路径 | 说明 |
|
|
|-------|------|------|
|
|
| 总览 | `/` | 首页 |
|
|
| 族谱 | `/tree` | 族谱图 |
|
|
| 成员 | `/members` | 成员列表 |
|
|
| 大事记 | `/timeline` | 时间线 |
|
|
|
|
### 顶部操作栏
|
|
|
|
| 按钮名称 | 图标 | 样式 | 功能说明 |
|
|
|---------|------|------|---------|
|
|
| **搜索** | `Search` | 输入框 | 全局搜索成员 |
|
|
| **通知** | `Bell` | `ghost` | 查看通知(未实现) |
|
|
| **关系计算器** | `Calculator` | `ghost` | 跳转到关系计算页面 |
|
|
| **设置** | `Settings` | `ghost` | 跳转到系统设置 |
|
|
| **用户菜单** | `Avatar` | 下拉菜单 | 用户信息和退出登录 |
|
|
|
|
### 家族树选择器
|
|
|
|
| 按钮名称 | 图标 | 样式 | 功能说明 |
|
|
|---------|------|------|---------|
|
|
| **当前家族树** | `ChevronDown` | `outline` | 显示家族树列表 |
|
|
| **创建新家族树** | `Plus` | 菜单项 | 跳转到创建页面 |
|
|
| **删除家族树** | `Trash2` | `ghost` | 删除家族树(仅所有者) |
|
|
|
|
### 用户下拉菜单
|
|
|
|
| 菜单项 | 图标 | 功能说明 |
|
|
|-------|------|---------|
|
|
| **系统设置** | `Settings` | 跳转到设置页面 |
|
|
| **退出登录** | `LogOut` | 退出当前账号 |
|
|
|
|
---
|
|
|
|
## 📊 按钮统计
|
|
|
|
### 按样式分类
|
|
|
|
| 样式 | 数量 | 用途 |
|
|
|-----|------|------|
|
|
| `primary` | 8 | 主要操作(保存、创建、新增等) |
|
|
| `outline` | 25+ | 次要操作(编辑、导出、返回等) |
|
|
| `ghost` | 15+ | 辅助操作(返回、搜索、刷新等) |
|
|
| `destructive` | 5 | 危险操作(删除、清空等) |
|
|
| `secondary` | 3 | 次要强调操作 |
|
|
| `link` | 2 | 链接样式按钮 |
|
|
|
|
### 按功能分类
|
|
|
|
| 功能类别 | 按钮数量 | 主要按钮 |
|
|
|---------|---------|---------|
|
|
| **导航** | 10+ | 返回、跳转、查看全部 |
|
|
| **CRUD操作** | 15+ | 新增、编辑、删除、保存 |
|
|
| **数据管理** | 8 | 导入、导出、清空 |
|
|
| **视图控制** | 6 | 放大、缩小、重置、切换视图 |
|
|
| **关系查询** | 4 | 关系查询、计算关系、清除 |
|
|
| **用户操作** | 5 | 登录、注册、修改密码、退出 |
|
|
|
|
### 按权限分类
|
|
|
|
| 权限级别 | 可用按钮 |
|
|
|---------|---------|
|
|
| **所有用户** | 查看、搜索、打印、分享、导出 |
|
|
| **EDITOR** | 新增、编辑、删除成员 |
|
|
| **OWNER** | 所有操作 + 删除家族树、管理协作者 |
|
|
|
|
---
|
|
|
|
## 🎨 设计规范
|
|
|
|
### 按钮尺寸
|
|
|
|
| 尺寸 | 使用场景 |
|
|
|-----|---------|
|
|
| `sm` | 辅助操作、图标按钮 |
|
|
| `default` | 常规操作 |
|
|
| `lg` | 主要操作(未使用) |
|
|
|
|
### 图标使用
|
|
|
|
| 图标库 | 使用率 |
|
|
|-------|--------|
|
|
| Lucide React | 100% |
|
|
|
|
### 常用图标
|
|
|
|
| 图标 | 用途 | 使用次数 |
|
|
|-----|------|---------|
|
|
| `Plus` / `UserPlus` | 新增操作 | 10+ |
|
|
| `ArrowLeft` | 返回 | 8 |
|
|
| `Edit` | 编辑 | 5 |
|
|
| `Trash` / `Trash2` | 删除 | 5 |
|
|
| `Download` | 导出/下载 | 4 |
|
|
| `Upload` | 导入/上传 | 3 |
|
|
| `Search` | 搜索 | 3 |
|
|
|
|
---
|
|
|
|
## 🔍 优化建议
|
|
|
|
### 高优先级
|
|
|
|
1. **统一确认对话框**
|
|
- 所有删除操作应使用统一的确认对话框
|
|
- 建议使用 `AlertDialog` 组件
|
|
|
|
2. **加载状态**
|
|
- 为异步操作添加加载状态
|
|
- 使用 `loading` 属性或 `Spinner` 组件
|
|
|
|
3. **禁用状态**
|
|
- 根据权限自动禁用按钮
|
|
- 添加 `disabled` 状态和提示
|
|
|
|
4. **快捷键支持**
|
|
- 为常用操作添加快捷键
|
|
- 如:Ctrl+S 保存,Esc 取消
|
|
|
|
### 中优先级
|
|
|
|
5. **批量操作**
|
|
- 成员列表添加批量选择
|
|
- 支持批量删除、导出
|
|
|
|
6. **撤销/重做**
|
|
- 为编辑操作添加撤销功能
|
|
- 特别是删除操作
|
|
|
|
7. **操作反馈**
|
|
- 添加 Toast 提示
|
|
- 操作成功/失败的明确反馈
|
|
|
|
### 低优先级
|
|
|
|
8. **按钮分组**
|
|
- 相关按钮使用 `ButtonGroup` 组件
|
|
- 提高视觉层次
|
|
|
|
9. **响应式优化**
|
|
- 移动端按钮大小调整
|
|
- 使用下拉菜单收纳次要操作
|
|
|
|
10. **国际化**
|
|
- 按钮文本支持多语言
|
|
- 图标 + 文本的组合
|
|
|
|
---
|
|
|
|
## 📝 维护记录
|
|
|
|
| 日期 | 更新内容 | 更新人 |
|
|
|------|---------|--------|
|
|
| 2025-11-23 | 初始版本,梳理全站按钮 | System |
|
|
|
|
---
|
|
|
|
## 🔗 相关文档
|
|
|
|
- [组件库文档](../components/ui/README.md)
|
|
- [权限系统文档](./PERMISSIONS.md)
|
|
- [用户体验指南](./UX_GUIDELINES.md)
|