showcase/wwwroot/api/showcase_post_create.dspy
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

25 lines
1.1 KiB
Plaintext

try:
user_id = await get_user()
data = {
"author_id": user_id,
"author_name": params_kw.get('author_name', ''),
"title": params_kw.get('title', ''),
"description": params_kw.get('description', ''),
"media_type": params_kw.get('media_type', 'music'),
"content_url": params_kw.get('content_url', ''),
"thumbnail_url": params_kw.get('thumbnail_url', ''),
"duration": params_kw.get('duration', 0),
"file_size": params_kw.get('file_size', 0),
"model_name": params_kw.get('model_name', ''),
"model_input": params_kw.get('model_input', ''),
"model_output": params_kw.get('model_output', ''),
"tags": params_kw.get('tags', ''),
"category": params_kw.get('category', ''),
"price": float(params_kw.get('price', 0)),
"created_at": curDateString()
}
result = await create_showcase_post(data)
return json.dumps(result, ensure_ascii=False)
except Exception as e:
return json.dumps({"status": "error", "message": str(e)}, ensure_ascii=False)