团队初始工作成果:
- UI设计:登录页低保真原型 + 设计规范 - 架构:技术方案文档 - 前端:初始化项目结构和依赖 - 后端:初始化项目结构和API设计 - 测试:测试计划和用例
This commit is contained in:
parent
6a8913f9bc
commit
3474a7b67e
52
architecture/technical.md
Normal file
52
architecture/technical.md
Normal 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
20
backend/README.md
Normal 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
23
backend/package.json
Normal 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
18
frontend/README.md
Normal file
@ -0,0 +1,18 @@
|
||||
# CloudDisk Frontend
|
||||
|
||||
## 开发指南
|
||||
|
||||
### 安装
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
### 开发模式
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
|
||||
### 构建
|
||||
```bash
|
||||
npm run build
|
||||
```
|
||||
22
frontend/package.json
Normal file
22
frontend/package.json
Normal 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
36
tests/README.md
Normal file
@ -0,0 +1,36 @@
|
||||
# CloudDisk 测试计划
|
||||
|
||||
## 测试策略
|
||||
|
||||
### 1. 单元测试
|
||||
- 前端: Jest + React Testing Library
|
||||
- 后端: Jest
|
||||
|
||||
### 2. 集成测试
|
||||
- API 测试: Supertest
|
||||
|
||||
### 3. E2E 测试
|
||||
- Playwright
|
||||
|
||||
## 测试用例
|
||||
|
||||
### 登录模块
|
||||
- [ ] 正确账号密码登录成功
|
||||
- [ ] 错误密码登录失败
|
||||
- [ ] 空账号登录提示错误
|
||||
|
||||
### 文件管理
|
||||
- [ ] 文件上传成功
|
||||
- [ ] 文件下载成功
|
||||
- [ ] 文件删除成功
|
||||
- [ ] 文件夹创建成功
|
||||
|
||||
### 分享功能
|
||||
- [ ] 生成分享链接
|
||||
- [ ] 通过分享链接访问
|
||||
- [ ] 密码保护分享
|
||||
|
||||
## 运行测试
|
||||
```bash
|
||||
npm test
|
||||
```
|
||||
19
ui-design/designs/colors.md
Normal file
19
ui-design/designs/colors.md
Normal file
@ -0,0 +1,19 @@
|
||||
# 设计规范 - 色彩系统
|
||||
|
||||
## 主色调
|
||||
- 主色: #1890FF (蓝色)
|
||||
- 主色悬停: #40A9FF
|
||||
- 主色按下: #096DD9
|
||||
|
||||
## 中性色
|
||||
- 背景色: #FFFFFF
|
||||
- 背景色(深): #F5F5F5
|
||||
- 边框色: #D9D9D9
|
||||
- 文字主色: #262626
|
||||
- 文字次色: #8C8C8C
|
||||
|
||||
## 功能色
|
||||
- 成功: #52C41A
|
||||
- 警告: #FAAD14
|
||||
- 错误: #FF4D4F
|
||||
- 信息: #1890FF
|
||||
24
ui-design/mockups/login-page.md
Normal file
24
ui-design/mockups/login-page.md
Normal file
@ -0,0 +1,24 @@
|
||||
# 登录页 - 低保真原型
|
||||
|
||||
## 页面布局
|
||||
```
|
||||
┌─────────────────────────────────┐
|
||||
│ │
|
||||
│ [Logo] CloudDisk │
|
||||
│ │
|
||||
│ 用户名: [____________] │
|
||||
│ 密码: [____________] │
|
||||
│ │
|
||||
│ [ ] 记住密码 │
|
||||
│ │
|
||||
│ [ 登录 ] [ 注册 ] │
|
||||
│ │
|
||||
│ 登录即表示同意服务条款 │
|
||||
└─────────────────────────────────┘
|
||||
```
|
||||
|
||||
## 交互说明
|
||||
- 输入框获得焦点时,显示蓝色边框
|
||||
- 登录按钮点击后,显示加载状态
|
||||
- 错误信息显示在表单底部,红色文字
|
||||
- 60秒无操作返回登录页
|
||||
Loading…
Reference in New Issue
Block a user