docs: update README with current project structure, init_system command, and API/frontend routes
This commit is contained in:
89
README.md
89
README.md
@@ -18,40 +18,62 @@
|
|||||||
- Django REST Framework
|
- Django REST Framework
|
||||||
- SQLite
|
- SQLite
|
||||||
- Pillow (图像处理)
|
- Pillow (图像处理)
|
||||||
|
- django-cors-headers
|
||||||
|
|
||||||
### 前端
|
### 前端
|
||||||
- Vue.js 3.x
|
- Vue.js 3.x
|
||||||
- Fabric.js 6.x (Canvas图形库)
|
- Fabric.js 7.x (Canvas 图形库)
|
||||||
- Pinia (状态管理)
|
- Pinia (状态管理)
|
||||||
- Element Plus (UI 组件库)
|
- Element Plus (UI 组件库)
|
||||||
- Vite (构建工具)
|
- Vite (构建工具)
|
||||||
|
- Sass (CSS 预处理)
|
||||||
|
|
||||||
## 项目结构
|
## 项目结构
|
||||||
|
|
||||||
```
|
```
|
||||||
poker-design-system/
|
game-cards-poker-design/
|
||||||
├── backend/ # Django 后端
|
├── backend/ # Django 后端
|
||||||
│ ├── poker_api/ # Django 项目配置
|
│ ├── poker_api/ # Django 项目配置
|
||||||
|
│ │ ├── settings.py
|
||||||
|
│ │ ├── urls.py
|
||||||
|
│ │ └── wsgi.py
|
||||||
│ ├── apps/
|
│ ├── apps/
|
||||||
│ │ ├── projects/ # 项目管理
|
│ │ ├── projects/ # 项目管理 & 素材管理
|
||||||
|
│ │ │ ├── management/commands/init_system.py # 初始化命令
|
||||||
|
│ │ │ ├── models.py
|
||||||
|
│ │ │ ├── views.py
|
||||||
|
│ │ │ └── serializers.py
|
||||||
│ │ ├── templates/ # 模板管理
|
│ │ ├── templates/ # 模板管理
|
||||||
│ │ └── exports/ # 导出服务
|
│ │ └── exports/ # 导出服务
|
||||||
│ ├── media/ # 上传的素材文件
|
│ ├── media/ # 上传的素材文件 (projects/, export/)
|
||||||
|
│ ├── manage.py
|
||||||
│ ├── db.sqlite3 # SQLite 数据库
|
│ ├── db.sqlite3 # SQLite 数据库
|
||||||
│ └── requirements.txt
|
│ └── requirements.txt
|
||||||
│
|
│
|
||||||
├── frontend/ # Vue 前端
|
├── frontend/ # Vue 前端
|
||||||
│ ├── src/
|
│ ├── src/
|
||||||
│ │ ├── components/ # Vue 组件
|
│ │ ├── components/ # Vue 组件
|
||||||
|
│ │ │ ├── AssetPanel.vue # 素材面板
|
||||||
|
│ │ │ ├── DesignPanel.vue # 设计面板
|
||||||
|
│ │ │ └── AssetUploadDialog.vue
|
||||||
│ │ ├── views/ # 页面视图
|
│ │ ├── views/ # 页面视图
|
||||||
|
│ │ │ ├── Home.vue
|
||||||
|
│ │ │ ├── Editor.vue
|
||||||
|
│ │ │ └── Test.vue
|
||||||
│ │ ├── stores/ # Pinia 状态管理
|
│ │ ├── stores/ # Pinia 状态管理
|
||||||
│ │ ├── api/ # Django API调用
|
│ │ │ └── projectStore.js
|
||||||
│ │ └── utils/ # 工具函数
|
│ │ ├── api/ # 后端 API 调用
|
||||||
|
│ │ ├── utils/ # 工具函数
|
||||||
|
│ │ │ ├── cardLayout.js
|
||||||
|
│ │ │ ├── cardRenderer.js
|
||||||
|
│ │ │ └── symmetry.js
|
||||||
|
│ │ ├── router/
|
||||||
|
│ │ └── App.vue
|
||||||
│ ├── public/
|
│ ├── public/
|
||||||
|
│ ├── vite.config.js
|
||||||
│ └── package.json
|
│ └── package.json
|
||||||
│
|
│
|
||||||
└── docs/
|
└── docs/
|
||||||
└── specs/ # 设计规格文档
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## 快速开始
|
## 快速开始
|
||||||
@@ -62,6 +84,7 @@ poker-design-system/
|
|||||||
cd backend
|
cd backend
|
||||||
pip install -r requirements.txt
|
pip install -r requirements.txt
|
||||||
python manage.py migrate
|
python manage.py migrate
|
||||||
|
python manage.py init_system # 初始化示例模板和项目
|
||||||
python manage.py runserver
|
python manage.py runserver
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -134,22 +157,54 @@ npm run dev
|
|||||||
|
|
||||||
### 项目管理
|
### 项目管理
|
||||||
|
|
||||||
- `GET /api/projects/` - 获取所有项目
|
| 方法 | 路径 | 说明 |
|
||||||
- `POST /api/projects/` - 创建新项目
|
|------|------|------|
|
||||||
- `GET /api/projects/{id}/` - 获取项目详情
|
| GET | `/api/projects/` | 获取所有项目 |
|
||||||
- `PUT /api/projects/{id}/` - 更新项目
|
| POST | `/api/projects/` | 创建新项目 |
|
||||||
- `DELETE /api/projects/{id}/` - 删除项目
|
| 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 | 测试/预览页面 |
|
||||||
|
|
||||||
## 开发计划
|
## 开发计划
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user