fix+feat: 修复工作台接口不存在 + 3D 区域分配制重建

- 补齐公告后端: Announcement 模型 + /api/announcements + 种子公告
  (修复工作台/布局页调用不存在接口报'接口不存在')
- 修复 seed init_db 前置模型导入(announcements 表未建)
- WindoorThreed 区域分配制: 每个重放区域唯一归属
  (扇认领重叠最大区域, 其余静态玻璃), 杜绝扇面板与玻璃重叠混乱
- 全区域薄框线还原真实窗格, 扇面板含玻璃+四边扇框
This commit is contained in:
HHY
2026-09-21 02:34:53 -07:00
parent 4b52767654
commit 94c9bfe103
6 changed files with 133 additions and 62 deletions
+14
View File
@@ -210,3 +210,17 @@ async def list_articles(db: DbSession, category: str | None = None):
items = list((await db.execute(stmt)).scalars())
return ok(data=[{"id": a.id, "title": a.title, "category": a.category, "content": a.content}
for a in items])
# ---------------- 平台公告 ----------------
@router.get("/announcements")
async def list_announcements(db: DbSession):
"""平台公告(工作台轮播 + 顶栏气泡)。"""
from huamenchuang.models.announcement import Announcement
stmt = select(Announcement).order_by(Announcement.sort, Announcement.id.desc())
items = list((await db.execute(stmt)).scalars())
return ok(data=[{
"id": a.id, "name": a.name, "desc": a.desc, "content": a.content,
"pic_url": a.pic_url, "created_at": str(a.created_at),
} for a in items])