docs: update README with current project structure, init_system command, and API/frontend routes

This commit is contained in:
Poker Design Developer
2026-06-01 19:00:24 +08:00
parent f4b834840a
commit f64c94a2f4

View File

@@ -18,40 +18,62 @@
- Django REST Framework
- SQLite
- Pillow (图像处理)
- django-cors-headers
### 前端
- Vue.js 3.x
- Fabric.js 6.x (Canvas图形库)
- Fabric.js 7.x (Canvas 图形库)
- Pinia (状态管理)
- Element Plus (UI 组件库)
- Vite (构建工具)
- Sass (CSS 预处理)
## 项目结构
```
poker-design-system/
game-cards-poker-design/
├── backend/ # Django 后端
│ ├── poker_api/ # Django 项目配置
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── wsgi.py
│ ├── apps/
│ │ ├── projects/ # 项目管理
│ │ ├── projects/ # 项目管理 & 素材管理
│ │ │ ├── management/commands/init_system.py # 初始化命令
│ │ │ ├── models.py
│ │ │ ├── views.py
│ │ │ └── serializers.py
│ │ ├── templates/ # 模板管理
│ │ └── exports/ # 导出服务
│ ├── media/ # 上传的素材文件
│ ├── media/ # 上传的素材文件 (projects/, export/)
│ ├── manage.py
│ ├── db.sqlite3 # SQLite 数据库
│ └── requirements.txt
├── frontend/ # Vue 前端
│ ├── src/
│ │ ├── components/ # Vue 组件
│ │ │ ├── AssetPanel.vue # 素材面板
│ │ │ ├── DesignPanel.vue # 设计面板
│ │ │ └── AssetUploadDialog.vue
│ │ ├── views/ # 页面视图
│ │ │ ├── Home.vue
│ │ │ ├── Editor.vue
│ │ │ └── Test.vue
│ │ ├── stores/ # Pinia 状态管理
│ │ ├── api/ # Django API调用
│ │ ── utils/ # 工具函数
│ │ │ └── projectStore.js
│ │ ── api/ # 后端 API 调用
│ │ ├── utils/ # 工具函数
│ │ │ ├── cardLayout.js
│ │ │ ├── cardRenderer.js
│ │ │ └── symmetry.js
│ │ ├── router/
│ │ └── App.vue
│ ├── public/
│ ├── vite.config.js
│ └── package.json
└── docs/
└── specs/ # 设计规格文档
```
## 快速开始
@@ -62,6 +84,7 @@ poker-design-system/
cd backend
pip install -r requirements.txt
python manage.py migrate
python manage.py init_system # 初始化示例模板和项目
python manage.py runserver
```
@@ -134,22 +157,54 @@ npm run dev
### 项目管理
- `GET /api/projects/` - 获取所有项目
- `POST /api/projects/` - 创建新项目
- `GET /api/projects/{id}/` - 获取项目详情
- `PUT /api/projects/{id}/` - 更新项目
- `DELETE /api/projects/{id}/` - 删除项目
| 方法 | 路径 | 说明 |
|------|------|------|
| GET | `/api/projects/` | 获取所有项目 |
| POST | `/api/projects/` | 创建新项目 |
| GET | `/api/projects/{id}/` | 获取项目详情 |
| PUT | `/api/projects/{id}/` | 更新项目 |
| DELETE | `/api/projects/{id}/` | 删除项目 |
| POST | `/api/projects/{id}/design/` | 保存设计配置 |
### 素材管理
- `GET /api/projects/{id}/assets/` - 获取项目素材
- `POST /api/projects/{id}/assets/` - 上传素材
- `DELETE /api/projects/{id}/assets/{asset_id}/` - 删除素材
| 方法 | 路径 | 说明 |
|------|------|------|
| GET | `/api/projects/{id}/assets/` | 获取项目素材列表 |
| POST | `/api/projects/{id}/assets/` | 上传素材 |
| GET | `/api/projects/{id}/assets/{asset_id}/` | 获取素材详情 |
| DELETE | `/api/projects/{id}/assets/{asset_id}/` | 删除素材 |
### 模板管理
| 方法 | 路径 | 说明 |
|------|------|------|
| GET | `/api/templates/` | 获取模板列表 |
### 导出服务
- `POST /api/projects/{id}/export/` - 批量导出
- `GET /api/projects/{id}/export/{card_key}/` - 导出单张牌
| 方法 | 路径 | 说明 |
|------|------|------|
| POST | `/api/projects/{id}/export/` | 批量导出整副牌 |
| GET | `/api/projects/{id}/export/{card_key}/` | 导出单张牌 |
## 管理命令
### 初始化系统
```bash
python manage.py init_system
```
创建 4 种预设模板(经典、现代、卡通、复古)和一个示例项目。
## 前端路由
| 路径 | 页面 | 说明 |
|------|------|------|
| `/` | Home | 项目列表首页 |
| `/editor/:projectId?` | Editor | 设计编辑器可选项目ID |
| `/test` | Test | 测试/预览页面 |
## 开发计划