- 在Design模型中新增video_url字段用于存储360度展示视频URL - 在DesignImage模型中新增model_3d_url字段用于存储3D模型URL - 设计路由新增生成视频接口,调用火山引擎即梦3.0 Pro API生成展示视频 - 设计路由新增生成3D模型接口,调用腾讯混元3D服务生成.glb格式3D模型 - 新增本地文件删除工具,支持强制重新生成时清理旧文件 - 设计响应Schema中添加video_url和model_3d_url字段支持前后端数据传递 - 前端设计详情页新增360度旋转3D模型展示区,支持生成、重新生成和下载3D模型 - 实现录制3D模型展示视频功能,支持捕获model-viewer旋转画面逐帧合成WebM文件下载 - 引入@google/model-viewer库作为3D模型Web组件展示支持 - 管理后台新增即梦视频生成和腾讯混元3D模型生成配置界面,方便服务密钥管理 - 前端API增加生成视频和生成3D模型接口请求方法,超时设置为10分钟以支持长时间处理 - 优化UI交互提示,新增生成中状态显示和错误提示,提升用户体验和操作反馈
31 lines
1.3 KiB
Python
31 lines
1.3 KiB
Python
"""
|
|
设计图片模型
|
|
存储每个设计的多视角图片
|
|
"""
|
|
from sqlalchemy import Column, BigInteger, Integer, String, Text, DateTime, ForeignKey
|
|
from sqlalchemy.sql import func
|
|
from sqlalchemy.orm import relationship
|
|
|
|
from ..database import Base
|
|
|
|
|
|
class DesignImage(Base):
|
|
"""设计图片表 - 存储多视角设计图"""
|
|
__tablename__ = "design_images"
|
|
|
|
id = Column(BigInteger, primary_key=True, autoincrement=True, comment="图片ID")
|
|
design_id = Column(BigInteger, ForeignKey("designs.id", ondelete="CASCADE"), nullable=False, comment="关联设计ID")
|
|
view_name = Column(String(20), nullable=False, comment="视角名称: 效果图/正面图/侧面图/背面图")
|
|
image_url = Column(Text, nullable=True, comment="图片URL路径")
|
|
model_used = Column(String(50), nullable=True, comment="使用的AI模型: flux-dev/seedream-4.5")
|
|
prompt_used = Column(Text, nullable=True, comment="实际使用的英文prompt")
|
|
sort_order = Column(Integer, default=0, comment="排序")
|
|
model_3d_url = Column(Text, nullable=True, comment="3D模型URL(.glb)")
|
|
created_at = Column(DateTime, server_default=func.now(), comment="创建时间")
|
|
|
|
# 关联关系
|
|
design = relationship("Design", back_populates="images")
|
|
|
|
def __repr__(self):
|
|
return f"<DesignImage(id={self.id}, view='{self.view_name}')>"
|