- 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三规范
62 lines
3.3 KiB
XML
62 lines
3.3 KiB
XML
{
|
|
"widgettype": "VBox",
|
|
"options": {"width": "100%", "height": "100%", "padding": "0px"},
|
|
"subwidgets": [
|
|
{
|
|
"widgettype": "HBox",
|
|
"options": {"width": "100%", "padding": "16px 24px", "bgcolor": "var(--bricks-card-bg, #fff)", "borderBottom": "1px solid var(--bricks-border, #eee)"},
|
|
"subwidgets": [
|
|
{"widgettype": "Title", "options": {"text": "展示平台", "fontSize": "22px", "fontWeight": "bold", "flex": "1"}},
|
|
{
|
|
"widgettype": "HBox",
|
|
"options": {"gap": "8px"},
|
|
"subwidgets": [
|
|
{
|
|
"widgettype": "Button",
|
|
"options": {"label": "全部", "id": "btn_all", "cfontsize": 0.85},
|
|
"binds": [{"wid": "self", "event": "click", "actiontype": "registerfunction", "target": "filterByType", "options": {"type": ""}}]
|
|
},
|
|
{
|
|
"widgettype": "Button",
|
|
"options": {"label": "🎵 音乐", "id": "btn_music", "cfontsize": 0.85},
|
|
"binds": [{"wid": "self", "event": "click", "actiontype": "registerfunction", "target": "filterByType", "options": {"type": "music"}}]
|
|
},
|
|
{
|
|
"widgettype": "Button",
|
|
"options": {"label": "🎬 MTV", "id": "btn_mtv", "cfontsize": 0.85},
|
|
"binds": [{"wid": "self", "event": "click", "actiontype": "registerfunction", "target": "filterByType", "options": {"type": "mtv"}}]
|
|
},
|
|
{
|
|
"widgettype": "Button",
|
|
"options": {"label": "📱 短视频", "id": "btn_short", "cfontsize": 0.85},
|
|
"binds": [{"wid": "self", "event": "click", "actiontype": "registerfunction", "target": "filterByType", "options": {"type": "short_video"}}]
|
|
},
|
|
{
|
|
"widgettype": "Button",
|
|
"options": {"label": "🎞️ 长视频", "id": "btn_long", "cfontsize": 0.85},
|
|
"binds": [{"wid": "self", "event": "click", "actiontype": "registerfunction", "target": "filterByType", "options": {"type": "long_video"}}]
|
|
},
|
|
{
|
|
"widgettype": "Button",
|
|
"options": {"label": "🎤 KTV", "id": "btn_ktv", "cfontsize": 0.85},
|
|
"binds": [{"wid": "self", "event": "click", "actiontype": "registerfunction", "target": "filterByType", "options": {"type": "ktv"}}]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"widgettype": "VBox",
|
|
"id": "showcase_feed_container",
|
|
"options": {"width": "100%", "flex": "1", "padding": "16px 24px", "overflow": "auto"},
|
|
"subwidgets": [
|
|
{
|
|
"widgettype": "ResponsableBox",
|
|
"id": "showcase_feed_grid",
|
|
"options": {"gap": "16px", "minWidth": "280px"}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|