diff --git a/wwwroot/index.ui b/wwwroot/index.ui new file mode 100644 index 0000000..da14957 --- /dev/null +++ b/wwwroot/index.ui @@ -0,0 +1,138 @@ +{ + "widgettype": "HBox", + "id": "pccs_root", + "options": {"width": "100%", "height": "100%"}, + "subwidgets": [ + { + "widgettype": "VBox", + "id": "pccs_sidebar", + "options": { + "width": "220px", + "height": "100%", + "bgcolor": "#0f172a", + "padding": "0", + "flexShrink": "0" + }, + "subwidgets": [ + { + "widgettype": "VBox", + "options": { + "padding": "20px 16px", + "borderBottom": "1px solid #1e293b" + }, + "subwidgets": [ + {"widgettype": "Text", "options": { + "otext": "PCCS", + "cfontsize": 1.3, + "fontWeight": "bold", + "color": "#e2e8f0" + }}, + {"widgettype": "Text", "options": { + "otext": "算力中心集群系统", + "cfontsize": 0.75, + "color": "#64748b" + }} + ] + }, + { + "widgettype": "VBox", + "id": "pccs_menu", + "options": {"padding": "8px", "gap": "2px"}, + "subwidgets": [ + {"widgettype": "Text", "options": { + "otext": "主导航", + "cfontsize": 0.7, + "color": "#475569", + "padding": "8px 8px 4px 8px", + "fontWeight": "bold" + }} + ] + } + ] + }, + { + "widgettype": "VBox", + "id": "pccs_main", + "options": { + "css": "filler", + "bgcolor": "#f8fafc", + "overflow": "auto" + }, + "subwidgets": [ + { + "widgettype": "VBox", + "id": "dashboard_header", + "options": { + "bgcolor": "#ffffff", + "borderBottom": "1px solid #e2e8f0", + "padding": "16px 24px" + }, + "subwidgets": [ + {"widgettype": "Text", "options": { + "otext": "概览", + "cfontsize": 1.3, + "fontWeight": "bold", + "color": "#1e293b" + }}, + {"widgettype": "Text", "options": { + "otext": "算力中心资源总览", + "cfontsize": 0.85, + "color": "#64748b" + }} + ] + }, + { + "widgettype": "VBox", + "id": "dashboard_content", + "options": {"css": "filler", "padding": "24px", "gap": "20px", "overflow": "auto"}, + "subwidgets": [ + { + "widgettype": "HBox", + "options": {"gap": "16px"}, + "subwidgets": [ + { + "widgettype": "urlwidget", + "id": "card_pool", + "options": { + "url": "{{entire_url('/pcpool/api/pool_stats.dspy')}}", + "method": "GET" + } + }, + { + "widgettype": "urlwidget", + "id": "card_cluster", + "options": { + "url": "{{entire_url('/pcc/api/cluster_status_all.dspy')}}", + "method": "GET" + } + } + ] + }, + { + "widgettype": "HBox", + "options": {"gap": "16px"}, + "subwidgets": [ + { + "widgettype": "urlwidget", + "id": "card_storage", + "options": { + "url": "{{entire_url('/storage_mgr/api/storage_stats.dspy')}}", + "method": "GET" + } + }, + { + "widgettype": "urlwidget", + "id": "card_image", + "options": { + "url": "{{entire_url('/image_mgr/api/image_stats.dspy')}}", + "method": "GET" + } + } + ] + } + ] + } + ] + } + ] +}