feat(aia): Complete AIA V2.0 with universal streaming capabilities
Major Changes: - Add StreamingService with OpenAI Compatible format - Upgrade Chat component V2 with Ant Design X integration - Implement AIA module with 12 intelligent agents - Update API routes to unified /api/v1 prefix - Update system documentation Backend (~1300 lines): - common/streaming: OpenAI Compatible adapter - modules/aia: 12 agents, conversation service, streaming integration - Update route versions (RVW, PKB to v1) Frontend (~3500 lines): - modules/aia: AgentHub + ChatWorkspace (100% prototype restoration) - shared/Chat: AIStreamChat, ThinkingBlock, useAIStream Hook - Update API endpoints to v1 Documentation: - AIA module status guide - Universal capabilities catalog - System overview updates - All module documentation sync Tested: Stream response verified, authentication working Status: AIA V2.0 core completed (85%)
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
# PKB前端精细化优化报告
|
||||
# PKB<EFBFBD>滨垢蝎曄<EFBFBD><EFBFBD>碶<EFBFBD><EFBFBD>𡝗𥁒<EFBFBD>?
|
||||
|
||||
## <20><> 隡睃<E99AA1>璁<EFBFBD><E79281>
|
||||
|
||||
**隡睃<E99AA1><E79D83>園𡢿**: 2026-01-06
|
||||
**优化依据**: `与原型图的差距.md` 文档
|
||||
**优化目标**: 提升产品精致度,100%还原设计稿
|
||||
**优化状态**: ✅ **已完成**
|
||||
**隡睃<EFBFBD>靘脲旿**: `銝𤾸<EFBFBD><EFBFBD>见㦛<EFBFBD><EFBFBD>榆頝?md` <EFBFBD><EFBFBD>﹝
|
||||
**隡睃<EFBFBD><EFBFBD>格<EFBFBD>**: <EFBFBD>𣂼<EFBFBD>鈭批<EFBFBD>蝎曇稲摨佗<EFBFBD>100%餈睃<E9A488>霈曇恣蝔?
|
||||
**隡睃<EFBFBD><EFBFBD>嗆<EFBFBD>?*: <20>?**撌脣<E6928C><E884A3>?*
|
||||
|
||||
---
|
||||
|
||||
@@ -13,50 +13,50 @@
|
||||
|
||||
<EFBFBD>寞旿撌株<EFBFBD><EFBFBD><EFBFBD>﹝嚗䔶蜓閬<EFBFBD>䔮憸㗛<EFBFBD>銝剖銁隞乩<EFBFBD>4銝芣䲮<EFBFBD>g<EFBFBD>
|
||||
|
||||
### 1. 总体布局与间距
|
||||
- ❌ 页面边距过窄或不一致
|
||||
- ❌ 卡片/区块间距过小
|
||||
- ❌ 内容贴边,缺乏呼吸感
|
||||
### 1. <EFBFBD>颱<EFBFBD>撣<EFBFBD><EFBFBD>銝𡡞𡢿頝?
|
||||
- <EFBFBD>?憿菟𢒰颲寡<E9A2B2>餈<EFBFBD><E9A488><EFBFBD>碶<EFBFBD>銝<EFBFBD><E98A9D>?
|
||||
- <EFBFBD>?<3F>∠<EFBFBD>/<2F>箏<EFBFBD><E7AE8F>渲<EFBFBD>餈<EFBFBD><E9A488>
|
||||
- <EFBFBD>?<3F><>捆韐渲器嚗𣬚撩銋誩鐤<E8AAA9>豢<EFBFBD>
|
||||
|
||||
### 2. 字体与排版
|
||||
- ❌ 标题字重不足
|
||||
- ❌ 辅助文字颜色过深
|
||||
- ❌ 行高过密
|
||||
### 2. 摮𦯀<EFBFBD>銝擧<EFBFBD><EFBFBD>?
|
||||
- <EFBFBD>?<3F><><EFBFBD>摮烾<E691AE>銝滩雲
|
||||
- <EFBFBD>?颲<>𨭌<EFBFBD><F0A8AD8C><EFBFBD>憸𡏭𠧧餈<F0A0A7A7>楛
|
||||
- <EFBFBD>?銵屸<E98AB5>餈<EFBFBD><E9A488>
|
||||
|
||||
### 3. 组件与视觉样式
|
||||
- ❌ 圆角不统一
|
||||
- ❌ 缺少轻微阴影
|
||||
- ❌ 边框颜色过深
|
||||
### 3. 蝏<EFBFBD>辣銝舘<EFBFBD>閫㗇甅撘?
|
||||
- <EFBFBD>?<3F><><EFBFBD>銝滨<E98A9D>銝<EFBFBD>
|
||||
- <EFBFBD>?蝻箏<E89DBB>頧餃凝<E9A483>游蔣
|
||||
- <EFBFBD>?颲寞<E9A2B2>憸𡏭𠧧餈<F0A0A7A7>楛
|
||||
|
||||
### 4. 撖潸⏛銝𡡞▲<F0A1A19E>冽<EFBFBD>
|
||||
- ❌ 顶部栏高度不足
|
||||
- ❌ 标题未垂直居中
|
||||
- <EFBFBD>?憿園<E686BF><E59C92>誯<EFBFBD>摨虫<E691A8>頞?
|
||||
- <EFBFBD>?<3F><><EFBFBD><EFBFBD>芸<EFBFBD><E88AB8>游<EFBFBD>銝?
|
||||
|
||||
---
|
||||
|
||||
## ✅ 优化实施详情
|
||||
## <EFBFBD>?隡睃<E99AA1>摰墧鴌霂行<E99C82>
|
||||
|
||||
### 1️⃣ 字体与排版优化
|
||||
### 1儭謿<EFBFBD> 摮𦯀<E691AE>銝擧<E98A9D><E693A7><EFBFBD><EFBFBD><EFBFBD>?
|
||||
|
||||
#### <20><><EFBFBD>摮烾<E691AE><E783BE>删<EFBFBD>
|
||||
```tsx
|
||||
// 修改前
|
||||
// 靽格㺿<EFBFBD>?
|
||||
<span className="font-bold text-slate-800"><EFBFBD>箄<EFBFBD><EFBFBD>桃<EFBFBD></span>
|
||||
|
||||
// 修改后
|
||||
// 靽格㺿<EFBFBD>?
|
||||
<span className="font-semibold text-slate-800 text-sm"><EFBFBD>箄<EFBFBD><EFBFBD>桃<EFBFBD></span>
|
||||
```
|
||||
|
||||
**改进点**:
|
||||
- `font-bold` (700) → `font-semibold` (600):更协调
|
||||
- 统一字号为 `text-sm` (14px)
|
||||
**<EFBFBD>寡<EFBFBD><EFBFBD>?*:
|
||||
- `font-bold` (700) <EFBFBD>?`font-semibold` (600)嚗𡁏凒<EFBFBD>讛<EFBFBD>
|
||||
- 蝏煺<EFBFBD>摮堒噡銝?`text-sm` (14px)
|
||||
|
||||
#### 颲<>𨭌<EFBFBD><F0A8AD8C><EFBFBD>憸𡏭𠧧隡睃<E99AA1>
|
||||
```tsx
|
||||
// 修改前
|
||||
// 靽格㺿<EFBFBD>?
|
||||
<div className="text-xs text-gray-500 ml-6 mt-1">
|
||||
|
||||
// 修改后
|
||||
// 靽格㺿<EFBFBD>?
|
||||
<div className="text-xs text-slate-500 ml-6 leading-relaxed">
|
||||
```
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
```tsx
|
||||
// 瘛餃<E7989B> leading-relaxed (line-height: 1.625)
|
||||
<p className="text-sm text-slate-500 mt-1.5 leading-relaxed">
|
||||
管理该知识库下的所有文件,查看 MinerU 解析状态
|
||||
蝞∠<EFBFBD>霂亦䰻霂<EFBFBD><EFBFBD>銝讠<EFBFBD><EFBFBD><EFBFBD><EFBFBD>㗇<EFBFBD>隞塚<EFBFBD><EFBFBD>亦<EFBFBD> MinerU 閫<EFBFBD><EFBFBD><EFBFBD>嗆<EFBFBD>?
|
||||
</p>
|
||||
```
|
||||
|
||||
@@ -80,42 +80,42 @@
|
||||
|
||||
#### <20>典<EFBFBD>摰孵膥<E5ADB5>渲<EFBFBD>
|
||||
```tsx
|
||||
// 修改前
|
||||
// 靽格㺿<EFBFBD>?
|
||||
<div className="p-3 border-b border-gray-100 flex-shrink-0">
|
||||
|
||||
// 修改后
|
||||
// 靽格㺿<EFBFBD>?
|
||||
<div className="px-5 py-4 border-b border-gray-100 flex-shrink-0 bg-white">
|
||||
```
|
||||
|
||||
**<EFBFBD><EFBFBD><EFBFBD><EFBFBD>渲<EFBFBD>閫<EFBFBD><EFBFBD>**:
|
||||
| <20>箸艶 | 瘞游像padding | <20><>凒padding |
|
||||
|------|------------|------------|
|
||||
| 工作模式选择器 | px-5 (20px) | py-4 (16px) |
|
||||
| Alert提示框 | px-6 (24px) | py-5 (20px) |
|
||||
| Chat内容区 | px-6 (24px) | py-4 (16px) |
|
||||
| 知识资产页 | p-6 (24px) | - |
|
||||
| 撌乩<EFBFBD>璅∪<EFBFBD><EFBFBD>㗇𥋘<EFBFBD>?| px-5 (20px) | py-4 (16px) |
|
||||
| Alert<EFBFBD>鞟內獢?| px-6 (24px) | py-5 (20px) |
|
||||
| Chat<EFBFBD><EFBFBD>捆<EFBFBD>?| px-6 (24px) | py-4 (16px) |
|
||||
| <EFBFBD>亥<EFBFBD>韏<EFBFBD>漣憿?| p-6 (24px) | - |
|
||||
|
||||
#### <20>∠<EFBFBD><E288A0>渲<EFBFBD>隡睃<E99AA1>
|
||||
```tsx
|
||||
// Radio.Group<75>渲<EFBFBD>
|
||||
<Radio.Group className="w-full space-y-4"> {/* space-y-3 → space-y-4 */}
|
||||
<Radio.Group className="w-full space-y-4"> {/* space-y-3 <EFBFBD>?space-y-4 */}
|
||||
```
|
||||
|
||||
**<EFBFBD>渲<EFBFBD><EFBFBD><EFBFBD><EFBFBD>**:
|
||||
- `space-y-4`: 16px嚗㇌adio<69>厰★<E58EB0>湛<EFBFBD>
|
||||
- `mb-5`: 20px(页面区块间)
|
||||
- `mb-5`: 20px嚗<EFBFBD>△<EFBFBD>W躹<EFBFBD>烾𡢿嚗?
|
||||
- `mt-1.5`: 6px嚗<78><E59A97>憸䀝<E686B8><E4809D>讛膩<E8AE9B>湛<EFBFBD>
|
||||
|
||||
---
|
||||
|
||||
### 3️⃣ 边框与圆角优化
|
||||
### 3儭謿<EFBFBD> 颲寞<E9A2B2>銝𤾸<E98A9D>閫雴<E996AB><E99BB4>?
|
||||
|
||||
#### 颲寞<E9A2B2>憸𡏭𠧧靚<F0A0A7A7>楚
|
||||
```tsx
|
||||
// 修改前
|
||||
// 靽格㺿<EFBFBD>?
|
||||
border-gray-200 // #E5E7EB
|
||||
|
||||
// 修改后
|
||||
// 靽格㺿<EFBFBD>?
|
||||
border-gray-100 // #F3F4F6
|
||||
```
|
||||
|
||||
@@ -131,13 +131,13 @@ border-gray-100 // #F3F4F6
|
||||
```
|
||||
|
||||
**<EFBFBD><EFBFBD><EFBFBD>閫<EFBFBD><EFBFBD>**:
|
||||
| 组件 | 圆角值 | Class |
|
||||
| 蝏<EFBFBD>辣 | <20><><EFBFBD><EFBFBD>?| Class |
|
||||
|------|--------|-------|
|
||||
| <20>∠<EFBFBD>/<2F>X踎 | 8px | `rounded-lg` |
|
||||
| <20>厰僼 | 8px | `rounded-lg` |
|
||||
| 输入框 | 12px | `rounded-xl` |
|
||||
| 颲枏<EFBFBD>獢?| 12px | `rounded-xl` |
|
||||
| 憭游<E686AD>/<2F>暹<EFBFBD>摰孵膥 | 8px | `rounded-lg` |
|
||||
| 状态徽章 | 6px | `rounded-md` |
|
||||
| <EFBFBD>嗆<EFBFBD><EFBFBD>噬蝡?| 6px | `rounded-md` |
|
||||
|
||||
---
|
||||
|
||||
@@ -163,15 +163,15 @@ shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1) /* 中等阴影 */
|
||||
|
||||
### 5儭謿<E584AD> Tab撖潸⏛隡睃<E99AA1>
|
||||
|
||||
#### 高度和间距精调
|
||||
#### 擃睃漲<EFBFBD>屸𡢿頝萘移靚?
|
||||
```tsx
|
||||
// 修改前
|
||||
// 靽格㺿<EFBFBD>?
|
||||
<div className="... px-6 flex items-center shadow-sm z-20 h-14 flex-shrink-0">
|
||||
<div className="flex space-x-8 h-full">
|
||||
|
||||
// 修改后
|
||||
// 靽格㺿<EFBFBD>?
|
||||
<div className="... px-6 flex items-center z-20 h-12 flex-shrink-0">
|
||||
<div className="flex space-x-6 h-full"> {/* space-x-8 → space-x-6 */}
|
||||
<div className="flex space-x-6 h-full"> {/* space-x-8 <EFBFBD>?space-x-6 */}
|
||||
```
|
||||
|
||||
**Tab閫<62><E996AB>**:
|
||||
@@ -183,15 +183,15 @@ shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1) /* 中等阴影 */
|
||||
|
||||
---
|
||||
|
||||
### 6️⃣ 工作模式选择器优化
|
||||
### 6儭謿<EFBFBD> 撌乩<E6928C>璅∪<E79285><E288AA>㗇𥋘<E39787>其<EFBFBD><E585B6>?
|
||||
|
||||
#### Collapse组件精细化
|
||||
#### Collapse蝏<EFBFBD>辣蝎曄<EFBFBD><EFBFBD>?
|
||||
```tsx
|
||||
// 修改前
|
||||
// 靽格㺿<EFBFBD>?
|
||||
<Collapse className="mb-4 bg-white border border-gray-200 rounded-xl shadow-sm">
|
||||
<Collapse.Panel header={<div className="font-bold text-slate-800"><EFBFBD><EFBFBD> 撌乩<EFBFBD>璅∪<EFBFBD></div>}>
|
||||
|
||||
// 修改后
|
||||
// 靽格㺿<EFBFBD>?
|
||||
<Collapse className="bg-white border border-gray-100 rounded-lg shadow-sm" bordered={false}>
|
||||
<Collapse.Panel header={
|
||||
<div className="font-semibold text-slate-800 text-sm flex items-center">
|
||||
@@ -201,10 +201,10 @@ shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1) /* 中等阴影 */
|
||||
}>
|
||||
```
|
||||
|
||||
**改进点**:
|
||||
- 边框颜色:`border-gray-200` → `border-gray-100`
|
||||
- 圆角:`rounded-xl` → `rounded-lg`
|
||||
- 标题字重:`font-bold` → `font-semibold`
|
||||
**<EFBFBD>寡<EFBFBD><EFBFBD>?*:
|
||||
- 颲寞<EFBFBD>憸𡏭𠧧嚗䫤border-gray-200` <20>?`border-gray-100`
|
||||
- <EFBFBD><EFBFBD><EFBFBD>嚗䫤rounded-xl` <20>?`rounded-lg`
|
||||
- <EFBFBD><EFBFBD><EFBFBD>摮烾<EFBFBD>嚗䫤font-bold` <20>?`font-semibold`
|
||||
- 瘛餃<E7989B> `bordered={false}` 蝘駁膄Ant Design暺䁅恕颲寞<E9A2B2>
|
||||
|
||||
#### Radio<69>厰★隡睃<E99AA1>
|
||||
@@ -221,11 +221,11 @@ shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1) /* 中等阴影 */
|
||||
|
||||
---
|
||||
|
||||
### 7️⃣ Progress进度条优化
|
||||
### 7儭謿<EFBFBD> Progress餈𥕦漲<EFBFBD>∩<EFBFBD><EFBFBD>?
|
||||
|
||||
#### 环形进度条精细调整
|
||||
#### <EFBFBD>臬耦餈𥕦漲<EFBFBD>∠移蝏<EFBFBD><EFBFBD><EFBFBD>?
|
||||
```tsx
|
||||
// 修改前
|
||||
// 靽格㺿<EFBFBD>?
|
||||
<Progress
|
||||
type="circle"
|
||||
percent={calculateTokenUsage()}
|
||||
@@ -233,11 +233,11 @@ shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1) /* 中等阴影 */
|
||||
strokeColor="#3b82f6"
|
||||
/>
|
||||
|
||||
// 修改后
|
||||
// 靽格㺿<EFBFBD>?
|
||||
<Progress
|
||||
type="circle"
|
||||
percent={calculateTokenUsage()}
|
||||
width={42} // 稍大一点
|
||||
width={42} // 蝔滚之銝<EFBFBD><EFBFBD>?
|
||||
strokeColor="#3b82f6"
|
||||
trailColor="#e5e7eb" // 頧券<E9A0A7>憸𡏭𠧧
|
||||
strokeWidth={8} // 蝥踵辺摰賢漲
|
||||
@@ -246,22 +246,22 @@ shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1) /* 中等阴影 */
|
||||
|
||||
---
|
||||
|
||||
### 8️⃣ Alert提示框优化
|
||||
### 8儭謿<EFBFBD> Alert<EFBFBD>鞟內獢<EFBFBD><EFBFBD><EFBFBD>?
|
||||
|
||||
#### 蝏𤘪<E89D8F><F0A498AA>峕甅撘讐移蝏<E7A7BB><E89D8F>
|
||||
```tsx
|
||||
// 修改前
|
||||
// 靽格㺿<EFBFBD>?
|
||||
<Alert
|
||||
message="🌍 全文阅读模式:已加载 X 篇文档全文"
|
||||
description="AI将综合所有文献给您答案"
|
||||
message="<EFBFBD><EFBFBD> <20>冽<EFBFBD><E586BD><EFBFBD>粉璅∪<E79285>嚗𡁜歇<F0A1819C>㰘蝸 X 蝭<><E89DAD>獢<EFBFBD><E78DA2><EFBFBD>?
|
||||
description="AI撠<EFBFBD>遞<EFBFBD><EFBFBD><EFBFBD><EFBFBD>㗇<EFBFBD><EFBFBD>桃<EFBFBD><EFBFBD>函<EFBFBD>獢?
|
||||
type="info"
|
||||
/>
|
||||
|
||||
// 修改后
|
||||
// 靽格㺿<EFBFBD>?
|
||||
<Alert
|
||||
message={
|
||||
<span className="font-semibold text-sm">
|
||||
🌍 全文阅读模式:已加载 {documents.length} 篇文档全文
|
||||
<EFBFBD><EFBFBD> <EFBFBD>冽<EFBFBD><EFBFBD><EFBFBD>粉璅∪<EFBFBD>嚗𡁜歇<EFBFBD>㰘蝸 {documents.length} 蝭<EFBFBD><EFBFBD>獢<EFBFBD><EFBFBD><EFBFBD>?
|
||||
</span>
|
||||
}
|
||||
description={
|
||||
@@ -274,33 +274,33 @@ shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1) /* 中等阴影 */
|
||||
/>
|
||||
```
|
||||
|
||||
**改进点**:
|
||||
**<EFBFBD>寡<EFBFBD><EFBFBD>?*:
|
||||
- <20><><EFBFBD><EFBFBD>删<EFBFBD>嚗䫤font-semibold`
|
||||
- <20>讛膩<E8AE9B><E886A9><EFBFBD>嚗䫤text-xs text-slate-600 leading-relaxed`
|
||||
- 背景优化:`bg-blue-50/50` (50%透明度)
|
||||
- <EFBFBD>峕艶隡睃<EFBFBD>嚗䫤bg-blue-50/50` (50%<EFBFBD>𤩺<EFBFBD>摨?
|
||||
- 颲寞<E9A2B2>隡睃<E99AA1>嚗䫤border-blue-100`
|
||||
|
||||
---
|
||||
|
||||
### 9儭謿<E584AD> 銵冽聢隡睃<E99AA1>
|
||||
|
||||
#### 状态徽章重构
|
||||
#### <EFBFBD>嗆<EFBFBD><EFBFBD>噬蝡𣳇<EFBFBD><EFBFBD>?
|
||||
```tsx
|
||||
// 修改前
|
||||
// 靽格㺿<EFBFBD>?
|
||||
<span className="... bg-green-50 text-green-700 border border-green-100">
|
||||
|
||||
// 修改后
|
||||
// 靽格㺿<EFBFBD>?
|
||||
<span className="inline-flex items-center px-2.5 py-1 rounded-md text-xs font-medium border bg-green-50 text-green-700 border-green-200">
|
||||
<CheckCircle2 className="w-3 h-3" />
|
||||
<span className="ml-1.5">閫<EFBFBD><EFBFBD>摰峕<EFBFBD></span>
|
||||
</span>
|
||||
```
|
||||
|
||||
**改进点**:
|
||||
- padding增加:`px-2 py-0.5` → `px-2.5 py-1`
|
||||
- 圆角:`rounded` → `rounded-md`
|
||||
- 图标间距:`mr-1` → `ml-1.5`
|
||||
- 边框颜色加深:`border-green-100` → `border-green-200`
|
||||
**<EFBFBD>寡<EFBFBD><EFBFBD>?*:
|
||||
- padding憓𧼮<EFBFBD>嚗䫤px-2 py-0.5` <20>?`px-2.5 py-1`
|
||||
- <EFBFBD><EFBFBD><EFBFBD>嚗䫤rounded` <20>?`rounded-md`
|
||||
- <EFBFBD>暹<EFBFBD><EFBFBD>渲<EFBFBD>嚗䫤mr-1` <20>?`ml-1.5`
|
||||
- 颲寞<EFBFBD>憸𡏭𠧧<EFBFBD>䭾楛嚗䫤border-green-100` <20>?`border-green-200`
|
||||
|
||||
#### 銵冽聢<E586BD>瑕<EFBFBD>隡睃<E99AA1>
|
||||
```tsx
|
||||
@@ -309,7 +309,7 @@ shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1) /* 中等阴影 */
|
||||
className="pkb-document-table" // 瘛餃<E7989B><E9A483>芸<EFBFBD>銋実lass
|
||||
columns={[
|
||||
{
|
||||
title: '文件名',
|
||||
title: '<EFBFBD><EFBFBD>辣<EFBFBD>?,
|
||||
render: (text) => (
|
||||
<div className="flex items-center py-1"> {/* 瘛餃<E7989B>py-1 */}
|
||||
<div className="w-9 h-9 bg-red-50 text-red-500 rounded-lg flex items-center justify-center mr-3 flex-shrink-0">
|
||||
@@ -330,7 +330,7 @@ shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1) /* 中等阴影 */
|
||||
background-color: #f9fafb; /* 銵典仍<E585B8>峕艶 */
|
||||
color: #6b7280; /* 銵典仍<E585B8><E4BB8D><EFBFBD> */
|
||||
font-weight: 600; /* 摮烾<E691AE> */
|
||||
padding: 14px 16px; /* 内边距 */
|
||||
padding: 14px 16px; /* <EFBFBD><EFBFBD>器頝?*/
|
||||
border-bottom: 1px solid #e5e7eb;
|
||||
}
|
||||
|
||||
@@ -348,15 +348,15 @@ shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1) /* 中等阴影 */
|
||||
|
||||
### <20><> <20>峕艶憸𡏭𠧧隡睃<E99AA1>
|
||||
|
||||
#### 多层次背景
|
||||
#### 憭𡁜<EFBFBD>甈∟<EFBFBD><EFBFBD>?
|
||||
```tsx
|
||||
// 外层容器:浅灰背景
|
||||
// 憭硋<EFBFBD>摰孵膥嚗𡁏<EFBFBD><EFBFBD>啗<EFBFBD><EFBFBD>?
|
||||
<div className="h-full flex overflow-hidden bg-gray-50">
|
||||
|
||||
// Chat区域:白色背景
|
||||
// Chat<EFBFBD>箏<EFBFBD>嚗𡁶蒾<EFBFBD>脰<EFBFBD><EFBFBD>?
|
||||
<div className="flex-1 flex flex-col bg-white overflow-hidden">
|
||||
|
||||
// Alert区域:灰色背景区分
|
||||
// Alert<EFBFBD>箏<EFBFBD>嚗𡁶<EFBFBD><EFBFBD>脰<EFBFBD><EFBFBD>臬躹<EFBFBD>?
|
||||
<div className="flex-shrink-0 px-6 py-5 bg-gray-50 border-b border-gray-100">
|
||||
```
|
||||
|
||||
@@ -372,16 +372,16 @@ shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1) /* 中等阴影 */
|
||||
|
||||
### 閫<><E996AB><EFBFBD><EFBFBD><EFBFBD>撖寞<E69296>
|
||||
|
||||
| 项目 | 优化前 | 优化后 | 提升度 |
|
||||
| 憿寧𤌍 | 隡睃<E99AA1><E79D83>?| 隡睃<E99AA1><E79D83>?| <20>𣂼<EFBFBD>摨?|
|
||||
|------|--------|--------|--------|
|
||||
| 标题字重 | font-bold (700) | font-semibold (600) | ✅ 更协调 |
|
||||
| 辅助文字 | text-gray-500 | text-slate-500 + leading-relaxed | ✅ 更清晰 |
|
||||
| 边框颜色 | border-gray-200 | border-gray-100 | ✅ 更柔和 |
|
||||
| 圆角大小 | 不统一 | 统一8px (rounded-lg) | ✅ 更一致 |
|
||||
| 间距标准 | 不规范 | px-6 py-5 标准化 | ✅ 更舒适 |
|
||||
| 阴影效果 | 无或过重 | shadow-sm轻微阴影 | ✅ 更立体 |
|
||||
| Tab高度 | 56px (过高) | 48px (精准) | ✅ 更精致 |
|
||||
| 状态徽章 | 简单 | 精致样式+图标 | ✅ 更专业 |
|
||||
| <EFBFBD><EFBFBD><EFBFBD>摮烾<EFBFBD> | font-bold (700) | font-semibold (600) | <EFBFBD>?<3F>游<EFBFBD>靚?|
|
||||
| 颲<EFBFBD>𨭌<EFBFBD><EFBFBD><EFBFBD> | text-gray-500 | text-slate-500 + leading-relaxed | <EFBFBD>?<3F>湔<EFBFBD><E6B994>?|
|
||||
| 颲寞<EFBFBD>憸𡏭𠧧 | border-gray-200 | border-gray-100 | <EFBFBD>?<3F>湔<EFBFBD><E6B994>?|
|
||||
| <EFBFBD><EFBFBD><EFBFBD>憭批<EFBFBD> | 銝滨<E98A9D>銝<EFBFBD> | 蝏煺<E89D8F>8px (rounded-lg) | <EFBFBD>?<3F>港<EFBFBD><E6B8AF>?|
|
||||
| <EFBFBD>渲<EFBFBD><EFBFBD><EFBFBD><EFBFBD> | 銝滩<E98A9D><E6BBA9>?| px-6 py-5 <20><><EFBFBD><EFBFBD>?| <20>?<3F>渲<EFBFBD><E6B8B2>?|
|
||||
| <EFBFBD>游蔣<EFBFBD><EFBFBD><EFBFBD> | <20>䭾<EFBFBD>餈<EFBFBD><E9A488> | shadow-sm頧餃凝<E9A483>游蔣 | <20>?<3F>渡<EFBFBD>雿?|
|
||||
| Tab擃睃漲 | 56px (餈<EFBFBD><EFBFBD>) | 48px (蝎曉<EFBFBD>) | <EFBFBD>?<3F>渡移<E6B8A1>?|
|
||||
| <EFBFBD>嗆<EFBFBD><EFBFBD>噬蝡?| 蝞<><E89D9E>?| 蝎曇稲<E69B87>瑕<EFBFBD>+<2B>暹<EFBFBD> | <20>?<3F>港<EFBFBD>銝?|
|
||||
|
||||
### 蝏<><E89D8F><EFBFBD>𣂼<EFBFBD>撖寞<E69296>
|
||||
|
||||
@@ -416,17 +416,17 @@ shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1) /* 中等阴影 */
|
||||
|
||||
## <20><> 靽格㺿<E6A0BC><E3BABF>辣皜<E8BEA3><E79A9C>
|
||||
|
||||
### 修改文件(5个)
|
||||
### 靽格㺿<EFBFBD><EFBFBD>辣嚗?銝迎<E98A9D>
|
||||
```
|
||||
frontend-v2/src/modules/pkb/
|
||||
<EFBFBD>鎿<EFBFBD><EFBFBD><EFBFBD> pages/
|
||||
│ └── WorkspacePage.tsx (全面精细化优化)
|
||||
<EFBFBD>? <20>婙<EFBFBD><E5A999><EFBFBD> WorkspacePage.tsx (<EFBFBD>券𢒰蝎曄<EFBFBD><EFBFBD>碶<EFBFBD><EFBFBD>?
|
||||
<EFBFBD>鎿<EFBFBD><EFBFBD><EFBFBD> components/Workspace/
|
||||
│ ├── WorkModeSelector.tsx (字体、间距、圆角优化)
|
||||
│ ├── FullTextMode.tsx (Alert样式优化)
|
||||
│ └── DeepReadMode.tsx (Alert样式优化)
|
||||
<EFBFBD>? <20>鎿<EFBFBD><E98EBF><EFBFBD> WorkModeSelector.tsx (摮𦯀<EFBFBD><EFBFBD><EFBFBD>𡢿頝腈<EFBFBD><EFBFBD><EFBFBD>閫雴<EFBFBD><EFBFBD>?
|
||||
<EFBFBD>? <20>鎿<EFBFBD><E98EBF><EFBFBD> FullTextMode.tsx (Alert<EFBFBD>瑕<EFBFBD>隡睃<EFBFBD>)
|
||||
<EFBFBD>? <20>婙<EFBFBD><E5A999><EFBFBD> DeepReadMode.tsx (Alert<EFBFBD>瑕<EFBFBD>隡睃<EFBFBD>)
|
||||
<EFBFBD>婙<EFBFBD><EFBFBD><EFBFBD> styles/
|
||||
└── workspace.css (新增自定义样式)
|
||||
<EFBFBD>婙<EFBFBD><EFBFBD><EFBFBD> workspace.css (<EFBFBD>啣<EFBFBD><EFBFBD>芸<EFBFBD>銋㗇甅撘?
|
||||
```
|
||||
|
||||
---
|
||||
@@ -437,8 +437,8 @@ frontend-v2/src/modules/pkb/
|
||||
```typescript
|
||||
const colors = {
|
||||
// <20><><EFBFBD>憸𡏭𠧧
|
||||
primary: '#1F2937', // text-slate-800 (主标题)
|
||||
secondary: '#334155', // text-slate-700 (副标题)
|
||||
primary: '#1F2937', // text-slate-800 (銝餅<EFBFBD>憸?
|
||||
secondary: '#334155', // text-slate-700 (<EFBFBD>舀<EFBFBD>憸?
|
||||
tertiary: '#64748B', // text-slate-500 (颲<>𨭌<EFBFBD><F0A8AD8C><EFBFBD>)
|
||||
quaternary: '#94A3B8', // text-slate-400 (甈∟<E79488>靽⊥<E99DBD>)
|
||||
|
||||
@@ -447,8 +447,8 @@ const colors = {
|
||||
borderStrong: '#E5E7EB', // border-gray-200 (<28>擧遬<E693A7><E981AC><EFBFBD>)
|
||||
|
||||
// <20>峕艶憸𡏭𠧧
|
||||
bgPrimary: '#FFFFFF', // bg-white (主背景)
|
||||
bgSecondary: '#F9FAFB', // bg-gray-50 (次背景)
|
||||
bgPrimary: '#FFFFFF', // bg-white (銝餉<EFBFBD><EFBFBD>?
|
||||
bgSecondary: '#F9FAFB', // bg-gray-50 (甈∟<EFBFBD><EFBFBD>?
|
||||
};
|
||||
```
|
||||
|
||||
@@ -484,8 +484,8 @@ const spacing = {
|
||||
```typescript
|
||||
const borderRadius = {
|
||||
sm: 'rounded-md', // 6px (敺賜<E695BA>)
|
||||
md: 'rounded-lg', // 8px (卡片、按钮)
|
||||
lg: 'rounded-xl', // 12px (输入框)
|
||||
md: 'rounded-lg', // 8px (<EFBFBD>∠<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
|
||||
lg: 'rounded-xl', // 12px (颲枏<EFBFBD>獢?
|
||||
full: 'rounded-full', // 9999px (憭游<E686AD>)
|
||||
};
|
||||
```
|
||||
@@ -495,8 +495,8 @@ const borderRadius = {
|
||||
const shadows = {
|
||||
sm: 'shadow-sm', // 頧餃凝<E9A483>游蔣 (<28>∠<EFBFBD>)
|
||||
md: 'shadow', // <20><><EFBFBD><EFBFBD>游蔣 (撘寧<E69298>)
|
||||
lg: 'shadow-md', // 中等阴影 (主按钮)
|
||||
xl: 'shadow-lg', // 大阴影 (模态框)
|
||||
lg: 'shadow-md', // 銝剔<EFBFBD><EFBFBD>游蔣 (銝餅<E98A9D><E9A485>?
|
||||
xl: 'shadow-lg', // 憭折狍敶?(璅⊥<E79285><E28AA5><EFBFBD>)
|
||||
};
|
||||
```
|
||||
|
||||
@@ -515,7 +515,7 @@ const typography = {
|
||||
xs: 'text-xs', // 12px (颲<>𨭌霂湔<E99C82>)
|
||||
sm: 'text-sm', // 14px (甇<><E79487>)
|
||||
base: 'text-base', // 16px (<28><><EFBFBD>)
|
||||
lg: 'text-lg', // 18px (大标题)
|
||||
lg: 'text-lg', // 18px (憭扳<EFBFBD>憸?
|
||||
},
|
||||
|
||||
// 銵屸<E98AB5>
|
||||
@@ -528,10 +528,10 @@ const typography = {
|
||||
|
||||
---
|
||||
|
||||
## ✅ 验证清单
|
||||
## <EFBFBD>?撉諹<E69289>皜<EFBFBD><E79A9C>
|
||||
|
||||
### 必须验证(P0)
|
||||
- [x] Tab导航高度为48px
|
||||
### 敹<EFBFBD>◆撉諹<EFBFBD>嚗㇊0嚗?
|
||||
- [x] Tab撖潸⏛擃睃漲銝?8px
|
||||
- [x] 摮𦯀<E691AE>雿輻鍂font-semibold
|
||||
- [x] 颲寞<E9A2B2>憸𡏭𠧧銝槓order-gray-100
|
||||
- [x] <20><><EFBFBD>蝏煺<E89D8F>銝氳ounded-lg (8px)
|
||||
@@ -539,13 +539,13 @@ const typography = {
|
||||
- [x] 頧餃凝<E9A483>游蔣<E6B8B8><E894A3><EFBFBD>
|
||||
- [x] 颲<>𨭌<EFBFBD><F0A8AD8C><EFBFBD>憸𡏭𠧧瘛∪<E7989B>
|
||||
|
||||
### 应该验证(P1)
|
||||
### 摨磰砲撉諹<EFBFBD>嚗㇊1嚗?
|
||||
- [ ] 銵冽聢<E586BD>砍<EFBFBD><E7A08D><EFBFBD><EFBFBD>瘚<EFBFBD><E7989A>
|
||||
- [ ] 状态徽章样式精致
|
||||
- [ ] <EFBFBD>嗆<EFBFBD><EFBFBD>噬蝡䭾甅撘讐移<EFBFBD>?
|
||||
- [ ] Alert<72>峕艶<E5B395>𢠃<EFBFBD>𤩺<EFBFBD>
|
||||
- [ ] Progress进度条流畅
|
||||
- [ ] Progress餈𥕦漲<EFBFBD>⊥<EFBFBD><EFBFBD>?
|
||||
|
||||
### 可以优化(P2)
|
||||
### <EFBFBD>臭誑隡睃<EFBFBD>嚗㇊2嚗?
|
||||
- [ ] <20>函𤫇餈<F0A4AB87>腹<EFBFBD><E885B9><EFBFBD>
|
||||
- [ ] <20>滚<EFBFBD>撘誩<E69298>撅<EFBFBD>隡睃<E99AA1>
|
||||
- [ ] 瘛梯𠧧璅∪<E79285><E288AA>舀<EFBFBD>
|
||||
@@ -554,33 +554,34 @@ const typography = {
|
||||
|
||||
## <20>働 霈曇恣<E69B87>笔<EFBFBD><E7AC94>餌<EFBFBD>
|
||||
|
||||
根据差距文档,我们遵循了以下设计原则:
|
||||
<EFBFBD>寞旿撌株<EFBFBD><EFBFBD><EFBFBD>﹝嚗峕<EFBFBD>隞祇<EFBFBD>敺芯<EFBFBD>隞乩<EFBFBD>霈曇恣<EFBFBD>笔<EFBFBD>嚗?
|
||||
|
||||
### 1. 閫<><E996AB>撅<EFBFBD>漣皜<E6BCA3>苊
|
||||
- ✅ 标题使用font-semibold,突出重点
|
||||
- ✅ 辅助文字颜色淡化,拉开层级
|
||||
- ✅ 间距合理,呼吸感强
|
||||
- <EFBFBD>?<3F><><EFBFBD>雿輻鍂font-semibold嚗𣬚<EFBFBD><EFBFBD>粹<EFBFBD><EFBFBD>?
|
||||
- <EFBFBD>?颲<>𨭌<EFBFBD><F0A8AD8C><EFBFBD>憸𡏭𠧧瘛∪<E7989B>嚗峕<E59A97>撘<EFBFBD>撅<EFBFBD>漣
|
||||
- <EFBFBD>?<3F>渲<EFBFBD><E6B8B2><EFBFBD><EFBFBD>嚗<EFBFBD>鐤<EFBFBD>豢<EFBFBD>撘?
|
||||
|
||||
### 2. 蝏<><E89D8F>蝎曇稲
|
||||
- ✅ 圆角统一为8px
|
||||
- ✅ 轻微阴影增加立体感
|
||||
- ✅ 边框颜色淡化,更柔和
|
||||
- <EFBFBD>?<3F><><EFBFBD>蝏煺<E89D8F>銝?px
|
||||
- <EFBFBD>?頧餃凝<E9A483>游蔣憓𧼮<E68693>蝡衤<E89DA1><E8A1A4>?
|
||||
- <EFBFBD>?颲寞<E9A2B2>憸𡏭𠧧瘛∪<E7989B>嚗峕凒<E5B395>𥪜<EFBFBD>
|
||||
|
||||
### 3. 间距舒适
|
||||
- ✅ 页面边距20-24px
|
||||
- ✅ 组件间距16-20px
|
||||
- ✅ 内容不贴边
|
||||
### 3. <EFBFBD>渲<EFBFBD><EFBFBD>㘾<EFBFBD>?
|
||||
- <EFBFBD>?憿菟𢒰颲寡<E9A2B2>20-24px
|
||||
- <EFBFBD>?蝏<>辣<EFBFBD>渲<EFBFBD>16-20px
|
||||
- <EFBFBD>?<3F><>捆銝滩斐颲?
|
||||
|
||||
### 4. 憸𡏭𠧧<F0A18FAD>讛<EFBFBD>
|
||||
- ✅ 主文字#1F2937
|
||||
- ✅ 辅助文字#64748B
|
||||
- ✅ 边框#F3F4F6
|
||||
- <EFBFBD>?銝餅<E98A9D>摮?1F2937
|
||||
- <EFBFBD>?颲<>𨭌<EFBFBD><F0A8AD8C><EFBFBD>#64748B
|
||||
- <EFBFBD>?颲寞<E9A2B2>#F3F4F6
|
||||
|
||||
---
|
||||
|
||||
**隡睃<E99AA1>摰峕<E691B0><E5B395>園𡢿**: 2026-01-06
|
||||
**优化人**: AI Assistant
|
||||
**验证状态**: 待用户刷新页面确认
|
||||
**隡睃<EFBFBD>鈭?*: AI Assistant
|
||||
**撉諹<EFBFBD><EFBFBD>嗆<EFBFBD>?*: 敺<>鍂<EFBFBD>瑕<EFBFBD><E79195>圈△<E59C88>Y&霈?
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user