Files
AIclinicalresearch/docs/03-业务模块/ASL-AI智能文献/05-开发记录/2025-11-18-Week2-Day1完成报告.md
HaHafeng 1b53ab9d52 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%)
2026-01-14 19:15:01 +08:00

305 lines
9.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ASL璅<E79285> - Week 2 Day 1 摰峕<E691B0><E5B395><EFBFBD>
**<EFBFBD><EFBFBD>**: 2025-11-18
**撘<><E69298>煾𧫴畾?*: Week 2 - <20>滨垢撘<E59EA2><E69298>?
**隞餃𦛚**: Day 1 - 憿寧𤌍蝞∠<E89D9E>憿?
**<EFBFBD><EFBFBD>?*: <20>?摰峕<E691B0>
---
## <20><> 摰峕<E691B0><E5B395><EFBFBD><EFBFBD>
### <20>?撌脣<E6928C><E884A3>𣂷遙<F0A382B7>?
#### 1. <20><EFBFBD>蝏𤘪<E89D8F><F0A498AA>𥕦遣
```
frontend-v2/src/modules/asl/
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> pages/ # 憿菟𢒰蝏<F0A292B0>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> components/ # <20>𡁶鍂蝏<E98D82>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> api/ # API摰<E691B0>蝡?
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> hooks/ # React Hooks
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> types/ # TypeScript蝐餃<E89D90>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> utils/ # 撌亙<E6928C><E4BA99>賣㺭
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> index.tsx # 璅<E79285><E288AA>亙藁
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> routes.tsx # 頝舐眏<E88890>滨蔭
```
#### 2. TypeScript蝐餃<E89D90>摰帋<E691B0> (224銵?
**<2A><>辣**: `types/index.ts`
摰帋<EFBFBD><EFBFBD>誑銝𧢲瓲敹<EFBFBD><EFBFBD><EFBFBD>
- `PICOSCriteria` - PICOS<4F><53><EFBFBD>
- `ScreeningConfig` - 蝑偦<E89D91><EFBFBD>蝵殷<E89DB5><E6AEB7><EFBFBD><E6808E><EFBFBD><E58EB0><EFBFBD>
- `ScreeningProject` - 蝑偦<E89D91>厰★<E58EB0>?
- `Literature` - <20><><EFBFBD>∠𤌍
- `ModelResult` - 璅<E79285><E288AA>斗鱏蝏𤘪<E89D8F>
- `ScreeningResult` - 蝑偦<E89D91><EFBFBD><E58EA9>?
- `ScreeningTask` - 蝑偦<E89D91>劐遙<E58A90>?
- `ApiResponse` - API<50><EFBFBD>蝐餃<E89D90>
#### 3. API摰<E691B0>蝡?(268銵?
**<2A><>辣**: `api/index.ts`
摰䂿緵鈭<EFBFBD>誑銝𧘹PI<EFBFBD>亙藁嚗?
- **憿寧𤌍蝞∠<E89D9E>**: 5銝服PI嚗<49><E59A97>撱箝<E692B1><E7AE9D><EFBFBD>銵具<E98AB5><E585B7><EFBFBD><E7A595><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E5959C><EFBFBD><EFBFBD><EFBFBD>
- **<2A><>讃蝞∠<E89D9E>**: 3銝服PI嚗<49><EFBFBD><EFBFBD><E4B993><EFBFBD>銵具<E98AB5><E585B7><EFBFBD><EFBFBD><EFBFBD>
- **蝑偦<E89D91>劐遙<E58A90>?*: 2銝服PI嚗<49><EFBFBD><EFBFBD><E585B7><EFBFBD>摨行䰻霂<E99C82>
- **蝑偦<E89D91><EFBFBD><E58EA9>?*: 3銝服PI嚗<49><E59A97>銵具<E98AB5><E585B7><EFBFBD><EFBFBD><E5959C><EFBFBD>𤩺凒<F0A4A9BA><EFBFBD>
- **撖澆枂**: 1銝服PI嚗𠄌xcel撖澆枂嚗?
- **蝏蠘恣**: 1銝服PI嚗<49><EFBFBD><EFBFBD>霈∴<E99C88>
#### 4. React Query Hooks (108銵?
**<2A><>辣**: `hooks/useProjects.ts`
摰䂿緵鈭<EFBFBD><EFBFBD>桃恣<EFBFBD><EFBFBD><EFBFBD>蚵ooks嚗?
- `useProjects()` - <20><EFBFBD>憿寧𤌍<E5AFA7>𡑒”
- `useProject(id)` - <20><EFBFBD>憿寧𤌍霂行<E99C82>
- `useCreateProject()` - <20>𥕦遣憿寧𤌍
- `useUpdateProject(id)` - <20>湔鰵憿寧𤌍
- `useDeleteProject()` - <20>𣳇膄憿寧𤌍
- `useProjectStatistics(id)` - <20><EFBFBD>蝏蠘恣靽⊥<E99DBD>
#### 5. 憿寧𤌍銵典<E98AB5><EFBFBD>辣 (202銵?
**<2A><>辣**: `components/ProjectForm.tsx`
<EFBFBD><EFBFBD>摰峕㟲<EFBFBD><EFBFBD><EFBFBD><EFBFBD>隞塚<EFBFBD>
- <20>?憿寧𤌍<E5AFA7>滨妍颲枏<E9A2B2>
- <20>?PICOS<4F><53><EFBFBD>嚗?銝芸<E98A9D>畾蛛<E795BE>P<EFBFBD><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗?
- <20>?蝥喳<E89DA5><E596B3><EFBFBD><EFBFBD><EFBFBD><E59A97><EFBFBD><EFBFBD>嚗?
- <20>?<3F>㘾膄<E398BE><E88684><EFBFBD><EFBFBD><E59A97><EFBFBD><EFBFBD>嚗?
- <20>?**蝑偦<E89D91><EFBFBD><E58EB0><EFBFBD>㗇𥋘<E39787>?* 潃?<3F><EFBFBD><E8A9A8><EFBFBD>
- <20><> 摰賣𠹭璅<E79285><EFBFBD><E59A97>蝑𥟇綫<F0A59F87><EFBFBD>
- <20><EFBFBD> <20><><EFBFBD><E79285><EFBFBD><EFBFBD><EFBFBD>
- <20><> 銝交聢璅<E79285><EFBFBD>移蝑𥟇綫<F0A59F87><EFBFBD>
- <20>?銵典<E98AB5>撉諹<E69289>
- <20>?Tooltip<69>鞟內
#### 6. 憿寧𤌍蝞∠<E89D9E>憿菟𢒰 (220銵?
**<2A><>辣**: `pages/ProjectManagement.tsx`
摰峕㟲<EFBFBD><EFBFBD><EFBFBD>桃恣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
- <20>?憿寧𤌍<E5AFA7>𡑒”嚗㇍able撅閧內嚗?
- <20>曄內憿寧𤌍<E5AFA7>滨妍<E6BBA8><E5A68D>ICOS<4F><53><EFBFBD><EFBFBD><EFBFBD><E58EB0><EFBFBD><E6BDA6>𠶖<EFBFBD><F0A0B696><EFBFBD><EFBFBD><EFBFBD>撱箸𧒄<E7AEB8>?
- <20>曄內蝏蠘恣靽⊥<E99DBD><EFBFBD><E59A97><EFBFBD><EFBFBD>餅㺭<E9A485><E3BAAD>歇蝑偦<E89D91><EFBFBD><E589B9><EFBFBD>交㺭嚗?
- <20>?<3F>啣遣憿寧𤌍<E5AFA7>厰僼
- <20>?<3F>𥕦遣憿寧𤌍Modal嚗<6C><E59A97><EFBFBD>促rojectForm嚗?
- <20>?<3F><EFBFBD>憿寧𤌍霂行<E99C82>
- <20>?<3F>𣳇膄憿寧𤌍嚗<F0A48C8D>蒂蝖株恕嚗?
- <20>?<3F><EFBFBD><E59786><EFBFBD>蝑橘<E89D91><E6A998>厩阮<E58EA9><E998AE><EFBFBD><EFBFBD>劐葉<E58A90><E89189>歇摰峕<E691B0>嚗?
- <20>?蝑偦<E89D91><EFBFBD><E58EB0><EFBFBD>蝑橘<E89D91>摰賣𠹭<E8B3A3><F0A0B9AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
- <20>?蝛箇𠶖<E7AE87><F0A0B696><EFBFBD>蝷?
- <20>?Loading<6E><EFBFBD>?
- <20>?<3F>躰秤憭<E7A7A4><E686AD>
#### 7. 頝舐眏<E88890>滨蔭
**<2A><>辣**: `routes.tsx` <20>?`index.tsx`
- <20>?<3F>滨蔭ASL璅<E79285>頝舐眏
- <20>?<3F><EFBFBD>頧賡△<E8B3A1><EFBFBD>隞?
- <20>?Suspense Loading
- <20>?璅<E79285>撌脣銁moduleRegistry.ts銝剜釣<E5899C>?
#### 8. <20><EFBFBD>憿菟𢒰
<EFBFBD>𥕦遣鈭?銝芸<E98A9D>雿漤△<E6BCA4><EFBFBD>Week 2<>𡒊賒撘<E8B392><E69298>𡢅<EFBFBD>嚗?
- `pages/LiteratureImport.tsx` - <20><>讃撖澆<E69296>憿?
- `pages/ScreeningWorkbench.tsx` - 摰⊥瓲撌乩<E6928C><E4B9A9>?
- `pages/ScreeningResults.tsx` - 蝑偦<E89D91><EFBFBD><E58EA9>?
---
## <20><20><EFBFBD>撉峕𤣰
### <20>?Day 1撉峕𤣰<E5B395><F0A4A3B0><EFBFBD>
- <20>?<3F>臭誑<E887AD>𥕦遣憿寧𤌍
- <20>?憿寧𤌍銵典<E98AB5><E585B8><EFBFBD>鉄摰峕㟲<E5B395><E39FB2>ICOS摮埈挾
- <20>?**蝑偦<E89D91><EFBFBD><E58EB0><EFBFBD>㗇𥋘<E39787>冽迤撣詨極雿?* 潃?
- <20>?憿寧𤌍<E5AFA7>唳旿靽嘥<E99DBD><E598A5>唳㺭<E594B3><EFBFBD><EFBFBD><E59A97><EFBFBD>API嚗?
- <20>?憿寧𤌍<E5AFA7>𡑒”甇<E2809D>虜撅閧內
- <20>?<3F>臭誑<E887AD><EFBFBD>憿寧𤌍霂行<E99C82>
- <20>?<3F>臭誑<E887AD>𣳇膄憿寧𤌍
- <20>?UI蝚血<E89D9A>Ant Design閫<6E><E996AB>
- <20>?TypeScript蝐餃<E89D90>摰峕㟲
---
## <20><><><E99A9E>蝏蠘恣
| 蝐餃<E89D90> | <20><><EFBFBD>?| 隞<><E99A9E>銵峕㺭 | 霂湔<E99C82> |
|------|-------|---------|------|
| 蝐餃<E89D90>摰帋<E691B0> | 1 | 224 | types/index.ts |
| API摰<E691B0>蝡?| 1 | 268 | api/index.ts |
| Hooks | 1 | 108 | hooks/useProjects.ts |
| 憿菟𢒰蝏<F0A292B0>辣 | 4 | 280 | ProjectManagement + 3銝芸<E98A9D>雿漤△ |
| <20>𡁶鍂蝏<E98D82>辣 | 1 | 202 | ProjectForm.tsx |
| 頝舐眏<E88890>滨蔭 | 2 | 60 | routes.tsx + index.tsx |
| **<EFBFBD>餉恣** | **10** | **1,142** | |
---
## <20><> <20><EFBFBD>鈭桃<E988AD>
### 1. 蝑偦<E89D91><EFBFBD><E58EB0><EFBFBD>㗇𥋘<E39787>?潃鐥<E6BD83>潃?
銝厩<EFBFBD>蝑偦<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
- **摰賣𠹭璅<E79285>**嚗𡁜<E59A97>蝑𥟇綫<F0A59F87><EFBFBD><EFBFBD>虾憭𡁶熙<F0A181B6><EFBFBD><E4B9A9><EFBFBD>
- **<2A><><EFBFBD><E79285>**嚗𡁜像銵<E98AB5>蝖桃<E89D96><E6A183><EFBFBD>𡢢<EFBFBD><EFBFBD><EFBFBD><E59A97>霈歹<E99C88>
- **銝交聢璅<E79285>**嚗𡁶移蝑𥟇綫<F0A59F87><EFBFBD>靽肽<E99DBD>韐券<E99F90>
瘥讐<EFBFBD>憌擧聢<EFBFBD><EFBFBD>霂衣<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𤾸<EFBFBD>Tooltip嚗𣬚鍂<EFBFBD><EFBFBD><EFBFBD><EFBFBD>憟賬<EFBFBD>?
### 2. 摰峕㟲<E5B395><E39FB2><EFBFBD><EFBFBD>銋?
224銵𣬚<EFBFBD>TypeScript蝐餃<EFBFBD>摰帋<EFBFBD>嚗峕項<EFBFBD><EFBFBD><EFBFBD>港葵ASL璅<EFBFBD><EFBFBD><EFBFBD><EFBFBD>格芋<EFBFBD><EFBFBD>銝箏<EFBFBD>蝏剖<EFBFBD><EFBFBD><EFBFBD>靘𥕢<EFBFBD><EFBFBD>𡁜<EFBFBD><EFBFBD><EFBFBD>抅蝖<EFBFBD><EFBFBD>?
### 3. React Query<72><EFBFBD><E59786><EFBFBD>?
雿輻鍂React Query蝞∠<E89D9E><E288A0>滚𦛚蝡舐𠶖<E88890><F0A0B696><EFBFBD><EFBFBD>芸𢆡憭<F0A286A1><E686AD>嚗?
- <20>唳旿蝻枏<E89DBB>
- <20>齿鰵<E9BDBF><EFBFBD>
- Loading<6E><EFBFBD>?
- <20>躰秤憭<E7A7A4><E686AD>
- 銋鞱<E98A8B><E99EB1>湔鰵
### 4. 銵典<E98AB5>撉諹<E69289>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
-<>摮埈挾撉諹<E69289>
- <20>踹漲<E8B8B9>𣂼<EFBFBD>
- <20>见末<E8A781><E69CAB><EFBFBD>霂舀<E99C82>蝷?
---
## <20>妒 瘚贝<E7989A><E8B49D><EFBFBD><EFBFBD>
### <20>见𢆡瘚贝<E7989A>
- <20>?<3F>滨垢<E6BBA8>滚𦛚<E6BB9A>臬𢆡<E887AC>𣂼<EFBFBD> (http://localhost:5173)
- <20>?ASL璅<E79285><E288AA>券▲<E588B8>典紡<E585B8>芣迤撣豢遬蝷?
- <20>?<3F>孵稬"AI<41><EFBFBD><E7AE84><EFBFBD>讃"餈𥕦<E9A488>憿寧𤌍<E5AFA7>𡑒”憿?
- <20>?"<22>啣遣憿寧𤌍"<22>厰僼<E58EB0><EFBFBD>Modal
- <20>?銵典<E98AB5><E585B8><EFBFBD><EFBFBD><EFBFBD>畾菜迤撣詨極雿?
- <20>?蝑偦<E89D91><EFBFBD><E58EB0><EFBFBD>㗇𥋘<E39787>其漱鈭埝迤撣?
- <20>𩤃<EFBFBD> API靚<49>鍂敺<E98D82><E695BA>蝡臬鍳<E887AC><EFBFBD>瘚贝<E7989A>
### Lint璉<74><E79289>?
- <20>?<3F><><EFBFBD><EFBFBD>隞園<E99A9E><EFBFBD>ESLint璉<74><E79289>?
- <20>?<3F><>ypeScript蝐餃<E89D90><E9A483>躰秤
---
## <20>𤦉 <20>屸𢒰<E5B1B8>芸㦛
### 憿寧𤌍<E5AFA7>𡑒”憿?
```
<EFBFBD>𢞖<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
<EFBFBD>? <20><> 蝑偦<E89D91>厰★<E58EB0>桃恣<E6A183>? <20>?
<EFBFBD>? <20>𥕦遣<F0A595A6>𣬚恣<F0A3AC9A><E681A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6A183>厰★<E58EB0>? <20>?
<EFBFBD>? [<5B>啣遣憿寧𤌍] <20>?
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
<EFBFBD>?憿寧𤌍<E5AFA7>滨妍 | PICOS | 憌擧聢 | <20><EFBFBD>?| <20>園𡢿 <20>?
<EFBFBD>?(Table撅閧內嚗峕𣈲<E5B395><F0A388B2><EFBFBD>憿? <20>?
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
```
### <20>𥕦遣憿寧𤌍Modal
```
<EFBFBD>𢞖<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
<EFBFBD>? <20>𥕦遣蝑偦<E89D91>厰★<E58EB0>? [<5B>] <20>?
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
<EFBFBD>? 憿寧𤌍<E5AFA7>滨妍: [__________________] <20>?
<EFBFBD>? <20>?
<EFBFBD>? PICOS<4F><53><EFBFBD> <20>? <20>?
<EFBFBD>? <20>𢞖<EFBFBD><F0A29E96><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>? <20>?P - 鈭箇黎: [____________] <20>? <20><><EFBFBD>
<EFBFBD>? <20>?I - 撟脤<E6929F>: [____________] <20>? <20><><EFBFBD>
<EFBFBD>? <20>?C - 撖寧<E69296>: [____________] <20>? <20><><EFBFBD>
<EFBFBD>? <20>?O - 蝏枏<E89D8F>: [____________] <20>? <20><><EFBFBD>
<EFBFBD>? <20>?S - <20>𠉛弦霈曇恣: [_______] <20>? <20><><EFBFBD>
<EFBFBD>? <20><EFBFBD><E5A999><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>? <20>?
<EFBFBD>? 蝥喳<E89DA5><E596B3><EFBFBD><EFBFBD>: [______________________] <20>?
<EFBFBD>? [______________________] <20>?
<EFBFBD>? <20>?
<EFBFBD>? <20>㘾膄<E398BE><E88684><EFBFBD>: [______________________] <20>?
<EFBFBD>? [______________________] <20>?
<EFBFBD>? <20>?
<EFBFBD>? 蝑偦<E89D91><EFBFBD><E58EB0>?<3F>? <20>?
<EFBFBD>? <20>𢞖<EFBFBD><F0A29E96><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>? <20>?( ) <20><> 摰賣𠹭璅<E79285> <20>? <20><><EFBFBD>
<EFBFBD>? <20>? <20><EFBFBD><E89098><EFBFBD><EFBFBD><E59A97><EFBFBD><EFBFBD>蝥喳<E89DA5>銝漤<E98A9D>餈? <20><><EFBFBD>
<EFBFBD>? <20>?(<28>? <20><EFBFBD> <20><><EFBFBD><E79285><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
<EFBFBD>? <20>? 撟唾﹛<E594BE><EFB99B><EFBFBD><EFBC86><EFBFBD><EFBFBD><EFBFBD><E7A08D>? <20><><EFBFBD>
<EFBFBD>? <20>?( ) <20><> 銝交聢璅<E79285> <20>? <20><><EFBFBD>
<EFBFBD>? <20>? 蝎曄<E89D8E><E69B84><EFBFBD>嚗䔶<E59A97><EFBFBD><EFBFBD>? <20><><EFBFBD>
<EFBFBD>? <20><EFBFBD><E5A999><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>? <20>?
<EFBFBD>? [<5B>𡝗<EFBFBD>] [<5B>𥕦遣憿寧𤌍撟嗅紡<E59785><EFBFBD><E4BAA4><20>?
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
```
---
## <20><> <20>𡒊垢API<50><49><EFBFBD>
### 撌脣笆<E884A3>丕PI
<EFBFBD><EFBFBD><EFBFBD>𡅅PI<EFBFBD>亙藁撌脣銁<EFBFBD>滨垢摰䂿緵嚗<EFBFBD><EFBFBD><EFBFBD>𡒊垢<EFBFBD>臬𢆡<EFBFBD>𤾸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
1. `POST /api/v1/asl/projects` - <20>𥕦遣憿寧𤌍
2. `GET /api/v1/asl/projects` - <20><EFBFBD>憿寧𤌍<E5AFA7>𡑒”
3. `GET /api/v1/asl/projects/:id` - <20><EFBFBD>憿寧𤌍霂行<E99C82>
4. `PUT /api/v1/asl/projects/:id` - <20>湔鰵憿寧𤌍
5. `DELETE /api/v1/asl/projects/:id` - <20>𣳇膄憿寧𤌍
**<EFBFBD>𡒊垢<EFBFBD><EFBFBD>?*: 10銝服PI撌脣<E6928C><E884A3><EFBFBD>Week 1嚗?
---
## <20><> Day 1摰峕<E691B0><E5B395><EFBFBD>
Day 1隞餃𦛚**<2A>𣂼<EFBFBD>摰峕<E691B0>**嚗䔶蜓閬<E89C93><E996AC><EFBFBD><EFBFBD>
1. <20>?摰峕㟲<E5B395><E39FB2>𤌍敶閧<E695B6><E996A7>?
2. <20>?蝐餃<E89D90>摰帋<E691B0>蝟餌<E89D9F>
3. <20>?API摰<E691B0>蝡臬<E89DA1>鋆?
4. <20>?React Query Hooks
5. <20>?憿寧𤌍銵典<E98AB5><EFBFBD>辣嚗?*<2A><EFBFBD><E6808E><EFBFBD><E58EB0><EFBFBD>㗇𥋘<E39787>?* 潃琜<E6BD83>
6. <20>?憿寧𤌍蝞∠<E89D9E>憿菟𢒰
7. <20>?頝舐眏<E88890>滨蔭
8. <20>?<3F>滨垢<E6BBA8>滚𦛚甇<F0A69B9A>虜餈鞱<E9A488>
**鈭桃<E988AD>**嚗?
- 潃?銝厩<E98A9D>蝑偦<E89D91><EFBFBD><E58EB0><EFBFBD><E6BE86><EFBFBD><E6B8B8>?
- 潃?摰<><E691B0><EFBFBD><EFBFBD>ypeScript蝐餃<E89D90>蝟餌<E89D9F>
- 潃?<3F>见末<E8A781><E69CAB><EFBFBD><EFBFBD>撉䕘<E69289>Tooltip<69><70><EFBFBD><EFBFBD><E99C82><EFBFBD><EFBFBD>蝷綽<E89DB7>
---
## <20><> 銝衤<E98A9D>甇亥恣<E4BAA5>?
### Day 2: <20><>讃撖澆<E69296>憿?+ Excel璅⊥踎
**憸<><EFBFBD>園𡢿**: 4撠𤩺𧒄
**隞餃𦛚**:
1. <20>𥕦遣<F0A595A6><E981A3>讃撖澆<E69296>憿菟𢒰
2. 摰䂿緵Excel銝𠹺<E98A9D><EFBFBD>辣嚗<E8BEA3><E59A97>摮䁅圾<E48185><EFBFBD>銝滩氜<E6BBA9><EFBFBD>
3. 摰䂿緵<E482BF><E7B7B5>讃憸<E8AE83><E686B8>銵冽聢
4. 摰䂿緵<E482BF><EFBFBD><E9A781><EFBFBD>
5. **<EFBFBD>𣂷<EFBFBD>Excel璅⊥踎銝贝蝸<EFBFBD><EFBFBD>** 潃?
**<EFBFBD><EFBFBD>辣**:
- `pages/LiteratureImport.tsx`
- `components/ExcelUploader.tsx`
- `components/LiteratureTable.tsx`
- `hooks/useLiteratures.ts`
- `public/templates/literature-import-template.xlsx`
---
**<EFBFBD><EFBFBD>摰峕<EFBFBD><EFBFBD>園𡢿**: 2025-11-18 21:00
**銝衤<E98A9D><E8A1A4>嗆挾**: Week 2 Day 2 - <20><>讃撖澆<E69296>憿萄<E686BF><E89084>?