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%)
204 lines
4.6 KiB
Markdown
204 lines
4.6 KiB
Markdown
# Week 2 Day 1 - Bug淇<67><E6B787>鎶ュ憡
|
||
|
||
**鏃ユ湡**: 2025-11-18
|
||
**闂<><E99782>**: 鍓嶇<E98D93>妯″潡鍔犺浇澶辫触
|
||
**鐘舵€?*: 鉁?宸蹭慨澶?
|
||
|
||
---
|
||
|
||
## 馃悰 闂<><E99782>鎻忚堪
|
||
|
||
### 閿欒<E996BF>1: React Query鏈<79>厤缃?
|
||
```
|
||
Error: No QueryClient set, use QueryClientProvider to set one
|
||
```
|
||
|
||
**鍘熷洜**: 涓诲簲鐢<E7B0B2>紙App.tsx锛夌己灏慲QueryClientProvider`閰嶇疆锛屽<E9949B>鑷碅SL妯″潡浣跨敤`useQuery` Hook鏃舵姤閿欍€?
|
||
|
||
### 閿欒<E996BF>2: Ant Design Spin璀﹀憡
|
||
```
|
||
Warning: [antd: Spin] `tip` only work in nest or fullscreen pattern.
|
||
```
|
||
|
||
**鍘熷洜**: Spin缁勪欢鐨刞tip`灞炴€у彧鍦ㄧ壒瀹氭ā寮忎笅鐢熸晥锛坄spinning={true}`鎴栧祵濂楁ā寮忥級銆?
|
||
|
||
---
|
||
|
||
## 鉁?淇<><E6B787>鏂规<E98F82>
|
||
|
||
### 1. 娣诲姞QueryClientProvider锛堜富搴旂敤锛?
|
||
|
||
**鏂囦欢**: `frontend-v2/src/App.tsx`
|
||
|
||
**淇<>敼鍐呭<E98D90>**:
|
||
```tsx
|
||
// 娣诲姞import
|
||
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
|
||
|
||
// 鍒涘缓QueryClient瀹炰緥
|
||
const queryClient = new QueryClient({
|
||
defaultOptions: {
|
||
queries: {
|
||
staleTime: 1000 * 60 * 5, // 5鍒嗛挓
|
||
gcTime: 1000 * 60 * 10, // 10鍒嗛挓
|
||
retry: 1, // 澶辫触閲嶈瘯1娆?
|
||
refetchOnWindowFocus: false, // 绐楀彛鑱氱劍鏃朵笉閲嶆柊鑾峰彇
|
||
},
|
||
},
|
||
})
|
||
|
||
// 鍖呰9搴旂敤
|
||
function App() {
|
||
return (
|
||
<ConfigProvider locale={zhCN}>
|
||
<QueryClientProvider client={queryClient}> {/* 猸?鏂板<E98F82> */}
|
||
<PermissionProvider>
|
||
<BrowserRouter>
|
||
{/* ... */}
|
||
</BrowserRouter>
|
||
</PermissionProvider>
|
||
</QueryClientProvider> {/* 猸?鏂板<E98F82> */}
|
||
</ConfigProvider>
|
||
)
|
||
}
|
||
```
|
||
|
||
**浣滅敤**:
|
||
- 涓烘暣涓<E69AA3>簲鐢ㄦ彁渚汻eact Query鏀<79>寔
|
||
- 鎵€鏈夋ā鍧楅兘鍙<E58598>互浣跨敤`useQuery`銆乣useMutation`绛塇ooks
|
||
- 閰嶇疆浜嗗悎鐞嗙殑缂撳瓨绛栫暐
|
||
|
||
---
|
||
|
||
### 2. 淇<><E6B787>Spin缁勪欢锛圓SL妯″潡锛?
|
||
|
||
**鏂囦欢**: `frontend-v2/src/modules/asl/index.tsx`
|
||
|
||
**淇<>敼鍐呭<E98D90>**:
|
||
```tsx
|
||
// 淇<>敼鍓?
|
||
<Spin size="large" tip="鍔犺浇涓?.." /> // 鉂?璀﹀憡
|
||
|
||
// 淇<>敼鍚?
|
||
<Spin size="large" /> // 鉁?姝g‘
|
||
```
|
||
|
||
**鍘熷洜**: Suspense鐨刦allback涓嶉渶瑕佹樉绀簍ip鏂囧瓧銆?
|
||
|
||
---
|
||
|
||
## 馃И 楠岃瘉缁撴灉
|
||
|
||
### 淇<><E6B787>鍚庢祴璇?
|
||
1. 鉁?鍒锋柊娴忚<E5A8B4>鍣<EFBFBD>紝鏃犳姤閿?
|
||
2. 鉁?鐐瑰嚮"AI鏅鸿兘鏂囩尞"锛屾<E9949B>甯歌繘鍏ラ」鐩<E3808D>垪琛ㄩ〉
|
||
3. 鉁?鎺у埗鍙版棤璀﹀憡淇℃伅
|
||
4. 鉁?React Query姝e父宸ヤ綔
|
||
|
||
### 鎺у埗鍙拌緭鍑?
|
||
```
|
||
鉁?No errors
|
||
鉁?No warnings
|
||
鉁?Application loaded successfully
|
||
```
|
||
|
||
---
|
||
|
||
## 馃搳 褰卞搷鑼冨洿
|
||
|
||
### 鍙楃泭妯″潡
|
||
鎵€鏈変娇鐢≧eact Query鐨勬ā鍧楅兘鍙<E58598>互姝e父宸ヤ綔锛?
|
||
- 鉁?**ASL妯″潡**锛圓I鏅鸿兘鏂囩尞锛? 涓昏<E6B693>鍙楃泭
|
||
- 鉁?**AIA妯″潡**锛圓I闂<49>瓟锛? 鏈<>潵鍙<E6BDB5>娇鐢?
|
||
- 鉁?**PKB妯″潡**锛堢煡璇嗗簱锛? 鏈<>潵鍙<E6BDB5>娇鐢?
|
||
- 鉁?**鍏朵粬妯″潡** - 缁熶竴鐨勭姸鎬佺<E98EAC>鐞嗘柟妗?
|
||
|
||
### 鎶€鏈<E282AC>环鍊?
|
||
1. **鐘舵€佺<E282AC>鐞嗙粺涓€**: 鎵€鏈夋ā鍧椾娇鐢≧eact Query
|
||
2. **鎬ц兘浼樺寲**: 鑷<>姩缂撳瓨銆佸幓閲嶈<E996B2>姹?
|
||
3. **鐢ㄦ埛浣撻獙**: 鏇村ソ鐨凩oading鐘舵€佺<E282AC>鐞?
|
||
4. **浠g爜璐ㄩ噺**: 鍑忓皯閲嶅<E996B2>鐨勭姸鎬佺<E98EAC>鐞嗕唬鐮?
|
||
|
||
---
|
||
|
||
## 馃幆 閰嶇疆璇存槑
|
||
|
||
### React Query閰嶇疆瑙f瀽
|
||
|
||
```tsx
|
||
const queryClient = new QueryClient({
|
||
defaultOptions: {
|
||
queries: {
|
||
staleTime: 1000 * 60 * 5,
|
||
// 鏁版嵁鏂伴矞搴︽椂闂达細5鍒嗛挓鍐呬笉閲嶆柊鑾峰彇
|
||
// 閫傚悎澶у<E6BEB6>鏁板満鏅<E6BA80>紝鍑忓皯涓嶅繀瑕佺殑璇锋眰
|
||
|
||
gcTime: 1000 * 60 * 10,
|
||
// 鍨冨溇鍥炴敹鏃堕棿锛?0鍒嗛挓鍚庢竻闄ょ紦瀛?
|
||
// 淇濇寔鍚堢悊鐨勫唴瀛樹娇鐢?
|
||
|
||
retry: 1,
|
||
// 澶辫触閲嶈瘯1娆?
|
||
// 閬垮厤杩囧<E69DA9>閲嶈瘯瀵艰嚧鐨勬€ц兘闂<E58598><E99782>
|
||
|
||
refetchOnWindowFocus: false,
|
||
// 绐楀彛鑱氱劍鏃朵笉閲嶆柊鑾峰彇
|
||
// 鍑忓皯涓嶅繀瑕佺殑缃戠粶璇锋眰
|
||
},
|
||
},
|
||
})
|
||
```
|
||
|
||
### 涓轰粈涔堥€夋嫨杩欎簺閰嶇疆锛?
|
||
|
||
| 閰嶇疆椤?| 鍊?| 鍘熷洜 |
|
||
|-------|---|------|
|
||
| `staleTime` | 5鍒嗛挓 | 椤圭洰鏁版嵁鍙樺寲涓嶉<E6B693>绻侊紝鍑忓皯閲嶅<E996B2>璇锋眰 |
|
||
| `gcTime` | 10鍒嗛挓 | 淇濇寔鍚堢悊缂撳瓨锛岄伩鍏嶅唴瀛樻硠婕?|
|
||
| `retry` | 1娆?| 蹇<>€熷け璐ワ紝涓嶈繃搴﹂噸璇?|
|
||
| `refetchOnWindowFocus` | false | 鐢ㄦ埛鍒囨崲绐楀彛鏃朵笉闇€瑕侀噸鏂板姞杞?|
|
||
|
||
---
|
||
|
||
## 馃摑 缁忛獙鎬荤粨
|
||
|
||
### 1. React Query蹇呴』鍏ㄥ眬閰嶇疆
|
||
**闂<><E99782>**: 蹇樿<E8B987>鍦ㄤ富搴旂敤閰嶇疆QueryClientProvider
|
||
**鏁欒<E98F81>**: 鏂版<E98F82>鏋堕泦鎴愭椂锛屽厛閰嶇疆鍏ㄥ眬Provider
|
||
|
||
### 2. Ant Design缁勪欢浣跨敤闇€娉ㄦ剰鏂囨。
|
||
**闂<><E99782>**: Spin缁勪欢鐨刞tip`灞炴€ф湁浣跨敤闄愬埗
|
||
**鏁欒<E98F81>**: 鏌ラ槄瀹樻柟鏂囨。锛岀悊瑙g粍浠禔PI
|
||
|
||
### 3. 鍓嶇<E98D93>鏋舵瀯鍒嗗眰娓呮櫚寰堥噸瑕?
|
||
**鏀惰幏**:
|
||
- 涓诲簲鐢<E7B0B2>紙App.tsx锛夎礋璐e叏灞€閰嶇疆
|
||
- 涓氬姟妯″潡锛坅sl/锛夊彧鍏虫敞涓氬姟閫昏緫
|
||
- 娓呮櫚鐨勮亴璐e垝鍒嗛伩鍏嶉棶棰?
|
||
|
||
---
|
||
|
||
## 馃殌 涓嬩竴姝?
|
||
|
||
淇<EFBFBD><EFBFBD>瀹屾垚鍚庯紝鍙<EFBFBD>互缁х画锛?
|
||
1. 鉁?娴嬭瘯椤圭洰鍒涘缓鍔熻兘
|
||
2. 鉁?娴嬭瘯鍚庣<E98D9A>API鑱旇皟
|
||
3. 鉁?缁х画Week 2 Day 2寮€鍙?
|
||
|
||
---
|
||
|
||
**淇<><E6B787>鏃堕棿**: 10鍒嗛挓
|
||
**淇<><E6B787>闅惧害**: 猸?绠€鍗?
|
||
**褰卞搷鑼冨洿**: 猸愨瓙猸?鍏ㄥ眬
|
||
|
||
**淇<><E6B787>瀹屾垚**: 2025-11-18 21:15
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|