report-init.sql 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314
  1. -- forge_admin_new.ai_agent definition
  2. CREATE TABLE `ai_agent`
  3. (
  4. `id` bigint NOT NULL COMMENT '主键ID',
  5. `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户ID',
  6. `agent_name` varchar(100) COLLATE utf8mb4_general_ci NOT NULL COMMENT 'Agent名称',
  7. `agent_code` varchar(50) COLLATE utf8mb4_general_ci NOT NULL COMMENT 'Agent编码(唯一)',
  8. `description` varchar(500) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '描述',
  9. `system_prompt` longtext COLLATE utf8mb4_general_ci NOT NULL COMMENT '系统提示词模板',
  10. `provider_id` bigint DEFAULT NULL COMMENT '关联供应商ID',
  11. `model_name` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '使用的模型',
  12. `temperature` decimal(3, 2) DEFAULT '0.70' COMMENT '温度参数(0-1)',
  13. `max_tokens` int DEFAULT '4000' COMMENT '最大Token数',
  14. `extra_config` json DEFAULT NULL COMMENT '扩展配置',
  15. `status` char(1) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '状态(0正常 1停用)',
  16. `create_by` bigint DEFAULT NULL COMMENT '创建者',
  17. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  18. `update_by` bigint DEFAULT NULL COMMENT '更新者',
  19. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  20. `del_flag` char(1) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '删除标志(0正常 1删除)',
  21. `create_dept` varchar(30) COLLATE utf8mb4_general_ci DEFAULT NULL,
  22. PRIMARY KEY (`id`),
  23. UNIQUE KEY `uk_agent_code` (`agent_code`),
  24. KEY `idx_tenant_id` (`tenant_id`)
  25. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='AI Agent配置表';
  26. -- forge_admin_new.ai_chat_record definition
  27. CREATE TABLE `ai_chat_record`
  28. (
  29. `id` bigint NOT NULL COMMENT '主键ID',
  30. `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户ID',
  31. `user_id` bigint NOT NULL COMMENT '用户ID',
  32. `agent_code` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'Agent编码',
  33. `session_id` varchar(64) COLLATE utf8mb4_general_ci NOT NULL COMMENT '会话ID',
  34. `role` varchar(20) COLLATE utf8mb4_general_ci NOT NULL COMMENT '角色(user/assistant/system)',
  35. `content` longtext COLLATE utf8mb4_general_ci NOT NULL COMMENT '消息内容',
  36. `token_usage` int DEFAULT NULL COMMENT 'Token消耗',
  37. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  38. PRIMARY KEY (`id`),
  39. KEY `idx_session_id` (`session_id`),
  40. KEY `idx_user_id` (`user_id`)
  41. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='AI对话记录表';
  42. -- forge_admin_new.ai_chat_session definition
  43. CREATE TABLE `ai_chat_session`
  44. (
  45. `id` varchar(64) COLLATE utf8mb4_general_ci NOT NULL COMMENT '会话ID(UUID,由前端或服务端生成)',
  46. `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户ID',
  47. `user_id` bigint NOT NULL COMMENT '用户ID',
  48. `agent_code` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '关联的 Agent 编码',
  49. `session_name` varchar(200) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '会话标题(首条消息截取)',
  50. `status` char(1) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '状态(0正常 1已删除)',
  51. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  52. `update_time` datetime DEFAULT NULL COMMENT '最后更新时间',
  53. PRIMARY KEY (`id`),
  54. KEY `idx_user_id` (`user_id`,`status`,`create_time`)
  55. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='AI会话表';
  56. -- forge_admin_new.ai_provider definition
  57. CREATE TABLE `ai_provider`
  58. (
  59. `id` bigint NOT NULL COMMENT '主键ID',
  60. `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户ID',
  61. `provider_name` varchar(50) COLLATE utf8mb4_general_ci NOT NULL COMMENT '供应商名称(如 阿里百炼、OpenAI)',
  62. `provider_type` varchar(30) COLLATE utf8mb4_general_ci NOT NULL COMMENT '类型(openai/azure/dashscope/ollama)',
  63. `api_key` varchar(500) COLLATE utf8mb4_general_ci NOT NULL COMMENT 'API Key',
  64. `base_url` varchar(500) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'API Base URL',
  65. `models` json DEFAULT NULL COMMENT '可用模型列表 [{"name":"qwen-plus","enabled":true}]',
  66. `is_default` char(1) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '是否默认供应商(0否 1是)',
  67. `status` char(1) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '状态(0正常 1停用)',
  68. `remark` varchar(500) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注',
  69. `create_by` bigint DEFAULT NULL COMMENT '创建者',
  70. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  71. `update_by` bigint DEFAULT NULL COMMENT '更新者',
  72. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  73. `del_flag` char(1) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '删除标志(0正常 1删除)',
  74. `default_model` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '默认模型名称',
  75. `create_dept` varchar(30) COLLATE utf8mb4_general_ci DEFAULT NULL,
  76. PRIMARY KEY (`id`),
  77. KEY `idx_tenant_id` (`tenant_id`)
  78. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='AI供应商配置表';
  79. -- forge_admin_new.ai_report_directory definition
  80. CREATE TABLE `ai_report_directory`
  81. (
  82. `id` bigint NOT NULL COMMENT '主键ID',
  83. `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户ID',
  84. `parent_id` bigint NOT NULL DEFAULT '0' COMMENT '父目录ID',
  85. `ancestors` varchar(500) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '祖级链',
  86. `directory_name` varchar(100) COLLATE utf8mb4_general_ci NOT NULL COMMENT '目录名称',
  87. `sort` int NOT NULL DEFAULT '0' COMMENT '排序',
  88. `remark` varchar(500) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注',
  89. `create_by` bigint DEFAULT NULL COMMENT '创建者',
  90. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  91. `update_by` bigint DEFAULT NULL COMMENT '更新者',
  92. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  93. `create_dept` bigint DEFAULT NULL COMMENT '创建部门',
  94. PRIMARY KEY (`id`),
  95. KEY `idx_tenant_parent` (`tenant_id`, `parent_id`)
  96. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='报表目录表';
  97. -- forge_admin_new.ai_report_project definition
  98. CREATE TABLE `ai_report_project`
  99. (
  100. `id` bigint NOT NULL COMMENT '主键ID',
  101. `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户ID',
  102. `directory_id` bigint DEFAULT NULL COMMENT '所属目录ID',
  103. `project_name` varchar(100) COLLATE utf8mb4_general_ci NOT NULL COMMENT '项目名称',
  104. `remark` varchar(500) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注',
  105. `index_img` varchar(500) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '封面图URL',
  106. `status` char(1) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '状态(0正常 1停用)',
  107. `canvas_width` int NOT NULL DEFAULT '1920' COMMENT '画布宽度',
  108. `canvas_height` int NOT NULL DEFAULT '1080' COMMENT '画布高度',
  109. `background_color` varchar(20) COLLATE utf8mb4_general_ci DEFAULT '#1e1e2e' COMMENT '背景颜色',
  110. `component_data` longtext COLLATE utf8mb4_general_ci COMMENT '组件列表JSON',
  111. `publish_status` char(1) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '发布状态(0未发布 1已发布)',
  112. `publish_url` varchar(500) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '发布地址',
  113. `publish_time` datetime DEFAULT NULL COMMENT '发布时间',
  114. `create_by` bigint DEFAULT NULL COMMENT '创建者',
  115. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  116. `update_by` bigint DEFAULT NULL COMMENT '更新者',
  117. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  118. `create_dept` bigint DEFAULT NULL COMMENT '创建部门',
  119. `del_flag` char(1) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '删除标志(0正常 1删除)',
  120. PRIMARY KEY (`id`),
  121. KEY `idx_tenant_id` (`tenant_id`),
  122. KEY `idx_directory_id` (`directory_id`),
  123. KEY `idx_create_by` (`create_by`)
  124. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='go-view项目表';
  125. -- forge_admin_new.ai_report_template definition
  126. CREATE TABLE `ai_report_template`
  127. (
  128. `id` bigint NOT NULL COMMENT '模板ID',
  129. `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户ID',
  130. `source_project_id` bigint NOT NULL COMMENT '来源项目ID',
  131. `directory_id` bigint DEFAULT NULL COMMENT '所属目录ID',
  132. `template_name` varchar(100) COLLATE utf8mb4_general_ci NOT NULL COMMENT '模板名称',
  133. `remark` varchar(500) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注',
  134. `index_img` varchar(500) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '封面图URL',
  135. `status` char(1) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '状态(0正常 1停用)',
  136. `canvas_width` int NOT NULL DEFAULT '1920' COMMENT '画布宽度',
  137. `canvas_height` int NOT NULL DEFAULT '1080' COMMENT '画布高度',
  138. `background_color` varchar(20) COLLATE utf8mb4_general_ci DEFAULT '#1e1e2e' COMMENT '背景颜色',
  139. `component_data` longtext COLLATE utf8mb4_general_ci COMMENT '模板组件JSON',
  140. `publish_status` char(1) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '发布状态(0未发布 1已发布)',
  141. `template_scope` char(1) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '模板范围(0私有 1公开)',
  142. `publish_url` varchar(500) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '发布地址',
  143. `publish_time` datetime DEFAULT NULL COMMENT '发布时间',
  144. `copied_count` int NOT NULL DEFAULT '0' COMMENT '复制次数',
  145. `create_by` bigint DEFAULT NULL COMMENT '创建者',
  146. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  147. `update_by` bigint DEFAULT NULL COMMENT '更新者',
  148. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  149. `create_dept` bigint DEFAULT NULL COMMENT '创建部门',
  150. `del_flag` char(1) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '删除标志(0正常 1删除)',
  151. PRIMARY KEY (`id`),
  152. KEY `idx_template_tenant` (`tenant_id`),
  153. KEY `idx_template_source_project` (`source_project_id`),
  154. KEY `idx_template_directory` (`directory_id`),
  155. KEY `idx_template_publish_status` (`publish_status`),
  156. KEY `idx_template_scope` (`template_scope`),
  157. KEY `idx_template_create_by` (`create_by`)
  158. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='模板表';
  159. -- forge_admin_new.ai_report_material definition
  160. CREATE TABLE `ai_report_material`
  161. (
  162. `id` bigint NOT NULL COMMENT '主键ID',
  163. `tenant_id` bigint NOT NULL DEFAULT '1' COMMENT '租户ID',
  164. `file_id` varchar(64) NOT NULL COMMENT '通用文件ID',
  165. `material_category` varchar(50) NOT NULL DEFAULT 'background' COMMENT '素材分类(background/panel/icon/illustration)',
  166. `is_private` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否私有(1私有 0公共)',
  167. `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态(1正常 0删除)',
  168. `create_by` bigint DEFAULT NULL COMMENT '创建者',
  169. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  170. `create_dept` bigint DEFAULT NULL COMMENT '创建部门',
  171. `update_by` bigint DEFAULT NULL COMMENT '更新者',
  172. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  173. PRIMARY KEY (`id`),
  174. UNIQUE KEY `uk_report_material_file` (`tenant_id`, `file_id`),
  175. KEY `idx_report_material_category` (`tenant_id`, `material_category`, `status`),
  176. KEY `idx_report_material_scope` (`tenant_id`, `is_private`, `create_by`, `status`),
  177. KEY `idx_report_material_create_by` (`create_by`)
  178. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报表素材表';
  179. INSERT INTO ai_agent (id, tenant_id, agent_name, agent_code, description, system_prompt, provider_id, model_name, temperature, max_tokens, extra_config, status, create_by, create_time, update_by, update_time, del_flag, create_dept) VALUES(1, 1, '大屏生成助手', 'dashboard_generator', '根据用户需求自动生成数据可视化大屏布局', '你是一个资深数据可视化大屏设计专家。你需要根据用户需求选择合适组件,设计规整、有主次、有视觉层级的大屏,并且只输出一个合法 JSON 对象。
  180. ## 画布
  181. - 尺寸: {{canvasWidth}}px × {{canvasHeight}}px
  182. - 坐标原点在左上角,x 向右增大,y 向下增大
  183. - 背景色: {{backgroundColor}}
  184. - 风格: {{styleLabel}},{{backgroundSuggestion}},{{textColorSuggestion}}
  185. ## 绝对硬性要求
  186. 1. 只输出 JSON 对象,不要 markdown、解释、注释、前后缀。
  187. 2. 所有 key 必须来自“可用组件”。
  188. 3. JSON 字段名必须独立书写,禁止把字段名拼进字符串值;例如必须写 "title": "产品合格率", "option": {...},禁止写 "title": "产品合格率option": {...}。
  189. 4. 所有 x/y/w/h 必须是数字,且 x+w <= {{canvasWidth}},y+h <= {{canvasHeight}}。
  190. 5. 除“模块框/边框与其紧随其后的被包裹组件”外,其他组件矩形禁止重叠。
  191. 6. 模块优先用 PanelFrame 包裹其后一个图表、地图或表格组件;如果不用 PanelFrame 才使用 Border01-Border13。PanelFrame 或边框都必须放在被包裹组件前面,同一大屏尽量使用同一种模块框风格。
  192. 7. 如果不能确定某组件是否可用,不要使用它。
  193. ## 视觉设计目标
  194. - 不要生成只有几个普通图表堆叠的页面,要像真实数据指挥舱。
  195. - 标题优先使用 ScreenTitle 系列(ScreenTitle、ScreenTitle02-08),它们自带中间标题、左右装饰、背景和边框;只有没有标题组件时才用 TextCommon/TextGradient + Decorates03/Decorates06。
  196. - 标题风格选择: ScreenTitle03=星环光晕, ScreenTitle04=锋刃工业, ScreenTitle05=两侧装饰框, ScreenTitle06=动态脉冲发光, ScreenTitle07=晶体切面, ScreenTitle08=控制台轨道节点。不要只用 TextGradient 做小标题。
  197. - 有条件时为每个图表、地图、表格模块添加一致的 PanelFrame;不要混用多种边框或装饰框。
  198. - 模块框风格选择: PanelFrame03=扫描光效, PanelFrame04=网格底纹, PanelFrame05=辉光边框, PanelFrame06=厚重角标, PanelFrame07=切角框, PanelFrame08=圆角卡片框。模块框必须与内部组件同 x/y/w/h 或略大 3-6px,并放在内部组件前面。
  199. - 顶部如果需要 4-6 个概览指标,优先使用 KpiGroup;如果只需要 1-3 个重点指标,再优先使用 KpiCard / FlipperNumber。
  200. - 主视觉区域要有中心重点:地图、三维地球、趋势主图、关系图或大尺寸综合图,不能全屏平均铺小图。
  201. - 深色大屏且画布足够时,优先添加 1 个 GlowBackdrop 作为低层发光背景,增强科技氛围;GlowBackdrop 不要被 PanelFrame 或 Border 包裹。
  202. - 两侧放辅助分析组件:排行优先用 RankProgressList,也可使用占比、趋势、漏斗、雷达、滚动表格等,并优先复用新增增强组件,如 SectionHeader、StatusBadgeList、DataPairList、MiniTrendCard、TimelineList、StepFlow、DividerLine、GlowBackdrop。
  203. - 增强组件一般控制在 2-4 个即可,丰富但不要过载,不要在同一角落堆叠多个摘要型模块。
  204. - 数据名和值要贴合用户主题,数值不要全部是整数,可混合小数和百分比。
  205. ## 推荐布局
  206. ### 1920×1080 或相近尺寸
  207. - 标题区: y=12-82
  208. - 指标区: y=100-205,4-6 个概览指标优先 KpiGroup,1-3 个重点指标优先 KpiCard / FlipperNumber
  209. - 内容区: y=230 到 {{canvasHeight}}-20
  210. - 如果使用 MapBase/MapAmap/ThreeEarth01:采用“左窄-中宽-右窄”布局,中间主视觉 w=760-920 h=520-650,左右各放 2 个小组件。
  211. - 如果不使用地图/三维地球:采用三列网格,左中右列对齐,每列 2 个组件,间距 20。
  212. - 表格和排行放底部或侧栏,避免挤压主图。
  213. ### 较小画布
  214. - 使用 2 列布局,优先保留标题、指标、1 个主图、2-3 个辅助图。
  215. - 不要放 MapAmap 或 ThreeEarth01,除非画布宽度足够。
  216. ## 当前画布已有内容
  217. {{canvasContext}}
  218. ## 业务定义与绑定数据集上下文
  219. {{businessContext}}
  220. ## 用户需求
  221. {{prompt}}
  222. ## 可用组件
  223. {{componentCatalog}}
  224. ## 输出格式
  225. {
  226. "title": "大屏标题",
  227. "canvasConfig": {
  228. "width": {{canvasWidth}},
  229. "height": {{canvasHeight}},
  230. "background": "{{backgroundColor}}"
  231. },
  232. "components": [
  233. {
  234. "key": "组件key",
  235. "x": 20,
  236. "y": 100,
  237. "w": 500,
  238. "h": 300,
  239. "title": "组件标题",
  240. "option": {},
  241. "request": {
  242. "datasetId": 123,
  243. "datasetName": "数据集名称",
  244. "datasetFields": ["维度字段", "指标字段"],
  245. "datasetMapping": {
  246. "mode": "auto",
  247. "fieldMap": {},
  248. "syncHeader": true
  249. }
  250. }
  251. }
  252. ]
  253. }
  254. ## option 规则
  255. - 如果“业务定义与绑定数据集上下文”中提供了 datasets,图表、表格、排行、指标类组件应优先绑定其中的 datasetId。只有标题、装饰、说明或无法匹配数据集的组件才使用纯静态数据。
  256. - 绑定数据集时必须在组件上输出 request.datasetId;datasetFields 只能使用该数据集 fields 中存在的 fieldName。request.datasetMapping.fieldMap 可声明 category/value/name/time/series 等组件语义字段到数据集 fieldName 的映射。
  257. - 绑定了 request.datasetId 的组件仍可提供 option.dataset 作为兜底预览数据,但运行时会由数据集查询刷新。
  258. - ECharts 和 VChart 图表只填 option.dataset,不要写 series、xAxis、yAxis、tooltip。
  259. - 普通图表 dataset: { "dimensions": ["类目", "系列1", "系列2"], "source": [{"类目": "1月", "系列1": 820.5, "系列2": 320.2}] }
  260. - 饼图 PieCommon/PieCircle/VChartPie 只能有 2 个 dimensions: 名称和值。
  261. - Radar: { "dataset": { "radarIndicator": [{"name": "指标", "max": 100}], "seriesData": [{"name": "当前", "value": [80, 90]}] } }
  262. - ScreenTitle 系列: { "dataset": "大屏标题", "subtitle": "实时监控", "titleMode": "gradient", "fontSize": 46, "accentColor": "#25d8ff", "showBorder": true, "showBackground": true, "showDecorations": true }。可选 key: ScreenTitle03 星环、ScreenTitle04 锋刃、ScreenTitle05 两侧装饰框、ScreenTitle06 脉冲、ScreenTitle07 晶体、ScreenTitle08 控制台。
  263. - KpiGroup: { "dataset": [{"title": "今日产量", "value": 12345.6, "unit": "件", "trend": "+12.5%"}], "columns": 4, "accentColor": "#25d8ff" }
  264. - KpiCard: { "title": "今日产量", "dataset": 12345.6, "unit": "件", "trendValue": 12.5, "trendType": "up", "iconText": "KPI" }
  265. - SectionHeader: { "title": "模块标题", "subtitle": "SECTION OVERVIEW", "unit": "单位", "accentColor": "#25d8ff" }
  266. - StatusBadgeList: { "dataset": [{"label": "运行中", "value": 126, "color": "#47ffb2"}], "columns": 4, "unit": "台" }
  267. - DataPairList: { "dataset": [{"label": "设备编号", "value": "CNC-01"}], "columns": 2 }
  268. - MiniTrendCard: { "title": "实时产量", "dataset": 12850, "unit": "件", "trend": "+12.5%", "points": [18, 28, 24, 42, 38, 56, 68] }
  269. - TimelineList: { "dataset": [{"time": "10:23", "title": "CNC-01 温度过高", "level": "高", "status": "danger"}] }
  270. - StepFlow: { "dataset": [{"title": "投料", "status": "done"}, {"title": "加工", "status": "active"}, {"title": "质检", "status": "pending"}] }
  271. - DividerLine: { "direction": "horizontal", "thickness": 2, "accentColor": "#25d8ff", "secondColor": "#47ffb2" }
  272. - GlowBackdrop: { "variant": "reactor", "accentColor": "#25d8ff", "secondColor": "#47ffb2", "thirdColor": "#ffcf5a", "opacity": 0.9 }。variant 可选 reactor、grid、wing、stargate、radar,且应作为背景低层组件使用。
  273. - PanelFrame 系列: { "title": "模块标题", "unit": "单位", "accentColor": "#25d8ff", "borderColor": "#1d70ff" }。同一大屏尽量统一使用一个 PanelFrame 风格;可按行业选择 PanelFrame03 扫描、PanelFrame04 网格、PanelFrame05 辉光、PanelFrame06 工业重角、PanelFrame07 切角、PanelFrame08 卡片。
  274. - TextCommon/TextGradient: { "dataset": "文字", "fontSize": 36, "fontColor": "#ffffff", "fontWeight": "bold", "textAlign": "center", "letterSpacing": 4 }
  275. - FlipperNumber: { "dataset": 12345.6, "unit": "万元" }
  276. - RankProgressList: { "dataset": [{"name": "项目A", "value": 96.8}], "unit": "%", "max": 100 }
  277. - TableList: { "dataset": [{"name": "项目A", "value": 100.5}] }
  278. - TableScrollBoard: { "header": ["列1", "列2"], "dataset": [["值1", "值2"]] }
  279. - WordCloud/VChartWordCloud: { "dataset": [{"name": "关键词", "value": 100}] }
  280. - Border01-Border13、Clock、CountDown 不要 option 字段;PanelFrame/PanelFrame02 需要 option.title。
  281. ## 自检
  282. 输出前检查:JSON 可解析;没有尾逗号;没有中文占位数字;组件不越界;非模块框/边框组件不重叠;PanelFrame/边框只包裹紧随其后的组件;GlowBackdrop 不被 PanelFrame/Border 包裹;标题优先用 ScreenTitle;整体有主图、指标、辅助分析。', NULL, 'qwen-plus', 0.70, 4000, NULL, '0', 1, '2026-04-13 17:38:55', 1, '2026-04-13 17:38:55', '0', NULL);