团队初始工作成果:

- UI设计:登录页低保真原型 + 设计规范
- 架构:技术方案文档
- 前端:初始化项目结构和依赖
- 后端:初始化项目结构和API设计
- 测试:测试计划和用例
This commit is contained in:
Team 2026-03-10 07:06:13 +00:00
parent 6a8913f9bc
commit 3474a7b67e
8 changed files with 214 additions and 0 deletions

52
architecture/technical.md Normal file
View File

@ -0,0 +1,52 @@
# 技术方案
## 技术选型
### 前端
- Electron 28+
- React 18
- TypeScript 5
- Zustand (状态管理)
- Ant Design 5
- electron-builder (打包)
### 后端
- Node.js 20+
- Express 4
- SQLite3 (本地) / MySQL (云端)
- JWT (认证)
- Multer (文件上传)
## 目录结构
```
clouddisk-project/
├── frontend/ # Electron 前端
│ ├── src/
│ │ ├── main/ # 主进程
│ │ ├── renderer/ # 渲染进程
│ │ ├── components/
│ │ ├── pages/
│ │ └── stores/
│ └── package.json
├── backend/ # Node.js 后端
│ ├── src/
│ │ ├── controllers/
│ │ ├── models/
│ │ ├── routes/
│ │ ├── middleware/
│ │ └── utils/
│ └── package.json
└── tests/ # 测试代码
├── frontend/
├── backend/
└── e2e/
```
## 安全方案
1. HTTPS 传输加密
2. JWT Token 认证
3. 文件哈希校验
4. 分享链接过期机制

20
backend/README.md Normal file
View File

@ -0,0 +1,20 @@
# CloudDisk Backend
## 开发指南
### 安装
```bash
npm install
```
### 启动
```bash
npm start
```
### API 端点
- POST /api/auth/login
- POST /api/auth/register
- GET /api/files
- POST /api/files/upload
- DELETE /api/files/:id

23
backend/package.json Normal file
View File

@ -0,0 +1,23 @@
{
"name": "clouddisk-backend",
"version": "1.0.0",
"description": "CloudDisk Node.js Backend",
"main": "src/index.js",
"scripts": {
"start": "node src/index.js",
"dev": "nodemon src/index.js",
"test": "jest"
},
"dependencies": {
"express": "^4.18.0",
"sqlite3": "^5.1.0",
"jsonwebtoken": "^9.0.0",
"multer": "^1.4.5",
"bcrypt": "^5.1.0",
"cors": "^2.8.5"
},
"devDependencies": {
"nodemon": "^3.0.0",
"jest": "^29.7.0"
}
}

18
frontend/README.md Normal file
View File

@ -0,0 +1,18 @@
# CloudDisk Frontend
## 开发指南
### 安装
```bash
npm install
```
### 开发模式
```bash
npm run dev
```
### 构建
```bash
npm run build
```

22
frontend/package.json Normal file
View File

@ -0,0 +1,22 @@
{
"name": "clouddisk-frontend",
"version": "1.0.0",
"description": "CloudDisk Electron Frontend",
"main": "dist/main/index.js",
"scripts": {
"dev": "electron .",
"build": "electron-builder",
"test": "jest"
},
"dependencies": {
"react": "^18.2.0",
"react-dom": "^18.2.0",
"zustand": "^4.4.0",
"antd": "^5.12.0"
},
"devDependencies": {
"electron": "^28.0.0",
"electron-builder": "^24.9.0",
"typescript": "^5.3.0"
}
}

36
tests/README.md Normal file
View File

@ -0,0 +1,36 @@
# CloudDisk 测试计划
## 测试策略
### 1. 单元测试
- 前端: Jest + React Testing Library
- 后端: Jest
### 2. 集成测试
- API 测试: Supertest
### 3. E2E 测试
- Playwright
## 测试用例
### 登录模块
- [ ] 正确账号密码登录成功
- [ ] 错误密码登录失败
- [ ] 空账号登录提示错误
### 文件管理
- [ ] 文件上传成功
- [ ] 文件下载成功
- [ ] 文件删除成功
- [ ] 文件夹创建成功
### 分享功能
- [ ] 生成分享链接
- [ ] 通过分享链接访问
- [ ] 密码保护分享
## 运行测试
```bash
npm test
```

View File

@ -0,0 +1,19 @@
# 设计规范 - 色彩系统
## 主色调
- 主色: #1890FF (蓝色)
- 主色悬停: #40A9FF
- 主色按下: #096DD9
## 中性色
- 背景色: #FFFFFF
- 背景色(深): #F5F5F5
- 边框色: #D9D9D9
- 文字主色: #262626
- 文字次色: #8C8C8C
## 功能色
- 成功: #52C41A
- 警告: #FAAD14
- 错误: #FF4D4F
- 信息: #1890FF

View File

@ -0,0 +1,24 @@
# 登录页 - 低保真原型
## 页面布局
```
┌─────────────────────────────────┐
│ │
│ [Logo] CloudDisk │
│ │
│ 用户名: [____________] │
│ 密码: [____________] │
│ │
│ [ ] 记住密码 │
│ │
│ [ 登录 ] [ 注册 ] │
│ │
│ 登录即表示同意服务条款 │
└─────────────────────────────────┘
```
## 交互说明
- 输入框获得焦点时,显示蓝色边框
- 登录按钮点击后,显示加载状态
- 错误信息显示在表单底部,红色文字
- 60秒无操作返回登录页