feat: business-oriented UI - engine cards, plan selection, upload zone

This commit is contained in:
yumoqing 2026-07-22 17:24:25 +08:00
parent 0fe57eaa4a
commit 640700f974
4 changed files with 360 additions and 52 deletions

View File

@ -1,18 +1,65 @@
{
"widgettype": "Tabular",
"widgettype": "VBox",
"options": {
"title": "文档管理",
"data_url": "{{entire_url('/api/kb/list')}}",
"page_rows": 20,
"css": "card",
"row_options": {
"fields": [
{"name": "file_name", "title": "文件名", "type": "str", "length": 255, "uitype": "str"},
{"name": "file_type", "title": "类型", "type": "str", "length": 32, "uitype": "str"},
{"name": "file_size", "title": "大小", "type": "int", "length": 0, "uitype": "int"},
{"name": "status", "title": "状态", "type": "str", "length": 16, "uitype": "str"},
{"name": "created_at", "title": "上传时间", "type": "str", "length": 0, "uitype": "str"}
"cheight": 40,
"width": "100%",
"padding": "16px",
"spacing": "12px"
},
"subwidgets": [
{
"widgettype": "HBox",
"options": {
"width": "100%",
"justifyContent": "space-between",
"alignItems": "center"
},
"subwidgets": [
{
"widgettype": "VBox",
"options": {"spacing": "4px"},
"subwidgets": [
{"widgettype": "Text", "options": {"text": "文档管理", "cfontsize": 22, "fontWeight": "bold", "color": "#333"}},
{"widgettype": "Text", "options": {"text": "上传文本、图片、音频、视频文件", "cfontsize": 14, "color": "#888"}}
]
},
{
"widgettype": "Button",
"options": {
"label": "📁 上传文件",
"bgcolor": "#50b86c",
"color": "#fff"
}
}
]
},
{
"widgettype": "VBox",
"options": {
"width": "100%",
"cheight": 8,
"bgcolor": "#f8f9fa",
"padding": "24px",
"css": "card",
"border": "2px dashed #d0d0d0",
"alignItems": "center",
"justifyContent": "center"
},
"subwidgets": [
{"widgettype": "Text", "options": {"text": "📂", "cfontsize": 32}},
{"widgettype": "Text", "options": {"text": "拖拽文件到此处上传", "cfontsize": 16, "color": "#888"}},
{"widgettype": "Text", "options": {"text": "支持: TXT, PDF, JPG, PNG, MP3, WAV, MP4, AVI", "cfontsize": 12, "color": "#aaa"}},
{"widgettype": "Text", "options": {"text": "单个文件最大 500MB · 自动向量化入库", "cfontsize": 12, "color": "#aaa"}}
]
},
{
"widgettype": "Text",
"options": {
"text": "暂无文档",
"color": "#aaa",
"cfontsize": 14,
"halign": "center"
}
}
}
]
}

View File

@ -1,18 +1,148 @@
{
"widgettype": "Tabular",
"widgettype": "VBox",
"options": {
"title": "引擎配置",
"data_url": "{{entire_url('/api/engines')}}",
"page_rows": 20,
"css": "card",
"row_options": {
"fields": [
{"name": "engine_type", "title": "引擎类型", "type": "str", "length": 32, "uitype": "str"},
{"name": "engine_name", "title": "名称", "type": "str", "length": 64, "uitype": "str"},
{"name": "endpoint_url", "title": "服务地址", "type": "str", "length": 255, "uitype": "str"},
{"name": "model_name", "title": "模型", "type": "str", "length": 128, "uitype": "str"},
{"name": "status", "title": "状态", "type": "str", "length": 16, "uitype": "str"}
"cheight": 40,
"width": "100%",
"padding": "16px",
"spacing": "16px"
},
"subwidgets": [
{
"widgettype": "Text",
"options": {
"text": "引擎配置",
"cfontsize": 22,
"fontWeight": "bold",
"color": "#333"
}
},
{
"widgettype": "Text",
"options": {
"text": "管理多媒体RAG的各层引擎支持租户级自定义覆盖",
"color": "#888",
"cfontsize": 14
}
},
{
"widgettype": "HBox",
"options": {
"width": "100%",
"spacing": "12px",
"wrap": true
},
"subwidgets": [
{
"widgettype": "VBox",
"options": {
"cwidth": 20,
"cheight": 10,
"bgcolor": "#f8f9fa",
"padding": "12px",
"css": "card"
},
"subwidgets": [
{"widgettype": "Text", "options": {"text": "🔤 向量化引擎", "cfontsize": 16, "fontWeight": "bold"}},
{"widgettype": "Text", "options": {"text": "CLIP ViT-H-14", "cfontsize": 14, "color": "#4a90d9"}},
{"widgettype": "Text", "options": {"text": "1024维 · 图文跨模态", "cfontsize": 12, "color": "#888"}},
{"widgettype": "Text", "options": {"text": "状态: ✅ 运行中", "cfontsize": 12, "color": "#50b86c"}},
{"widgettype": "Text", "options": {"text": "端口: 9086", "cfontsize": 12, "color": "#aaa"}}
]
},
{
"widgettype": "VBox",
"options": {
"cwidth": 20,
"cheight": 10,
"bgcolor": "#f8f9fa",
"padding": "12px",
"css": "card"
},
"subwidgets": [
{"widgettype": "Text", "options": {"text": "🗄️ 向量数据库", "cfontsize": 16, "fontWeight": "bold"}},
{"widgettype": "Text", "options": {"text": "Milvus Lite", "cfontsize": 14, "color": "#4a90d9"}},
{"widgettype": "Text", "options": {"text": "COSINE度量 · HNSW索引", "cfontsize": 12, "color": "#888"}},
{"widgettype": "Text", "options": {"text": "状态: ✅ 运行中", "cfontsize": 12, "color": "#50b86c"}},
{"widgettype": "Text", "options": {"text": "端口: 8886", "cfontsize": 12, "color": "#aaa"}}
]
},
{
"widgettype": "VBox",
"options": {
"cwidth": 20,
"cheight": 10,
"bgcolor": "#f8f9fa",
"padding": "12px",
"css": "card"
},
"subwidgets": [
{"widgettype": "Text", "options": {"text": "📊 重排引擎", "cfontsize": 16, "fontWeight": "bold"}},
{"widgettype": "Text", "options": {"text": "BGE Reranker v2-m3", "cfontsize": 14, "color": "#4a90d9"}},
{"widgettype": "Text", "options": {"text": "Cross-encoder精排", "cfontsize": 12, "color": "#888"}},
{"widgettype": "Text", "options": {"text": "状态: ✅ 运行中", "cfontsize": 12, "color": "#50b86c"}},
{"widgettype": "Text", "options": {"text": "端口: 9090", "cfontsize": 12, "color": "#aaa"}}
]
},
{
"widgettype": "VBox",
"options": {
"cwidth": 20,
"cheight": 10,
"bgcolor": "#f8f9fa",
"padding": "12px",
"css": "card"
},
"subwidgets": [
{"widgettype": "Text", "options": {"text": "🕸️ 知识图谱", "cfontsize": 16, "fontWeight": "bold"}},
{"widgettype": "Text", "options": {"text": "NetworkX", "cfontsize": 14, "color": "#4a90d9"}},
{"widgettype": "Text", "options": {"text": "实体关系 · 邻居查询", "cfontsize": 12, "color": "#888"}},
{"widgettype": "Text", "options": {"text": "状态: ✅ 运行中", "cfontsize": 12, "color": "#50b86c"}},
{"widgettype": "Text", "options": {"text": "端口: 9092", "cfontsize": 12, "color": "#aaa"}}
]
},
{
"widgettype": "VBox",
"options": {
"cwidth": 20,
"cheight": 10,
"bgcolor": "#f8f9fa",
"padding": "12px",
"css": "card"
},
"subwidgets": [
{"widgettype": "Text", "options": {"text": "🏷️ 实体识别", "cfontsize": 16, "fontWeight": "bold"}},
{"widgettype": "Text", "options": {"text": "GLiNER Multitask", "cfontsize": 14, "color": "#4a90d9"}},
{"widgettype": "Text", "options": {"text": "零样本NER · 中文支持", "cfontsize": 12, "color": "#888"}},
{"widgettype": "Text", "options": {"text": "状态: ✅ 运行中", "cfontsize": 12, "color": "#50b86c"}},
{"widgettype": "Text", "options": {"text": "端口: 9093", "cfontsize": 12, "color": "#aaa"}}
]
},
{
"widgettype": "VBox",
"options": {
"cwidth": 20,
"cheight": 10,
"bgcolor": "#f8f9fa",
"padding": "12px",
"css": "card"
},
"subwidgets": [
{"widgettype": "Text", "options": {"text": "👤 人脸识别", "cfontsize": 16, "fontWeight": "bold"}},
{"widgettype": "Text", "options": {"text": "InsightFace buffalo_l", "cfontsize": 14, "color": "#4a90d9"}},
{"widgettype": "Text", "options": {"text": "检测+识别 · 512维", "cfontsize": 12, "color": "#888"}},
{"widgettype": "Text", "options": {"text": "状态: ✅ 运行中", "cfontsize": 12, "color": "#50b86c"}},
{"widgettype": "Text", "options": {"text": "端口: 9091", "cfontsize": 12, "color": "#aaa"}}
]
}
]
},
{
"widgettype": "Text",
"options": {
"text": "💡 引擎默认全局配置,租户可在订阅设置中覆盖为私有实例",
"color": "#aaa",
"cfontsize": 12
}
}
}
]
}

View File

@ -1,18 +1,46 @@
{
"widgettype": "Tabular",
"widgettype": "VBox",
"options": {
"title": "知识库管理",
"data_url": "{{entire_url('/api/kb/list')}}",
"page_rows": 20,
"css": "card",
"row_options": {
"fields": [
{"name": "name", "title": "名称", "type": "str", "length": 100, "uitype": "str"},
{"name": "description", "title": "描述", "type": "text", "length": 0, "uitype": "text"},
{"name": "doc_count", "title": "文档数", "type": "int", "length": 0, "uitype": "int"},
{"name": "embedding_engine", "title": "向量引擎", "type": "str", "length": 64, "uitype": "str"},
{"name": "created_at", "title": "创建时间", "type": "str", "length": 0, "uitype": "str"}
"cheight": 40,
"width": "100%",
"padding": "16px",
"spacing": "12px"
},
"subwidgets": [
{
"widgettype": "HBox",
"options": {
"width": "100%",
"justifyContent": "space-between",
"alignItems": "center"
},
"subwidgets": [
{
"widgettype": "VBox",
"options": {"spacing": "4px"},
"subwidgets": [
{"widgettype": "Text", "options": {"text": "知识库管理", "cfontsize": 22, "fontWeight": "bold", "color": "#333"}},
{"widgettype": "Text", "options": {"text": "创建和管理您的多媒体知识库", "cfontsize": 14, "color": "#888"}}
]
},
{
"widgettype": "Button",
"options": {
"label": "+ 新建知识库",
"bgcolor": "#4a90d9",
"color": "#fff"
}
}
]
},
{
"widgettype": "Text",
"options": {
"text": "暂无知识库,点击上方按钮创建第一个知识库",
"color": "#aaa",
"cfontsize": 14,
"halign": "center"
}
}
}
]
}

View File

@ -1,18 +1,121 @@
{
"widgettype": "Tabular",
"widgettype": "VBox",
"options": {
"title": "订阅管理",
"data_url": "{{entire_url('/api/kb/list')}}",
"page_rows": 20,
"css": "card",
"row_options": {
"fields": [
{"name": "plan_name", "title": "套餐", "type": "str", "length": 64, "uitype": "str"},
{"name": "disk_quota_bytes", "title": "磁盘配额", "type": "int", "length": 0, "uitype": "int"},
{"name": "disk_used_bytes", "title": "已用磁盘", "type": "int", "length": 0, "uitype": "int"},
{"name": "doc_used", "title": "文档数", "type": "int", "length": 0, "uitype": "int"},
{"name": "status", "title": "状态", "type": "str", "length": 16, "uitype": "str"}
"cheight": 40,
"width": "100%",
"padding": "16px",
"spacing": "16px"
},
"subwidgets": [
{
"widgettype": "Text",
"options": {
"text": "订阅管理",
"cfontsize": 22,
"fontWeight": "bold",
"color": "#333"
}
},
{
"widgettype": "Text",
"options": {
"text": "选择适合您的套餐,按磁盘容量计费,随时升级",
"color": "#888",
"cfontsize": 14
}
},
{
"widgettype": "HBox",
"options": {
"width": "100%",
"spacing": "16px",
"justifyContent": "center"
},
"subwidgets": [
{
"widgettype": "VBox",
"options": {
"cwidth": 18,
"bgcolor": "#ffffff",
"padding": "20px",
"css": "card",
"border": "2px solid #e0e0e0"
},
"subwidgets": [
{"widgettype": "Text", "options": {"text": "Free", "cfontsize": 20, "fontWeight": "bold", "color": "#333"}},
{"widgettype": "Text", "options": {"text": "免费试用", "cfontsize": 14, "color": "#888"}},
{"widgettype": "Text", "options": {"text": ""}},
{"widgettype": "Text", "options": {"text": "¥0/月", "cfontsize": 28, "fontWeight": "bold", "color": "#4a90d9"}},
{"widgettype": "Text", "options": {"text": ""}},
{"widgettype": "Text", "options": {"text": "✓ 1GB 磁盘容量", "cfontsize": 13, "color": "#666"}},
{"widgettype": "Text", "options": {"text": "✓ 100 文档", "cfontsize": 13, "color": "#666"}},
{"widgettype": "Text", "options": {"text": "✓ 3 知识库", "cfontsize": 13, "color": "#666"}},
{"widgettype": "Text", "options": {"text": "✓ 基础向量化引擎", "cfontsize": 13, "color": "#666"}},
{"widgettype": "Text", "options": {"text": "✗ 自定义引擎", "cfontsize": 13, "color": "#ccc"}},
{"widgettype": "Text", "options": {"text": "✗ 知识图谱", "cfontsize": 13, "color": "#ccc"}},
{"widgettype": "Text", "options": {"text": ""}},
{"widgettype": "Button", "options": {"label": "当前套餐", "bgcolor": "#e0e0e0", "color": "#888"}}
]
},
{
"widgettype": "VBox",
"options": {
"cwidth": 18,
"bgcolor": "#f0f7ff",
"padding": "20px",
"css": "card",
"border": "2px solid #4a90d9"
},
"subwidgets": [
{"widgettype": "Text", "options": {"text": "Pro", "cfontsize": 20, "fontWeight": "bold", "color": "#4a90d9"}},
{"widgettype": "Text", "options": {"text": "推荐", "cfontsize": 14, "color": "#4a90d9"}},
{"widgettype": "Text", "options": {"text": ""}},
{"widgettype": "Text", "options": {"text": "¥299/月", "cfontsize": 28, "fontWeight": "bold", "color": "#4a90d9"}},
{"widgettype": "Text", "options": {"text": ""}},
{"widgettype": "Text", "options": {"text": "✓ 50GB 磁盘容量", "cfontsize": 13, "color": "#666"}},
{"widgettype": "Text", "options": {"text": "✓ 5000 文档", "cfontsize": 13, "color": "#666"}},
{"widgettype": "Text", "options": {"text": "✓ 20 知识库", "cfontsize": 13, "color": "#666"}},
{"widgettype": "Text", "options": {"text": "✓ 全引擎支持", "cfontsize": 13, "color": "#666"}},
{"widgettype": "Text", "options": {"text": "✓ 自定义引擎配置", "cfontsize": 13, "color": "#666"}},
{"widgettype": "Text", "options": {"text": "✓ 知识图谱+人脸识别", "cfontsize": 13, "color": "#666"}},
{"widgettype": "Text", "options": {"text": ""}},
{"widgettype": "Button", "options": {"label": "升级到 Pro", "bgcolor": "#4a90d9", "color": "#fff"}}
]
},
{
"widgettype": "VBox",
"options": {
"cwidth": 18,
"bgcolor": "#ffffff",
"padding": "20px",
"css": "card",
"border": "2px solid #e0e0e0"
},
"subwidgets": [
{"widgettype": "Text", "options": {"text": "Enterprise", "cfontsize": 20, "fontWeight": "bold", "color": "#333"}},
{"widgettype": "Text", "options": {"text": "企业定制", "cfontsize": 14, "color": "#888"}},
{"widgettype": "Text", "options": {"text": ""}},
{"widgettype": "Text", "options": {"text": "联系我们", "cfontsize": 28, "fontWeight": "bold", "color": "#333"}},
{"widgettype": "Text", "options": {"text": ""}},
{"widgettype": "Text", "options": {"text": "✓ 无限磁盘容量", "cfontsize": 13, "color": "#666"}},
{"widgettype": "Text", "options": {"text": "✓ 无限文档", "cfontsize": 13, "color": "#666"}},
{"widgettype": "Text", "options": {"text": "✓ 无限知识库", "cfontsize": 13, "color": "#666"}},
{"widgettype": "Text", "options": {"text": "✓ 私有化部署", "cfontsize": 13, "color": "#666"}},
{"widgettype": "Text", "options": {"text": "✓ 专属GPU实例", "cfontsize": 13, "color": "#666"}},
{"widgettype": "Text", "options": {"text": "✓ 7×24技术支持", "cfontsize": 13, "color": "#666"}},
{"widgettype": "Text", "options": {"text": ""}},
{"widgettype": "Button", "options": {"label": "联系销售", "bgcolor": "#333", "color": "#fff"}}
]
}
]
},
{
"widgettype": "Text",
"options": {
"text": "💡 当前: Free 套餐 · 已用 0B/1GB · 0/100 文档 · 0/3 知识库",
"color": "#aaa",
"cfontsize": 12
}
}
}
]
}