feat: 模板预设机制 - 4 套模板各绑一组 JQK/Joker + 背景
经典 → 古典宫廷(王子/皇后/国王/小丑) 现代 → 现代人物(小孩/女青年/男青年/小丑鱼) 卡通 → 现代人物 + 暖色调 + 圆边框 复古 → 简笔符号 + 深色边框 + 米色背景 后端: - CardTemplate 新增 theme_id(绑预设主题)+ design_override(背景/边框/字体等覆盖) - 新增 apply_template_to_project():把 LibraryAsset 复制到项目素材 + 写 design - 创建项目时支持传 template_id,自动套用整套预设 - 模板列表 API 附加 library 预览(4 张图缩略) 前端 Home.vue: - 4 套模板卡片每张带 4 张缩略图(来自 library 预览) - 点模板一键创建项目 + 跳转到编辑器 - '新建空白项目' 保留为独立按钮 init_system 同步:4 套模板配置 + 应用到示例项目
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
from django.db import models
|
||||
import uuid
|
||||
|
||||
|
||||
class CardTemplate(models.Model):
|
||||
"""扑克牌模板模型"""
|
||||
"""扑克牌模板模型(经典/现代/卡通/复古 4 套预设)"""
|
||||
id = models.CharField(max_length=50, primary_key=True) # 'classic', 'modern', etc.
|
||||
name = models.CharField(max_length=100)
|
||||
description = models.TextField()
|
||||
@@ -15,7 +16,15 @@ class CardTemplate(models.Model):
|
||||
color_diamond = models.CharField(max_length=20, default='#FF0000')
|
||||
color_background = models.CharField(max_length=20, default='#FFFFFF')
|
||||
|
||||
# 默认素材路径(JSON)
|
||||
# 模板绑定的预设主题(指向 LibraryAsset.theme_id)
|
||||
# 例如 'classical' 模板 → 使用 LibraryAsset.theme_id='classical' 的所有素材
|
||||
theme_id = models.CharField(max_length=50, blank=True, default='classical')
|
||||
|
||||
# 模板级 design 覆盖:background_color / border_color / pip_size_ratio 等
|
||||
# 不填则走全局默认
|
||||
design_override = models.JSONField(default=dict)
|
||||
|
||||
# 默认素材路径(JSON,保留字段兼容老逻辑)
|
||||
default_assets = models.JSONField(default=dict)
|
||||
|
||||
created_at = models.DateTimeField(auto_now_add=True)
|
||||
|
||||
Reference in New Issue
Block a user