refactor(asl): ASL frontend architecture refactoring with left navigation

- feat: Create ASLLayout component with 7-module left navigation
- feat: Implement Title Screening Settings page with optimized PICOS layout
- feat: Add placeholder pages for Workbench and Results
- fix: Fix nested routing structure for React Router v6
- fix: Resolve Spin component warning in MainLayout
- fix: Add QueryClientProvider to App.tsx
- style: Optimize PICOS form layout (P+I left, C+O+S right)
- style: Align Inclusion/Exclusion criteria side-by-side
- docs: Add architecture refactoring and routing fix reports

Ref: Week 2 Frontend Development
Scope: ASL module MVP - Title Abstract Screening
This commit is contained in:
2025-11-18 21:51:51 +08:00
parent e3e7e028e8
commit 3634933ece
213 changed files with 20054 additions and 442 deletions

View File

@@ -0,0 +1,59 @@
/**
* 为ASL测试创建测试用户
*/
import { prisma } from '../src/config/database.js';
async function createTestUser() {
try {
console.log('🔍 检查测试用户是否存在...\n');
const testUserId = 'asl-test-user-001';
// 检查用户是否已存在
const existingUser = await prisma.user.findUnique({
where: { id: testUserId },
});
if (existingUser) {
console.log('✅ 测试用户已存在:');
console.log(' ID:', existingUser.id);
console.log(' 邮箱:', existingUser.email);
console.log(' 姓名:', existingUser.name);
return existingUser;
}
// 创建测试用户
const user = await prisma.user.create({
data: {
id: testUserId,
email: 'asl-test@example.com',
password: 'test-password-hash',
name: 'ASL测试用户',
role: 'user',
status: 'active',
kbQuota: 10,
kbUsed: 0,
isTrial: true,
},
});
console.log('✅ 测试用户创建成功:');
console.log(' ID:', user.id);
console.log(' 邮箱:', user.email);
console.log(' 姓名:', user.name);
console.log('\n💡 在测试脚本中使用此用户ID进行测试');
return user;
} catch (error) {
console.error('❌ 创建测试用户失败:', error);
throw error;
} finally {
await prisma.$disconnect();
}
}
createTestUser();