feat: BossAi v2.0 UI/UX 重构 + 看板断点续接 + 多轮上下文
CI / 后端测试 (push) Has been cancelled
CI / 前端构建 (push) Has been cancelled

- 新增 web2/ 前端:任务卡看板、风险雷达、决策日志、我的团队、快捷指令
- ChatPanel 增强:风险卡置顶、案卡接入、起诉状向导、语音输入
- 事项看板:点击查看详情弹窗、断点续接(恢复历史对话+matterId)
- 保密模式恢复:密码验证后重建内存 session,保留多轮上下文
- 多轮对话:ask/ask-stream/ask-analyze 注入 session 历史,AI 有上下文
- 追问优化:紧扣用户问题,不再偏离主题(社保问社保,工伤问工伤)
- 对话区可滚动,输入区固定可见
- 状态机放宽:允许从任意非终态转到 pending_expert
- session 存活检查端点,后端重启后自动重建 session
- DB migration:风险推送表、案卡表

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

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
selfrelease
2026-08-31 08:38:33 +08:00
co-authored by Devin
parent 7a788bf8dc
commit 4de36547cd
88 changed files with 15237 additions and 62 deletions
+80
View File
@@ -0,0 +1,80 @@
/* BossAi 2.0 全局样式 — 主色 indigo-600(信任+专业) */
@import 'highlight.js/styles/github-dark.css';
@tailwind base;
@tailwind components;
@tailwind utilities;
@layer base {
:root {
--background: 210 20% 98%;
--foreground: 222 47% 11%;
--card: 0 0% 100%;
--card-foreground: 222 47% 11%;
--popover: 0 0% 100%;
--popover-foreground: 222 47% 11%;
/* 2.0 主色:indigo-600 */
--primary: 243 75% 59%;
--primary-foreground: 210 40% 98%;
--secondary: 210 16% 93%;
--secondary-foreground: 222 47% 11%;
--muted: 210 16% 95%;
--muted-foreground: 215 16% 47%;
--accent: 243 75% 96%;
--accent-foreground: 243 75% 40%;
--destructive: 0 84% 60%;
--destructive-foreground: 210 40% 98%;
--border: 214 20% 90%;
--input: 214 20% 90%;
--ring: 243 75% 59%;
--radius: 0.625rem;
}
.dark {
--background: 222 47% 11%;
--foreground: 210 40% 98%;
--card: 222 47% 13%;
--card-foreground: 210 40% 98%;
--popover: 222 47% 13%;
--popover-foreground: 210 40% 98%;
--primary: 243 75% 65%;
--primary-foreground: 222 47% 11%;
--secondary: 217 33% 17%;
--secondary-foreground: 210 40% 98%;
--muted: 217 33% 17%;
--muted-foreground: 215 20% 65%;
--accent: 217 33% 20%;
--accent-foreground: 210 40% 98%;
--destructive: 0 63% 31%;
--destructive-foreground: 210 40% 98%;
--border: 217 33% 20%;
--input: 217 33% 20%;
--ring: 243 75% 68%;
}
}
@layer base {
* {
@apply border-border;
}
body {
@apply bg-background text-foreground font-sans antialiased;
}
/* 移动端底部 Tab 留出空间 */
@media (max-width: 767px) {
main {
padding-bottom: 4rem;
}
}
}
/* 打印样式 */
@media print {
header, nav, .no-print, .bottom-tab, .fab {
display: none !important;
}
.card {
box-shadow: none !important;
border: 1px solid hsl(var(--border)) !important;
}
}