- 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三规范
51 lines
2.9 KiB
JSON
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'"
|
|
}
|
|
]
|
|
}
|