- UI设计: 文件列表页 Draw.io 设计稿 - 架构: 数据库设计文档 - 后端: 用户认证接口实现 (login/register) 待完成: - 前端 Electron 主进程开发 - 文件管理 API 开发 - 测试用例编写
58 lines
1.7 KiB
Markdown
58 lines
1.7 KiB
Markdown
# 数据库设计
|
|
|
|
## 表结构
|
|
|
|
### users (用户表)
|
|
| 字段 | 类型 | 说明 |
|
|
|------|------|------|
|
|
| id | INTEGER PRIMARY KEY | 用户ID |
|
|
| username | VARCHAR(50) UNIQUE | 用户名 |
|
|
| password_hash | VARCHAR(255) | 密码哈希 |
|
|
| email | VARCHAR(100) | 邮箱 |
|
|
| created_at | DATETIME | 创建时间 |
|
|
| updated_at | DATETIME | 更新时间 |
|
|
| storage_used | BIGINT | 已用存储(字节) |
|
|
| storage_limit | BIGINT | 存储上限(字节) |
|
|
|
|
### files (文件表)
|
|
| 字段 | 类型 | 说明 |
|
|
|------|------|------|
|
|
| id | INTEGER PRIMARY KEY | 文件ID |
|
|
| user_id | INTEGER | 所属用户ID |
|
|
| parent_id | INTEGER | 父文件夹ID |
|
|
| name | VARCHAR(255) | 文件名 |
|
|
| type | VARCHAR(20) | 文件类型 |
|
|
| size | BIGINT | 文件大小 |
|
|
| path | VARCHAR(500) | 存储路径 |
|
|
| hash | VARCHAR(64) | 文件哈希 |
|
|
| is_folder | BOOLEAN | 是否文件夹 |
|
|
| created_at | DATETIME | 创建时间 |
|
|
| updated_at | DATETIME | 更新时间 |
|
|
| deleted_at | DATETIME | 删除时间 |
|
|
|
|
### shares (分享表)
|
|
| 字段 | 类型 | 说明 |
|
|
|------|------|------|
|
|
| id | INTEGER PRIMARY KEY | 分享ID |
|
|
| file_id | INTEGER | 文件ID |
|
|
| share_token | VARCHAR(64) | 分享令牌 |
|
|
| password | VARCHAR(255) | 访问密码 |
|
|
| expires_at | DATETIME | 过期时间 |
|
|
| view_count | INTEGER | 查看次数 |
|
|
| created_at | DATETIME | 创建时间 |
|
|
|
|
### sync_logs (同步日志)
|
|
| 字段 | 类型 | 说明 |
|
|
|------|------|------|
|
|
| id | INTEGER PRIMARY KEY | 日志ID |
|
|
| user_id | INTEGER | 用户ID |
|
|
| file_id | INTEGER | 文件ID |
|
|
| action | VARCHAR(20) | 操作类型 |
|
|
| status | VARCHAR(20) | 状态 |
|
|
| created_at | DATETIME | 创建时间 |
|
|
|
|
## 索引
|
|
- files: user_id, parent_id, hash
|
|
- shares: share_token
|
|
- sync_logs: user_id, created_at
|