feat(asl): Week 2 Day 2 - Excel import with template download and intelligent dedup

Features:
- feat: Excel template generation and download (with examples)
- feat: Excel file parsing in memory (cloud-native, no disk write)
- feat: Field validation (title + abstract required)
- feat: Smart deduplication (DOI priority + Title fallback)
- feat: Literature preview table with statistics
- feat: Complete submission flow (create project + import literatures)

Components:
- feat: Create excelUtils.ts with full Excel processing toolkit
- feat: Enhance TitleScreeningSettings page with upload/preview/submit
- feat: Update API interface signatures and export unified aslApi object

Dependencies:
- chore: Add xlsx library for Excel file processing

Ref: Week 2 Frontend Development - Day 2
Scope: ASL Module MVP - Title Abstract Screening
Cloud-Native: Memory parsing, no file persistence
This commit is contained in:
2025-11-19 10:24:47 +08:00
parent 3634933ece
commit 2e8699c217
178 changed files with 1937 additions and 108 deletions

View File

@@ -408,3 +408,4 @@ npm run dev

View File

@@ -77,3 +77,4 @@ export interface CacheAdapter {

View File

@@ -100,3 +100,4 @@ export class CacheFactory {

View File

@@ -52,3 +52,4 @@ export const cache = CacheFactory.getInstance()

View File

@@ -27,3 +27,4 @@ export type { HealthCheckResponse } from './healthCheck.js'

View File

@@ -83,3 +83,4 @@ export class JobFactory {

View File

@@ -90,3 +90,4 @@ export interface JobQueue {

View File

@@ -41,3 +41,4 @@ export class ClaudeAdapter extends CloseAIAdapter {

View File

@@ -38,3 +38,4 @@ export { default } from './logger.js'

View File

@@ -41,3 +41,4 @@ export { Metrics, requestTimingHook, responseTimingHook } from './metrics.js'

View File

@@ -67,3 +67,4 @@ export interface StorageAdapter {