Files
BossAi/pmdocs/ui-components.md
T
selfreleaseandDevin 5c21e8fcd0 feat: BossAi 老板AI助手初始版本
包含功能:
- 法务参谋/经营决策/生活助理/情绪中心四大AI对话模块
- 专家咨询系统(用户选定→专家确认→咨询→回复→评价)
- 角色登录(用户/专家/管理员)+ ProtectedRoute 权限控制
- 管理后台(用户管理/专家管理/AI使用统计/专家活跃度)
- 专家工作台(待确认服务/待回复咨询/已回复咨询/服务中用户)
- 服务关系取消(用户和专家均可取消,需自己确认)
- 全页面移动端响应式适配
- 知识库RAG检索
- 对话历史(普通/保密模式)

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-08-29 23:57:26 +08:00

5.0 KiB

UI 公共组件登记表

记录 BossAi 前端可复用组件,避免重复造轮子。新增、重命名、废弃或职责变化时同步更新。 技术栈:React 18 + Vite + TypeScript + Tailwind + shadcn/ui(详见 ADR-001)

基础组件(shadcn/ui,复制即用)

组件 类型 适用场景 输入状态 输出事件 使用页面 状态
Button 基础组件 按钮交互 variant / size / disabled / asChild onClick 全部页面 稳定
Card 基础组件 内容卡片容器 className - 全部页面 稳定
Input 基础组件 单行输入 value / placeholder / disabled onChange 设置(待实现) 稳定
Textarea 基础组件 多行输入 value / placeholder onChange 法务参谋 稳定
Badge 基础组件 状态标签 variant - 全部页面 稳定
Label 基础组件 表单标签 htmlFor - 法务参谋 稳定
Separator 基础组件 分隔线 orientation - 通用 稳定
ScrollArea 基础组件 滚动区域 className - 通用 稳定
Select 基础组件 下拉选择 value / onValueChange onValueChange 预留 稳定
Dialog 基础组件 弹窗/二次确认 open / onOpenChange onOpenChange 法务参谋(销毁确认) 稳定
Toaster(sonner) 基础组件 全局 toast 反馈 position - 全局(AppLayout) 稳定

布局组件

组件 类型 适用场景 输入状态 输出事件 使用页面 状态
AppLayout 布局组件 应用主框架(Sidebar+Header+内容) - - 全部页面(路由出口) 稳定
Sidebar 布局组件 左侧导航(w-60 sticky) - NavLink 跳转 全部页面 稳定
Header 布局组件 顶部栏(h-14 sticky,移动端含抽屉) nav(移动端导航内容) - 全部页面 稳定
MobileNav 布局组件 移动端抽屉导航 - NavLink 跳转 Header 抽屉 稳定
PageLayout 布局组件 页面骨架(标题+描述+操作区+内容) title / description / actions / children - 全部页面 稳定

领域/组合组件

组件 类型 适用场景 输入状态 输出事件 使用页面 状态
StatusBadge 组合组件 风险等级徽章 level(green/amber/orange/red) - 驾驶舱、法务参谋 稳定
RiskCardView 领域组件 风险卡片(等级+结论+行动+证据+升级) card(RiskCard) / answer / model / onEscalate onEscalate 法务参谋 稳定
EmptyState 组合组件 空数据状态 title / description / icon / action - 法务参谋、占位页 稳定
LoadingState 组合组件 加载状态 label - 通用(预留) 稳定
ErrorState 组合组件 错误状态(带重试) message / onRetry onRetry 驾驶舱 稳定
ChatPanel 领域组件 通用对话面板(会话/提问/风险卡/上传/急停/工单升级) scene / samples / modes / defaultMode / emotionMode / modeSelector / showRiskCard / enableUpload 内部状态 + 工单创建 法务参谋、经营决策、生活助理、情绪中心 稳定
OfflineIndicator 基础组件 全局离线提示条(网络断开时显示) - - 全局(AppLayout) 稳定
Markdown 基础组件 AI 回复 Markdown 渲染(GFM+代码高亮+流式光标) content / streaming / className - ChatPanel、RiskCardView 稳定
TicketDetail 领域组件 工单详情弹窗(状态/分配/处理结果) ticket / onClose / onUpdate onUpdate 复核工单 稳定

待沉淀组件(后续迭代)

组件 类型 适用场景 触发条件 状态
DataTable 基础组件 列表/表格 待办台账、合同列表页实现时 待开发
Pagination 基础组件 分页 列表数据超过单页时 待开发
FilterBar 组合组件 筛选栏 风险台账、合同管理页实现时 待开发
TimeRangePicker 组合组件 时间范围筛选 数据看板、历史查询实现时 待开发
ConfirmDialog 组合组件 通用二次确认 当前法务参谋用内联 Dialog,出现 2+ 处时抽取 待观察
SessionModePicker 领域组件 隐私会话模式选择 已内联于 ChatPanel,情绪中心实现时抽取 已内联
ToggleRow 组合组件 设置开关行 icon / title / desc / defaultOn / danger onClick

设计 Token 约定

  • 主色:--primary (gray-900 系),通过 CSS 变量,禁硬编码 hex
  • 风险色:risk-green/amber/orange/red(Tailwind 语义类)
  • 状态色三件套:emerald(success) / amber(warning) / rose(destructive)
  • 圆角:--radius: 0.625rem
  • 字体:Geist → system-ui 回退
  • 容器:container mx-auto max-w-7xl px-4