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

9.4 KiB
Raw Blame History

ASL璅<EFBFBD> - Week 2 Day 1 摰峕<E691B0><E5B395><EFBFBD>

<EFBFBD><EFBFBD>: 2025-11-18
**撘<><E69298>煾𧫴畾?: Week 2 - <20>滨垢撘<E59EA2><E69298>? 隞餃𦛚: Day 1 - 憿寧𤌍蝞∠<E89D9E>憿? **<2A><EFBFBD>?: <20>?摰峕<E691B0>


<EFBFBD><EFBFBD> 摰峕<E691B0><E5B395><EFBFBD><EFBFBD>

<EFBFBD>?撌脣<E6928C><E884A3>𣂷遙<F0A382B7>?

1. <20><EFBFBD>蝏𤘪<E89D8F><F0A498AA>𥕦遣

frontend-v2/src/modules/asl/
<0A><EFBFBD><E98EBF><EFBFBD> pages/              # 憿菟𢒰蝏<F0A292B0><0A><EFBFBD><E98EBF><EFBFBD> components/         # <20>𡁶鍂蝏<E98D82><0A><EFBFBD><E98EBF><EFBFBD> api/                # API摰<E691B0>蝡?
<0A><EFBFBD><E98EBF><EFBFBD> hooks/              # React Hooks
<0A><EFBFBD><E98EBF><EFBFBD> types/              # TypeScript蝐餃<E89D90>
<0A><EFBFBD><E98EBF><EFBFBD> utils/              # 撌亙<E6928C><E4BA99>賣㺭
<0A><EFBFBD><E98EBF><EFBFBD> index.tsx           # 璅<E79285><E288AA>亙藁
<0A><EFBFBD><E5A999><EFBFBD> routes.tsx          # 頝舐眏<E88890>滨蔭

2. TypeScript蝐餃<E89D90>摰帋<E691B0> (224銵?

<EFBFBD><EFBFBD>: 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銵?

<EFBFBD><EFBFBD>: api/index.ts

摰䂿緵鈭<EFBFBD>誑銝𧘹PI<EFBFBD>亙藁嚗?

  • 憿寧𤌍蝞∠<EFBFBD>: 5銝服PI嚗<49><E59A97>撱箝<E692B1><E7AE9D><EFBFBD>銵具<E98AB5><E585B7><EFBFBD><E7A595><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E5959C><EFBFBD><EFBFBD><EFBFBD>
  • <EFBFBD><EFBFBD>讃蝞∠<EFBFBD>: 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銵?

<EFBFBD><EFBFBD>: 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銵?

<EFBFBD><EFBFBD>: components/ProjectForm.tsx

<EFBFBD><EFBFBD>摰峕㟲<EFBFBD><EFBFBD><EFBFBD><EFBFBD>隞塚<EFBFBD>

  • <EFBFBD>?憿寧𤌍<E5AFA7>滨妍颲枏<E9A2B2>
  • <EFBFBD>?PICOS<4F><53><EFBFBD>嚗?銝芸<E98A9D>畾蛛<E795BE>P<EFBFBD><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗?
  • <EFBFBD>?蝥喳<E89DA5><E596B3><EFBFBD><EFBFBD><EFBFBD><E59A97><EFBFBD><EFBFBD>嚗?
  • <EFBFBD>?<3F>㘾膄<E398BE><E88684><EFBFBD><EFBFBD><E59A97><EFBFBD><EFBFBD>嚗?
  • <EFBFBD>?*蝑偦<EFBFBD><EFBFBD><EFBFBD><EFBFBD>㗇𥋘<EFBFBD>? 潃?<3F><EFBFBD><E8A9A8><EFBFBD>
    • <EFBFBD><EFBFBD> 摰賣𠹭璅<E79285><EFBFBD><E59A97>蝑𥟇綫<F0A59F87><EFBFBD>
    • <EFBFBD><EFBFBD> <20><><EFBFBD><E79285><EFBFBD><EFBFBD><EFBFBD>
    • <EFBFBD><EFBFBD> 銝交聢璅<E79285><EFBFBD>移蝑𥟇綫<F0A59F87><EFBFBD>
  • <EFBFBD>?銵典<E98AB5>撉諹<E69289>
  • <EFBFBD>?Tooltip<69>鞟內

6. 憿寧𤌍蝞∠<E89D9E>憿菟𢒰 (220銵?

<EFBFBD><EFBFBD>: pages/ProjectManagement.tsx

摰峕㟲<EFBFBD><EFBFBD><EFBFBD>桃恣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>

  • <EFBFBD>?憿寧𤌍<E5AFA7>𡑒”嚗㇍able撅閧內嚗?
    • <EFBFBD>曄內憿寧𤌍<EFBFBD>滨妍<EFBFBD><EFBFBD>ICOS<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𠶖<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>撱箸𧒄<EFBFBD>?
    • <EFBFBD>曄內蝏蠘恣靽⊥<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>餅㺭<EFBFBD><EFBFBD>歇蝑偦<EFBFBD><EFBFBD><EFBFBD><EFBFBD>交㺭嚗?
  • <EFBFBD>?<3F>啣遣憿寧𤌍<E5AFA7>厰僼
  • <EFBFBD>?<3F>𥕦遣憿寧𤌍Modal嚗<6C><E59A97><EFBFBD>促rojectForm嚗?
  • <EFBFBD>?<3F><EFBFBD>憿寧𤌍霂行<E99C82>
  • <EFBFBD>?<3F>𣳇膄憿寧𤌍嚗<F0A48C8D>蒂蝖株恕嚗?
  • <EFBFBD>?<3F><EFBFBD><E59786><EFBFBD>蝑橘<E89D91><E6A998>厩阮<E58EA9><E998AE><EFBFBD><EFBFBD>劐葉<E58A90><E89189>歇摰峕<E691B0>嚗?
  • <EFBFBD>?蝑偦<E89D91><EFBFBD><E58EB0><EFBFBD>蝑橘<E89D91>摰賣𠹭<E8B3A3><F0A0B9AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
  • <EFBFBD>?蝛箇𠶖<E7AE87><F0A0B696><EFBFBD>蝷?
  • <EFBFBD>?Loading<6E><EFBFBD>?
  • <EFBFBD>?<3F>躰秤憭<E7A7A4><E686AD>

7. 頝舐眏<E88890>滨蔭

<EFBFBD><EFBFBD>: routes.tsx <20>?index.tsx

  • <EFBFBD>?<3F>滨蔭ASL璅<E79285>頝舐眏
  • <EFBFBD>?<3F><EFBFBD>頧賡△<E8B3A1><EFBFBD>隞?
  • <EFBFBD>?Suspense Loading
  • <EFBFBD>?璅<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>?

<EFBFBD><20><EFBFBD>撉峕𤣰

<EFBFBD>?Day 1撉峕𤣰<E5B395><F0A4A3B0><EFBFBD>

  • <EFBFBD>?<3F>臭誑<E887AD>𥕦遣憿寧𤌍
  • <EFBFBD>?憿寧𤌍銵典<E98AB5><E585B8><EFBFBD>鉄摰峕㟲<E5B395><E39FB2>ICOS摮埈挾
  • <EFBFBD>?*蝑偦<EFBFBD><EFBFBD><EFBFBD><EFBFBD>㗇𥋘<EFBFBD>冽迤撣詨極雿? 潃?
  • <EFBFBD>?憿寧𤌍<E5AFA7>唳旿靽嘥<E99DBD><E598A5>唳㺭<E594B3><EFBFBD><EFBFBD><E59A97><EFBFBD>API嚗?
  • <EFBFBD>?憿寧𤌍<E5AFA7>𡑒”甇<E2809D>虜撅閧內
  • <EFBFBD>?<3F>臭誑<E887AD><EFBFBD>憿寧𤌍霂行<E99C82>
  • <EFBFBD>?<3F>臭誑<E887AD>𣳇膄憿寧𤌍
  • <EFBFBD>?UI蝚血<E89D9A>Ant Design閫<6E><E996AB>
  • <EFBFBD>?TypeScript蝐餃<E89D90>摰峕㟲

<EFBFBD><EFBFBD><><E99A9E>蝏蠘恣

蝐餃<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>? <EFBFBD><EFBFBD>銵峕㺭 霂湔<EFBFBD>
蝐餃<EFBFBD>摰帋<EFBFBD> 1 224 types/index.ts
API摰<EFBFBD>蝡? 1 268 api/index.ts
Hooks 1 108 hooks/useProjects.ts
憿菟𢒰蝏<EFBFBD> 4 280 ProjectManagement + 3銝芸<E98A9D>雿漤△
<EFBFBD>𡁶鍂蝏<EFBFBD> 1 202 ProjectForm.tsx
頝舐眏<EFBFBD>滨蔭 2 60 routes.tsx + index.tsx
<EFBFBD>餉恣 10 1,142

<EFBFBD><EFBFBD> <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>嚗?

  • <EFBFBD>唳旿蝻枏<EFBFBD>
  • <EFBFBD>齿鰵<EFBFBD><EFBFBD>
  • Loading<EFBFBD><EFBFBD>?
  • <EFBFBD>躰秤憭<EFBFBD><EFBFBD>
  • 銋鞱<EFBFBD><EFBFBD>湔鰵

4. 銵典<E98AB5>撉諹<E69289>

<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>

  • <EFBFBD>摮埈挾撉諹<EFBFBD>
  • <EFBFBD>踹漲<EFBFBD>𣂼<EFBFBD>
  • <EFBFBD>见末<EFBFBD><EFBFBD><EFBFBD>霂舀<EFBFBD>蝷?

<EFBFBD>妒 瘚贝<E7989A><E8B49D><EFBFBD><EFBFBD>

<EFBFBD>见𢆡瘚贝<EFBFBD>

  • <EFBFBD>?<3F>滨垢<E6BBA8>滚𦛚<E6BB9A>臬𢆡<E887AC>𣂼<EFBFBD> (http://localhost:5173)
  • <EFBFBD>?ASL璅<E79285><E288AA>券▲<E588B8>典紡<E585B8>芣迤撣豢遬蝷?
  • <EFBFBD>?<3F>孵稬"AI<41><EFBFBD><E7AE84><EFBFBD>讃"餈𥕦<E9A488>憿寧𤌍<E5AFA7>𡑒”憿?
  • <EFBFBD>?"<22>啣遣憿寧𤌍"<22>厰僼<E58EB0><EFBFBD>Modal
  • <EFBFBD>?銵典<E98AB5><E585B8><EFBFBD><EFBFBD><EFBFBD>畾菜迤撣詨極雿?
  • <EFBFBD>?蝑偦<E89D91><EFBFBD><E58EB0><EFBFBD>㗇𥋘<E39787>其漱鈭埝迤撣?
  • <EFBFBD>𩤃<EFBFBD> API靚<49>鍂敺<E98D82><E695BA>蝡臬鍳<E887AC><EFBFBD>瘚贝<E7989A>

Lint璉<EFBFBD><EFBFBD>?

  • <EFBFBD>?<3F><><EFBFBD><EFBFBD>隞園<E99A9E><EFBFBD>ESLint璉<74><E79289>?
  • <EFBFBD>?<3F><>ypeScript蝐餃<E89D90><E9A483>躰秤

<EFBFBD>𤦉 <20>屸𢒰<E5B1B8>芸㦛

憿寧𤌍<EFBFBD>𡑒”憿?

<EFBFBD>𢞖<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
<0A>? <20><> 蝑偦<E89D91>厰★<E58EB0>桃恣<E6A183>?                        <20>?
<0A>? <20>𥕦遣<F0A595A6>𣬚恣<F0A3AC9A><E681A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6A183>厰★<E58EB0>?             <20>?
<0A>?                          [<5B>啣遣憿寧𤌍]     <20>?
<0A><EFBFBD><E98EBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
<0A>?憿寧𤌍<E5AFA7>滨妍 | PICOS | 憌擧聢 | <20><EFBFBD>?| <20>園𡢿   <20>?
<0A>?(Table撅閧內嚗峕𣈲<E5B395><F0A388B2><EFBFBD>憿?                   <20>?
<0A><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><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?

<EFBFBD>𥕦遣憿寧𤌍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>?
<0A>? <20>𥕦遣蝑偦<E89D91>厰★<E58EB0>?                  [<5B>]     <20>?
<0A><EFBFBD><E98EBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
<0A>? 憿寧𤌍<E5AFA7>滨妍: [__________________]         <20>?
<0A>?                                         <20>?
<0A>? PICOS<4F><53><EFBFBD> <20>?                           <20>?
<0A>? <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>
<0A>? <20>?P - 鈭箇黎: [____________] <20>?        <20><><EFBFBD>
<0A>? <20>?I - 撟脤<E6929F>: [____________] <20>?        <20><><EFBFBD>
<0A>? <20>?C - 撖寧<E69296>: [____________] <20>?        <20><><EFBFBD>
<0A>? <20>?O - 蝏枏<E89D8F>: [____________] <20>?        <20><><EFBFBD>
<0A>? <20>?S - <20>𠉛弦霈曇恣: [_______] <20>?         <20><><EFBFBD>
<0A>? <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>
<0A>?                                         <20>?
<0A>? 蝥喳<E89DA5><E596B3><EFBFBD><EFBFBD>: [______________________]    <20>?
<0A>?          [______________________]      <20>?
<0A>?                                         <20>?
<0A>? <20>㘾膄<E398BE><E88684><EFBFBD>: [______________________]    <20>?
<0A>?          [______________________]      <20>?
<0A>?                                         <20>?
<0A>? 蝑偦<E89D91><EFBFBD><E58EB0>?<3F>?                            <20>?
<0A>? <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>
<0A>? <20>?( ) <20><> 摰賣𠹭璅<E79285> <20>?                  <20><><EFBFBD>
<0A>? <20>?    <20><EFBFBD><E89098><EFBFBD><EFBFBD><E59A97><EFBFBD><EFBFBD>蝥喳<E89DA5>銝漤<E98A9D>餈?     <20><><EFBFBD>
<0A>? <20>?(<28>? <20><EFBFBD> <20><><EFBFBD><E79285><EFBFBD><EFBFBD><EFBFBD>             <20><><EFBFBD>
<0A>? <20>?    撟唾﹛<E594BE><EFB99B><EFBFBD><EFBC86><EFBFBD><EFBFBD><EFBFBD><E7A08D>?             <20><><EFBFBD>
<0A>? <20>?( ) <20><> 銝交聢璅<E79285> <20>?                  <20><><EFBFBD>
<0A>? <20>?    蝎曄<E89D8E><E69B84><EFBFBD>嚗䔶<E59A97><EFBFBD><EFBFBD>?             <20><><EFBFBD>
<0A>? <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>
<0A>?                                         <20>?
<0A>?             [<5B>𡝗<EFBFBD>] [<5B>𥕦遣憿寧𤌍撟嗅紡<E59785><EFBFBD><E4BAA4><20>?
<0A><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><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?

<EFBFBD><EFBFBD> <20>𡒊垢API<50><49><EFBFBD>

撌脣笆<EFBFBD>丕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>𣳇膄憿寧𤌍

**<2A>𡒊垢<F0A1928A><EFBFBD>?*: 10銝服PI撌脣<E6928C><E884A3><EFBFBD>Week 1嚗?


<EFBFBD><EFBFBD> Day 1摰峕<E691B0><E5B395><EFBFBD>

Day 1隞餃𦛚**<2A>𣂼<EFBFBD>摰峕<E691B0>**嚗䔶蜓閬<E89C93><E996AC><EFBFBD><EFBFBD>

  1. <EFBFBD>?摰峕㟲<E5B395><E39FB2>𤌍敶閧<E695B6><E996A7>?
  2. <EFBFBD>?蝐餃<E89D90>摰帋<E691B0>蝟餌<E89D9F>
  3. <EFBFBD>?API摰<E691B0>蝡臬<E89DA1>鋆?
  4. <EFBFBD>?React Query Hooks
  5. <EFBFBD>?憿寧𤌍銵典<E98AB5><EFBFBD>辣嚗?<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㗇𥋘<EFBFBD>? 潃琜<E6BD83>
  6. <EFBFBD>?憿寧𤌍蝞∠<E89D9E>憿菟𢒰
  7. <EFBFBD>?頝舐眏<E88890>滨蔭
  8. <EFBFBD>?<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>

<EFBFBD><EFBFBD> 銝衤<E98A9D>甇亥恣<E4BAA5>?

Day 2: <20><>讃撖澆<E69296>憿?+ Excel璅⊥踎

<EFBFBD><EFBFBD>園𡢿: 4撠𤩺𧒄

隞餃𦛚:

  1. <EFBFBD>𥕦遣<EFBFBD><EFBFBD>讃撖澆<EFBFBD>憿菟𢒰
  2. 摰䂿緵Excel銝𠹺<EFBFBD><EFBFBD>辣嚗<EFBFBD><EFBFBD>摮䁅圾<EFBFBD><EFBFBD>銝滩氜<EFBFBD><EFBFBD>
  3. 摰䂿緵<EFBFBD><EFBFBD>讃憸<EFBFBD><EFBFBD>銵冽聢
  4. 摰䂿緵<EFBFBD><EFBFBD><EFBFBD><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
銝衤<EFBFBD><EFBFBD>嗆挾: Week 2 Day 2 - <20><>讃撖澆<E69296>憿萄<E686BF><E89084>?