showcase/models/showcase_posts.json
yumoqing 1cce05a119 feat: showcase模块 - 产品展示平台(MVP)
- 4张数据表: posts/comments/likes/downloads
- 5种媒体类型: music/mtv/short_video/long_video/ktv
- 社交功能: 点赞(toggle)、评论(嵌套回复)
- KTV付费下载: 购买记录、下载计数
- 11个dspy API端点
- 3个CRUD管理界面(posts/comments/downloads)
- Feed流(类型筛选+分页)、作品详情(浏览计数+点赞状态)
- load_path.py RBAC权限注册
- 符合module/db-table/crud三规范
2026-06-11 14:46:02 +08:00

51 lines
2.9 KiB
JSON

{
"summary": [
{
"name": "showcase_posts",
"title": "展示作品表",
"primary": ["id"]
}
],
"fields": [
{"name": "id", "title": "主键ID", "type": "str", "length": 32, "nullable": "no"},
{"name": "author_id", "title": "作者用户ID", "type": "str", "length": 32, "nullable": "no"},
{"name": "author_name", "title": "作者名称", "type": "str", "length": 128},
{"name": "title", "title": "作品标题", "type": "str", "length": 256, "nullable": "no"},
{"name": "description", "title": "作品描述", "type": "text"},
{"name": "media_type", "title": "媒体类型(music/mtv/short_video/long_video/ktv)", "type": "str", "length": 32, "nullable": "no"},
{"name": "content_url", "title": "主内容文件URL", "type": "str", "length": 1024},
{"name": "thumbnail_url", "title": "缩略图/封面URL", "type": "str", "length": 1024},
{"name": "duration", "title": "时长(秒)", "type": "int"},
{"name": "file_size", "title": "文件大小(bytes)", "type": "long"},
{"name": "model_name", "title": "生成模型名称", "type": "str", "length": 128},
{"name": "model_input", "title": "模型输入prompt", "type": "text"},
{"name": "model_output", "title": "模型原始输出", "type": "text"},
{"name": "tags", "title": "标签(逗号分隔)", "type": "str", "length": 512},
{"name": "category", "title": "内容分类", "type": "str", "length": 64},
{"name": "like_count", "title": "点赞数", "type": "int", "default": "0"},
{"name": "comment_count", "title": "评论数", "type": "int", "default": "0"},
{"name": "view_count", "title": "浏览数", "type": "int", "default": "0"},
{"name": "download_count", "title": "下载数", "type": "int", "default": "0"},
{"name": "is_featured", "title": "是否精选(0/1)", "type": "str", "length": 1, "default": "0"},
{"name": "status", "title": "状态(0待审核/1已发布/2已下架)", "type": "str", "length": 1, "default": "1"},
{"name": "price", "title": "付费价格(0=免费)", "type": "double", "length": 10, "dec": 2, "default": "0.00"},
{"name": "created_at", "title": "创建时间", "type": "timestamp", "nullable": "no"},
{"name": "updated_at", "title": "更新时间", "type": "timestamp"}
],
"indexes": [
{"name": "idx_posts_author", "idxtype": "index", "idxfields": ["author_id"]},
{"name": "idx_posts_media_type", "idxtype": "index", "idxfields": ["media_type"]},
{"name": "idx_posts_status", "idxtype": "index", "idxfields": ["status"]},
{"name": "idx_posts_created", "idxtype": "index", "idxfields": ["created_at"]}
],
"codes": [
{
"field": "media_type",
"table": "appcodes_kv",
"valuefield": "k",
"textfield": "v",
"cond": "parentid='showcase_media_type'"
}
]
}