@microi.net/cli 5.8.5 → 5.8.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.codebuddy-plugin/marketplace.json +2 -2
- package/.codebuddy-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/.mcp.json +1 -1
- package/.workbuddy-plugin/marketplace.json +2 -2
- package/.workbuddy-plugin/plugin.json +1 -1
- package/LICENSE +21 -21
- package/README.md +71 -71
- package/assets/build-meta.json +6 -6
- package/assets/feature-matrix.json +138 -138
- package/assets/logo.svg +4 -4
- package/cordis.patch.yml +1 -1
- package/package.json +1 -1
- package/scripts/codex-marketplace.json +20 -20
- package/scripts/mcp-codex-stdio-adapter.js +189 -189
- package/scripts/mcp-trae-windows-launcher.cmd +21 -21
- package/scripts/microi-cli-mcp.js +7 -7
- package/scripts/microi-cli.js +66 -65
- package/scripts/microi-codex-broker.js +450 -450
- package/scripts/microi-codex-router.js +618 -618
- package/scripts/microi-skills.meta.json +384 -384
- package/skills/.microi-skills-version.json +2 -2
- package/skills/.progressive-disclosure-manifest.json +3566 -3566
- package/skills/README.md +287 -287
- package/skills/ai-engine/SKILL.md +269 -265
- package/skills/ai-engine/agents/openai.yaml +4 -4
- package/skills/ai-engine/references/ai-employees.md +48 -48
- package/skills/ai-engine/references/self-hosted-digital-human.md +59 -59
- package/skills/ai-platform-governance/SKILL.md +177 -177
- package/skills/ai-platform-governance/references/progressive-01-/345/212/237/350/203/275/345/274/200/345/205/263.md +190 -190
- package/skills/app-store/SKILL.md +525 -525
- package/skills/app-store/agents/openai.yaml +4 -4
- package/skills/business-blueprint/SKILL.md +193 -193
- package/skills/datasource-engine/SKILL.md +93 -93
- package/skills/datasource-engine/agents/openai.yaml +4 -4
- package/skills/dos-orm/SKILL.md +97 -97
- package/skills/dos-orm/references/api-reference.md +229 -229
- package/skills/email-engine/SKILL.md +81 -81
- package/skills/email-engine/references/v8-email.md +34 -34
- package/skills/job-engine/SKILL.md +176 -176
- package/skills/job-engine/agents/openai.yaml +4 -4
- package/skills/message-notification/SKILL.md +156 -156
- package/skills/message-notification/agents/openai.yaml +5 -5
- package/skills/message-notification/references/contracts.md +102 -102
- package/skills/microi/SKILL.md +14 -14
- package/skills/microi-ai-app-auth.js +652 -652
- package/skills/microi-ai-application/SKILL.md +115 -115
- package/skills/microi-ai-application/agents/openai.yaml +4 -4
- package/skills/microi-ai-application/references/frontend-baseline.md +164 -164
- package/skills/microi-client-frontend/SKILL.md +244 -244
- package/skills/microi-client-frontend/references/progressive-01-3-/345/212/250/346/200/201/346/214/211/351/222/256/347/263/273/347/273/237.md +144 -144
- package/skills/microi-client-frontend/references/progressive-02-8-/350/277/220/350/241/214/346/227/266/351/253/230/351/242/221/345/235/221/345/244/215/347/233/230.md +196 -196
- package/skills/microi-client-frontend/references/progressive-03-vue3-/345/211/215/347/253/257/345/276/256/346/234/215/345/212/241/345/256/277/344/270/273/350/247/204/345/210/231.md +167 -167
- package/skills/microi-codex/SKILL.md +102 -102
- package/skills/microi-codex-installer/SKILL.md +231 -231
- package/skills/microi-codex-installer/agents/openai.yaml +7 -7
- package/skills/microi-datasource-mapping/SKILL.md +122 -122
- package/skills/microi-db-schema/SKILL.md +175 -175
- package/skills/microi-db-schema/agents/openai.yaml +4 -4
- package/skills/microi-db-schema/references/core-tables.md +695 -695
- package/skills/microi-db-schema/references/form-component-options.md +256 -256
- package/skills/microi-db-schema/references/schema-overview.md +202 -202
- package/skills/microi-db-schema/references/schema.md +646 -646
- package/skills/microi-db-schema/references/table-catalog.md +1599 -1599
- package/skills/microi-deployment/SKILL.md +221 -221
- package/skills/microi-deployment/references/deployment-matrix.md +109 -109
- package/skills/microi-docs-coverage/SKILL.md +133 -133
- package/skills/microi-docs-coverage/references/capability-map.md +91 -91
- package/skills/microi-docs-coverage/scripts/audit-doc-skill-coverage.mjs +894 -894
- package/skills/microi-form-engine/SKILL.md +333 -333
- package/skills/microi-form-engine/references/component-catalog.md +218 -218
- package/skills/microi-form-engine/references/data-source-events.md +124 -124
- package/skills/microi-form-layout/SKILL.md +205 -205
- package/skills/microi-form-layout/references/progressive-01-3-/344/270/211/347/247/215/345/210/206/347/273/204/347/232/204/345/255/230/345/202/250/344/270/216/351/205/215/347/275/256.md +235 -235
- package/skills/microi-frontend-sdk/SKILL.md +194 -194
- package/skills/microi-frontend-sdk/references/progressive-01-token-/345/275/223/345/211/215/347/231/273/345/275/225/347/224/250/346/210/267/344/270/216/345/275/223/345/211/215/347/273/210/347/253/257/347/231/273/345/275/225/345/215/217/350/256/256.md +176 -176
- package/skills/microi-left-right-layout/SKILL.md +141 -141
- package/skills/microi-microservice/SKILL.md +326 -324
- package/skills/microi-microservice/references/runtime-delivery.md +278 -278
- package/skills/microi-mobile-app-quality/SKILL.md +185 -185
- package/skills/microi-mobile-app-quality/references/progressive-01-4-/351/207/215/350/246/201/346/214/211/351/222/256/345/277/205/351/241/273/345/270/246/345/233/276/346/240/207.md +213 -213
- package/skills/microi-mobile-app-quality/references/progressive-02-9-/344/270/273/351/242/230/345/210/207/346/215/242/345/277/205/351/241/273/347/234/237/345/256/236/344/270/224/345/205/250/345/261/200/347/224/237/346/225/210.md +128 -128
- package/skills/microi-solution-quotation/SKILL.md +78 -78
- package/skills/microi-solution-quotation/agents/openai.yaml +4 -4
- package/skills/microi-solution-quotation/scripts/build_solution_quote.py +296 -296
- package/skills/microi-sso/SKILL.md +92 -92
- package/skills/microi-sso/references/acceptance.md +49 -49
- package/skills/microi-sso/references/configuration-and-security.md +53 -53
- package/skills/microi-sso/references/inbound.md +53 -53
- package/skills/microi-sso/references/outbound.md +39 -39
- package/skills/microi-system-delivery/SKILL.md +137 -137
- package/skills/microi-system-delivery/references/progressive-01-/346/240/207/345/207/206/345/267/245/344/275/234/346/265/201.md +193 -193
- package/skills/microi-system-delivery/references/progressive-02-/350/207/252/345/212/250/345/214/226/346/265/213/350/257/225/345/277/205/351/241/273/350/246/206/347/233/226/347/232/204/345/235/221.md +217 -217
- package/skills/microi-ui/SKILL.md +192 -192
- package/skills/microi-ui/references/progressive-01-/347/247/273/345/212/250/347/253/257/345/234/272/346/231/257/350/223/235/345/233/276.md +183 -183
- package/skills/microi-uniapp-frontend/SKILL.md +193 -193
- package/skills/microi-uniapp-frontend/references/progressive-01-/347/247/273/345/212/250/347/253/257/345/210/206/347/261/273-/345/217/214/346/240/217/345/210/227/350/241/250/347/213/254/347/253/213/346/273/232/345/212/250.md +225 -225
- package/skills/microi-uniapp-frontend/references/progressive-02-/345/205/263/351/224/256/344/270/232/345/212/241/350/265/204/344/272/247/344/270/215/345/276/227/351/273/230/350/256/244/351/200/211/344/270/255.md +154 -154
- package/skills/microi.v8.js +1921 -1921
- package/skills/module-engine/SKILL.md +255 -255
- package/skills/module-engine/references/module-config.md +204 -204
- package/skills/ocr-engine/SKILL.md +113 -113
- package/skills/ocr-engine/agents/openai.yaml +4 -4
- package/skills/page-engine/SKILL.md +206 -206
- package/skills/page-engine/examples/compact-dashboard.json +1444 -1444
- package/skills/page-engine/references/progressive-01-/346/211/200/346/234/211/347/273/204/344/273/266/347/261/273/345/236/213.md +234 -234
- package/skills/page-engine/references/progressive-02-/347/211/210/346/234/254/345/216/206/345/217/262-/345/271/266/345/217/221/344/277/235/345/255/230/344/270/216/345/233/236/346/273/232.md +60 -60
- package/skills/performance-testing/SKILL.md +221 -221
- package/skills/playwright-e2e/SKILL.md +196 -196
- package/skills/playwright-e2e/references/progressive-01-/345/205/250/350/207/252/345/212/250/347/231/273/345/275/225-/345/205/215/351/252/214/350/257/201/347/240/201-/344/275/206/344/270/215/345/205/215/345/257/206/347/240/201-/345/277/205/350/257/273.md +173 -173
- package/skills/playwright-e2e/references/progressive-02-/346/226/207/345/255/227/345/257/271/346/257/224/345/272/246/344/270/216/345/217/257/350/257/273/346/200/247/350/207/252/345/212/250/345/214/226/346/243/200/346/237/245-/345/277/205/345/201/232.md +183 -183
- package/skills/playwright-e2e/references/progressive-03-microi-helper-/346/250/241/346/235/277.md +221 -221
- package/skills/playwright-e2e/references/progressive-04-ci-/345/273/272/350/256/256.md +115 -115
- package/skills/print-engine/SKILL.md +259 -259
- package/skills/production-readonly-audit/SKILL.md +41 -41
- package/skills/report-engine/SKILL.md +71 -71
- package/skills/report-engine/agents/openai.yaml +4 -4
- package/skills/scripts/optimize-progressive-disclosure.mjs +204 -204
- package/skills/scripts/refresh-progressive-disclosure.mjs +64 -64
- package/skills/scripts/sync-embedded-skills.mjs +46 -46
- package/skills/scripts/validate-progressive-disclosure.mjs +57 -57
- package/skills/search-engine/SKILL.md +75 -75
- package/skills/search-engine/agents/openai.yaml +4 -4
- package/skills/spider-engine/SKILL.md +190 -190
- package/skills/system-observability/SKILL.md +248 -248
- package/skills/system-observability/references/memory-incident-triage.md +77 -77
- package/skills/translate-engine/SKILL.md +140 -140
- package/skills/translate-engine/agents/openai.yaml +4 -4
- package/skills/ui-design/SKILL.md +223 -223
- package/skills/ui-design/assets/pattern-showcase/app.js +54 -54
- package/skills/ui-design/assets/pattern-showcase/index.html +163 -163
- package/skills/ui-design/assets/pattern-showcase/styles.css +311 -311
- package/skills/ui-design/assets/templates/MCI-DESIGN.md +206 -206
- package/skills/ui-design/references/design-pattern-library.md +184 -184
- package/skills/ui-design/references/mci-design-contract.md +163 -163
- package/skills/ui-design/references/motion-and-media.md +78 -78
- package/skills/ui-design/references/product-flow-recipes.md +94 -94
- package/skills/ui-design/references/progressive-01-/351/242/234/350/211/262/344/275/223/347/263/273-css-variables-/346/224/257/346/214/201/344/270/273/351/242/230/345/210/207/346/215/242.md +218 -218
- package/skills/ui-design/references/progressive-02-/345/255/227/344/275/223.md +164 -164
- package/skills/ui-design/references/progressive-03-/345/212/250/346/225/210/350/247/204/350/214/203-/344/270/260/345/257/214/344/275/206/344/270/215/345/215/241.md +235 -235
- package/skills/ui-design/references/progressive-04-/347/273/204/344/273/266/351/243/216/346/240/274/351/200/237/346/237/245.md +152 -152
- package/skills/ui-design/references/progressive-05-/347/247/273/345/212/250/347/253/257/344/270/223/347/224/250/350/247/204/350/214/203.md +238 -238
- package/skills/ui-design/references/progressive-06-/344/270/273/351/242/230/345/210/207/346/215/242/345/256/236/347/216/260.md +194 -194
- package/skills/ui-design/references/progressive-07-/351/200/237/346/237/245-/344/273/216/345/244/264/346/220/255/345/273/272/344/270/200/344/270/252/347/247/273/345/212/250/347/253/257/351/241/265/351/235/242.md +207 -207
- package/skills/ui-design/references/progressive-08-/350/241/250/345/215/225/345/210/206/347/273/204/350/247/204/350/214/203-tabs-vs-collapsegroup-/345/274/272/345/210/266.md +142 -142
- package/skills/uniapp-mall-assets/SKILL.md +176 -176
- package/skills/unity-integration/SKILL.md +171 -171
- package/skills/unity-integration/agents/openai.yaml +4 -4
- package/skills/unity-integration/references/ai-app-delivery.md +119 -119
- package/skills/unity-integration/references/sdk-api.md +82 -82
- package/skills/unity-integration/references/toolbox-migration.md +66 -66
- package/skills/unity-integration/references/webgl-hosting.md +57 -57
- package/skills/v8-api-config/SKILL.md +388 -388
- package/skills/v8-cache-pattern/SKILL.md +312 -312
- package/skills/v8-crud-api/SKILL.md +178 -178
- package/skills/v8-crud-api/references/progressive-01-/346/237/245/350/257/242/345/210/227/350/241/250-/345/210/206/351/241/265.md +226 -226
- package/skills/v8-crud-api/references/progressive-02-where-/346/235/241/344/273/266/350/257/255/346/263/225/351/200/237/346/237/245.md +49 -49
- package/skills/v8-debugging/SKILL.md +284 -284
- package/skills/v8-explorer-tree/SKILL.md +228 -228
- package/skills/v8-export-import/SKILL.md +219 -219
- package/skills/v8-export-import/references/progressive-01-excellayout-/351/253/230/347/272/247/350/207/252/347/224/261/345/270/203/345/261/200.md +211 -211
- package/skills/v8-export-import/references/progressive-02-powerpoint-/345/257/274/345/207/272.md +202 -202
- package/skills/v8-export-import/references/progressive-03-/345/256/211/345/205/250-/346/200/247/350/203/275/346/263/250/346/204/217.md +42 -42
- package/skills/v8-file-upload/SKILL.md +284 -284
- package/skills/v8-file-upload/references/progressive-01-/345/205/254/346/234/211/346/241/266-vs-/347/247/201/346/234/211/346/241/266.md +263 -263
- package/skills/v8-file-upload/references/progressive-02-office-/346/226/207/344/273/266/345/234/250/347/272/277/347/274/226/350/276/221/347/211/210/346/234/254/345/217/267/350/247/204/345/210/231.md +161 -161
- package/skills/v8-formengine-http/SKILL.md +238 -238
- package/skills/v8-frontend-events/SKILL.md +180 -180
- package/skills/v8-frontend-events/references/bluetooth-print-api.md +135 -135
- package/skills/v8-frontend-events/references/bluetooth-print.md +258 -258
- package/skills/v8-frontend-events/references/progressive-01-/345/210/227/350/241/250/344/272/213/344/273/266.md +219 -219
- package/skills/v8-http-integration/SKILL.md +182 -182
- package/skills/v8-http-integration/references/progressive-01-get-/350/257/267/346/261/202.md +220 -220
- package/skills/v8-http-integration/references/progressive-02-/351/224/231/350/257/257/345/244/204/347/220/206/346/250/241/345/274/217.md +44 -44
- package/skills/v8-image-processing/SKILL.md +190 -190
- package/skills/v8-image-processing/agents/openai.yaml +4 -4
- package/skills/v8-image-processing/references/api-reference.md +623 -623
- package/skills/v8-menu-buttons/SKILL.md +186 -186
- package/skills/v8-menu-buttons/references/progressive-01-2-/346/214/211/351/222/256/345/257/271/350/261/241-schema.md +222 -222
- package/skills/v8-menu-buttons/references/progressive-02-8-/346/250/241/345/274/217-f-/345/220/216/345/217/260/344/273/273/345/212/241/346/214/211/351/222/256-/351/225/277/344/273/273/345/212/241.md +228 -228
- package/skills/v8-menu-buttons/references/progressive-03-10-/345/217/215/346/250/241/345/274/217-/351/201/277/345/205/215.md +104 -104
- package/skills/v8-mongodb/SKILL.md +200 -200
- package/skills/v8-mq-mqtt/SKILL.md +176 -176
- package/skills/v8-mq-mqtt/references/mqtt-production.md +342 -342
- package/skills/v8-mq-mqtt/references/progressive-01-v8-mqtt-iot-/347/211/251/350/201/224/347/275/221.md +181 -181
- package/skills/v8-mq-mqtt/scripts/check-mqtt-skill-coverage.mjs +203 -203
- package/skills/v8-saas-multi-tenant/SKILL.md +305 -305
- package/skills/v8-security/SKILL.md +210 -210
- package/skills/v8-security/references/progressive-01-2-/346/235/203/351/231/220/346/240/241/351/252/214.md +200 -200
- package/skills/v8-security/references/progressive-02-7-/346/227/245/345/277/227/350/256/260/345/275/225.md +160 -160
- package/skills/v8-sql-query/SKILL.md +302 -302
- package/skills/v8-table-event/SKILL.md +176 -176
- package/skills/v8-table-event/references/progressive-01-informv8-js-/350/241/250/345/215/225/346/211/223/345/274/200/344/272/213/344/273/266.md +216 -216
- package/skills/v8-table-event/references/progressive-02-/345/211/215/347/253/257/344/272/213/344/273/266/345/220/215-v8-eventname-/345/217/257/350/203/275/347/232/204/345/200/274.md +46 -46
- package/skills/v8-tcp-integration/SKILL.md +147 -147
- package/skills/v8-tcp-integration/agents/openai.yaml +4 -4
- package/skills/v8-template-engine/SKILL.md +167 -167
- package/skills/v8-utilities/SKILL.md +104 -104
- package/skills/v8-utilities/references/client-api-index.md +143 -143
- package/skills/v8-utilities/references/platform-http-routes.md +83 -83
- package/skills/v8-utilities/references/server-api-index.md +188 -188
- package/skills/v8-workflow/SKILL.md +252 -252
- package/skills/v8-workflow/references/progressive-01-/350/212/202/347/202/271/345/274/200/345/247/213-v8-/344/272/213/344/273/266.md +180 -180
- package/skills/v8-workflow/references/workflow-configuration.md +49 -49
- package/skills/vision-engine/SKILL.md +160 -160
- package/skills/vision-engine/agents/openai.yaml +4 -4
- package/skills/vision-engine/references/architecture-and-acceptance.md +194 -194
- package/skills/workspace-conventions/SKILL.md +273 -273
- package/skills/workspace-conventions/references/progressive-01-/347/211/210/346/234/254/346/233/264/346/226/260/346/227/245/345/277/227/344/277/235/346/212/244/350/247/204/345/210/231-/345/274/272/345/210/266.md +209 -209
- package/skills/workspace-conventions/references/progressive-02-microi-net-api-/346/234/254/345/234/260/345/220/257/345/212/250/347/272/246/345/256/232.md +217 -217
- package/skills/workspace-conventions/references/progressive-03-cli-/344/270/216-ide-/346/217/222/344/273/266/351/224/231/347/211/210/345/205/261/345/255/230/347/272/246/345/256/232.md +27 -27
|
@@ -1,206 +1,206 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: page-engine
|
|
3
|
-
description: 生成和审查 Microi 界面引擎 Page Engine 页面 JSON。用于创建仪表盘、图表、表格、地图、组件、页面布局,或校验 mic_page formData JSON。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
> **Microi吾码基础规范(强制):** 任何 AI 模型与宿主每次新建或接续吾码任务,先完整读取 `../workspace-conventions/SKILL.md`,必须执行版本播报、`@microi.net/cli` 后台自动升级、Skills/MCP 同步和进度播报。安装与诊断读取 `../microi-codex-installer/SKILL.md`;更新失败延后重试,不阻断当前工作。
|
|
7
|
-
|
|
8
|
-
# Microi 界面引擎(Page Engine)页面 JSON 生成
|
|
9
|
-
|
|
10
|
-
MCP 的生成/保存入口包含 `microi_build_page_design` 与 `microi_save_page_design`;版本治理入口见下文。保存工具写入后仍需回读 `mic_page`,不能把生成成功当作持久化成功。
|
|
11
|
-
|
|
12
|
-
## 紧凑报表与平台主题
|
|
13
|
-
|
|
14
|
-
需要“主指标 + 多行次指标 + 图表 + 排行表 + 资讯”布局时,可读取 [examples/compact-dashboard.json](examples/compact-dashboard.json) 作为原生组件示例。示例数值仅用于视觉排版,交付业务报表前必须替换为当前租户的真实数据源。
|
|
15
|
-
|
|
16
|
-
默认使用 `formConfig.themeMode="system"`、`density="compact"`,卡片背景使用 `var(--el-bg-color)`、页面背景使用 `var(--el-bg-color-page)`,正文使用平台文字变量。不要因为“驾驶舱/大屏”字样就强制深色。显式指定浅色或深色时才使用 `light/dark`。
|
|
17
|
-
|
|
18
|
-
运行容器默认 `wrapperOption.heightMode="content"`,`height` 只保留设计器布局尺寸。仅需固定图形画布时设为 `fixed`;图表自身可以设置 240–320px 高度。不要为一行指标、标题、三行表格预留 200–400px 空容器。紧凑布局的卡片间距建议 10–16px,面板内边距 8–16px;统计组件 `widgetParams[24].value` 支持 `summary`(图标和大数字)、`detail`(多行小指标)及兼容的 `cards`。
|
|
19
|
-
|
|
20
|
-
用户提供参考截图时,先拆出面板行列比例、指标主次、图表与表格高度、标题/筛选位置,再用原生 pannel/statistic/chart/tabel/list 组合配置。不能把所有指标替换成一排大色块,也不能用模板假数据声称已接通客户业务。必须用同一视口截图检查浅色和平台深色,检查页面缩放后的断行与纵向空白;布局接近度和真实数据绑定分别验收。
|
|
21
|
-
|
|
22
|
-
### 平台智能工作首页
|
|
23
|
-
|
|
24
|
-
保留 `aiengine` 原生 AI 创作中心,与 `homeoverview` 工作概览组成桌面首行 14/10 栅格;任务、月历与公告放在下一行,移动端自动切为 24 栅格。不能把任务的完整 15 行列表或未配置日程的大空白块直接堆在首屏。
|
|
25
|
-
|
|
26
|
-
- `homeoverview.widgetParams[0]` 为真实个人统计接口 `platform-home-overview`,`[1].value="compact"` 启用紧凑指标、常用应用与趋势;所有数据仍受当前用户权限过滤。
|
|
27
|
-
- `workcenter.widgetParams` 按索引依次为视图、工作菜单、流程菜单、公告菜单、日历菜单、分页条数;`[5].value=5` 用于首页任务,范围 5–20,不能影响独立“我的工作”页面。
|
|
28
|
-
- `diycalendar.widgetParams[0].value` 应绑定当前账号可访问、关联 `microi_calendar` 的真实模块 Id;`[1].value="compact"` 只压缩月历密度,仍须支持点击日期新增及事件编辑、删除。备注字段为 `Remark`。隐藏菜单也可以是授权入口,旧模块可能没有 `DiyTableName`,此时必须显式绑定实际模块,不把只读日期回退当作日程验收成功。无模块时展示本月日期并明确提示未配置,不伪造任务。
|
|
29
|
-
- `diytable.widgetParams[4].value="NoticeList"` 以只读公告列表展示真实授权公告;表、菜单仍在 `[0]/[1]`,模块缺失时使用 `referencePolicy.onMissing="RemoveWidget"` 移除可选组件及空容器。
|
|
30
|
-
- 修改已有首页前通过 MCP 读取页面及历史 `CurrentHash`,保存传 `expectedCurrentHash`,再回读 JSON 和历史,保留可恢复版本。
|
|
31
|
-
|
|
32
|
-
你正在为 Microi 吾码平台生成界面引擎页面的 JSON 数据。界面引擎页面由 `formData` 对象描述,用户导入 JSON 即可使用。
|
|
33
|
-
|
|
34
|
-
<!-- microi-progressive:begin -->
|
|
35
|
-
<!-- microi-progressive:chunk id=page-engine-000 sha256=5b79a31a8484bf0a618c2810e66c0ab542fd86ceeb76e7a5cd07a86284c4f6ac -->
|
|
36
|
-
## 设计器源码事件
|
|
37
|
-
|
|
38
|
-
只有在扩展界面引擎设计器源码时才使用全局事件总线。用
|
|
39
|
-
`EventBus.on(eventName, handler)` 监听保存、日期选择或组件跳转等事件,并在
|
|
40
|
-
组件卸载时逐项调用 `EventBus.off(eventName)`。重复挂载不解绑会造成一次操作
|
|
41
|
-
触发多次;普通页面 JSON 生成不需要注册事件总线。
|
|
42
|
-
|
|
43
|
-
<!-- /microi-progressive:chunk -->
|
|
44
|
-
<!-- microi-progressive:chunk id=page-engine-001 sha256=53cf1992d4adcf8126f4d0a04d373d685d539b38c5d74840ba07905e9cbe4589 -->
|
|
45
|
-
## 核心数据结构
|
|
46
|
-
|
|
47
|
-
```
|
|
48
|
-
formData(页面)
|
|
49
|
-
├── Id: string // 页面唯一ID(GUID)
|
|
50
|
-
├── Title: string // 页面标题
|
|
51
|
-
├── Number: string // 页面编号(如 PAGE1)
|
|
52
|
-
├── Desc: string // 页面描述
|
|
53
|
-
└── JsonObj
|
|
54
|
-
├── formConfig // 页面全局配置
|
|
55
|
-
└── wrapperList[] // 容器列表
|
|
56
|
-
├── wrapperOption // 容器配置
|
|
57
|
-
└── widgetList[] // 组件列表
|
|
58
|
-
├── widgetOption // 组件通用配置
|
|
59
|
-
└── widgetParams[] // 组件私有参数
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
<!-- /microi-progressive:chunk -->
|
|
63
|
-
<!-- microi-progressive:chunk id=page-engine-002 sha256=227ecf87086231eee28a9d91fde6a178a437e9196dd8f2ef1d14d53e5c5858df -->
|
|
64
|
-
## formConfig 页面全局配置
|
|
65
|
-
|
|
66
|
-
```json
|
|
67
|
-
{
|
|
68
|
-
"gutter": 0, "mask": true, "drag": true, "left": true,
|
|
69
|
-
"hover": true, "shadow": true, "link": false, "watermark": false,
|
|
70
|
-
"mobile": false, "dark": false, "autoRefresh": 0, "lastRefreshTime": "",
|
|
71
|
-
"watermarkStyle": {
|
|
72
|
-
"content": "Microi吾码",
|
|
73
|
-
"font": { "fontSize": 16, "color": "rgba(255, 0, 0, 0.15)" },
|
|
74
|
-
"rotate": -22
|
|
75
|
-
},
|
|
76
|
-
"dynamicStyle": { "padding": "4px", "backgroundColor": "", "opacity": 1 }
|
|
77
|
-
}
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
<!-- /microi-progressive:chunk -->
|
|
81
|
-
<!-- microi-progressive:chunk id=page-engine-003 sha256=7bb7cb860f9330002f60748e93de3c639b157cddfd77b63ac8b19f0535306e65 -->
|
|
82
|
-
## 容器类型
|
|
83
|
-
|
|
84
|
-
| type | label | 说明 |
|
|
85
|
-
|------|-------|------|
|
|
86
|
-
| `pannel` | 卡片 | 标准容器,包含一个 `widgetList` |
|
|
87
|
-
| `tabs` | 选项卡 | 多标签页容器,使用 `tabWidgetMap` 存储每个 tab 的组件 |
|
|
88
|
-
|
|
89
|
-
### 卡片容器(pannel)关键字段
|
|
90
|
-
|
|
91
|
-
```json
|
|
92
|
-
{
|
|
93
|
-
"type": "pannel",
|
|
94
|
-
"label": "卡片",
|
|
95
|
-
"hidden": false,
|
|
96
|
-
"wrapperOption": {
|
|
97
|
-
"number": 10001, // 随机5位整数,页面内唯一
|
|
98
|
-
"span": 12, // 栅格宽度(1-24,24=满宽)
|
|
99
|
-
"height": 300, // 容器高度(px)
|
|
100
|
-
"margin": "0px 10px 10px 0px",
|
|
101
|
-
"dynamicStyle": { "padding": "10px", "backgroundColor": "" },
|
|
102
|
-
"titleOption": {
|
|
103
|
-
"hidden": true, // true=隐藏标题
|
|
104
|
-
"title": "未命名",
|
|
105
|
-
"dynamicStyle": { "textAlign": "left", "padding": "0px", "height": "20px", "lineHeight": "20px", "fontSize": "14px", "color": "" },
|
|
106
|
-
"moreOption": { "hidden": true, "icon": "More", "iconShow": false, "text": "更多", "linkurl": "/", "linktype": "router", "refresh": "0", "datetime": "0", "autotime": false, "autotimeval": 1, "dynamicStyle": { "color": "", "fontSize": "12px" } }
|
|
107
|
-
}
|
|
108
|
-
},
|
|
109
|
-
"widgetList": []
|
|
110
|
-
}
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
### 选项卡容器(tabs)
|
|
114
|
-
|
|
115
|
-
组件放在 `tabWidgetMap[tabKey][]` 中,**不**放在 `widgetList` 中。
|
|
116
|
-
|
|
117
|
-
```json
|
|
118
|
-
{
|
|
119
|
-
"type": "tabs",
|
|
120
|
-
"wrapperOption": {
|
|
121
|
-
"number": 10002, "span": 24, "height": 400,
|
|
122
|
-
"tabType": "", // '' | 'card' | 'border-card'
|
|
123
|
-
"tabPosition": "top", // 'top' | 'right' | 'bottom' | 'left'
|
|
124
|
-
"tabs": [
|
|
125
|
-
{ "key": "tab_1", "label": "标签页1" },
|
|
126
|
-
{ "key": "tab_2", "label": "标签页2" }
|
|
127
|
-
],
|
|
128
|
-
"activeTab": "tab_1"
|
|
129
|
-
},
|
|
130
|
-
"tabWidgetMap": { "tab_1": [], "tab_2": [] },
|
|
131
|
-
"widgetList": []
|
|
132
|
-
}
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
<!-- /microi-progressive:chunk -->
|
|
136
|
-
<!-- microi-progressive:chunk id=page-engine-004 sha256=66261254d94455648441bf3519a5c810ede60c64f341dce035f931e284f762ba -->
|
|
137
|
-
## 组件通用结构
|
|
138
|
-
|
|
139
|
-
```json
|
|
140
|
-
{
|
|
141
|
-
"type": "bar",
|
|
142
|
-
"label": "柱状图",
|
|
143
|
-
"category": 0,
|
|
144
|
-
"show": 1,
|
|
145
|
-
"widgetOption": {
|
|
146
|
-
"number": 20001, // 随机5位整数,页面内唯一
|
|
147
|
-
"wrapperNumber": 10001, // 必须等于所在容器的 wrapperOption.number
|
|
148
|
-
"span": 24,
|
|
149
|
-
"height": 280,
|
|
150
|
-
"dynamicStyle": { "padding": "8px", "backgroundColor": "" }
|
|
151
|
-
},
|
|
152
|
-
"widgetParams": []
|
|
153
|
-
}
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
<!-- /microi-progressive:chunk -->
|
|
157
|
-
<!-- microi-progressive:chunk id=page-engine-005 sha256=e9667b97462c9089a72d2a407cfde00e873afe7d64593bf33ad49a523255b38d -->
|
|
158
|
-
## widgetParams 参数类型
|
|
159
|
-
|
|
160
|
-
| type | 说明 | value 类型 |
|
|
161
|
-
|------|------|-----------|
|
|
162
|
-
| `textarea` | 多行文本(数据来源) | `string` |
|
|
163
|
-
| `input` | 单行文本 | `string` |
|
|
164
|
-
| `number` | 数字 | `number` |
|
|
165
|
-
| `switch` | 开关 | `boolean` |
|
|
166
|
-
| `slider` | 滑块 | `number` |
|
|
167
|
-
| `color` | 颜色选择 | `string` |
|
|
168
|
-
| `select` | 下拉选择 | `string` |
|
|
169
|
-
| `radio` | 单选组 | `string` |
|
|
170
|
-
|
|
171
|
-
<!-- /microi-progressive:chunk -->
|
|
172
|
-
<!-- microi-progressive:chunk id=page-engine-006 sha256=7347b2b4290db41ae8c3ef128acc9854a5e17290268b8e274e771de47b8f752a -->
|
|
173
|
-
## 数据来源(widgetParams[0])
|
|
174
|
-
|
|
175
|
-
大多数组件的第一个参数(sort=0)是"数据来源":
|
|
176
|
-
- **静态数据**:`value` 为空,数据在 `typeOptions.dataJson` 中
|
|
177
|
-
- **动态接口**:`value` 设为接口地址,运行时请求替换 `dataJson`
|
|
178
|
-
|
|
179
|
-
**接口引擎地址格式:**
|
|
180
|
-
```
|
|
181
|
-
$ApiBase$/apiengine/{ApiEngineKey}
|
|
182
|
-
```
|
|
183
|
-
|
|
184
|
-
<!-- /microi-progressive:chunk -->
|
|
185
|
-
<!-- microi-progressive:chunk id=page-engine-007 sha256=5f2ed06aa1e0abbc5f968f026602d92f22f01836d76fdf502fd91ca0f945509b -->
|
|
186
|
-
## 运行态布局与滚动规范
|
|
187
|
-
|
|
188
|
-
- 页面只保留一个主滚动容器:仪表盘、首页和嵌套界面优先继承最外层页面滚动;单个 `pannel`、`workcenter`、`diytable`、`diycalendar`、嵌套 `pageengine` 在运行态默认使用内容自适应高度和 `overflow: visible`,不得无条件设置 `overflow: auto`。
|
|
189
|
-
- 经典桌面主滚动容器为路由内容区,导航与 Tab 留在视口内;移动端继续保留外层文档滚动。图表在异步挂载后绑定尺寸观察器,切换导航、收缩侧栏及改变窗口宽度都应重新测量,禁止仅隐藏溢出而保留错误画布宽度。真实回归覆盖两种导航、两种桌面宽度,以及日程创建后刷新、备注编辑和删除。
|
|
190
|
-
- 固定高度只用于设计器拖拽预览、图表画布或确有虚拟滚动需求的组件。设计态可按 `widgetOption.height` 提供滚动,运行态必须先验证内容能完整展开;不能用双滚动条掩盖容器高度不足。
|
|
191
|
-
- 表格型容器通常按 15 条数据验收,表头、工具栏、全部数据行和分页区应同时可见;首页紧凑表格可通过 `diy-table` 的 `PageSizeList` 追加 `[10]`,并在 `sys_menu.DefaultPageSize` 为空时默认选择候选页码中的最小值。空间不足时先压缩统计卡、工具栏、行高和间距,再考虑增加外层页面长度,不隐藏分页、不在卡片内部滚动。
|
|
192
|
-
- 同一行的容器使用一致的左右边距、内边距、标题高度和顶部基线;同层卡片间距必须相同,左右边缘、标题、工具栏和内容区应形成稳定对齐线。推荐使用统一的 8px 基础间距和 8/12/16px 倍数。
|
|
193
|
-
- 成对容器应设置相同的最小高度;内容较少的组件通过内容居中、合理留白或自适应布局消化空间,不能在底部留下明显的大块无意义空白。内容较多时允许容器自然增高并由页面继续向下滚动。
|
|
194
|
-
- 日历和公告应完整展示工具栏、主体和底部操作区;日历优先使用 `height: auto` / `contentHeight: auto`,公告优先使用标准表单引擎分页与权限按钮。
|
|
195
|
-
- 运行态移动端必须按实际视口自动切为 24 栅格,不能只依赖保存 JSON 中的 `formConfig.mobile`;窗口旋转或宽度变化时也要同步。嵌入的 `diytable` 不得渲染独立列表页的固定返回栏和全局 FAB,新增、页面按钮、批量操作应留在当前容器工具栏内;容器标题操作区允许紧凑换行,但不能绝对定位覆盖标题或其它卡片。
|
|
196
|
-
- `aiengine` 在移动端嵌入首页时应使用内容自适应高度和外层页面滚动,指标卡与快捷入口优先两列紧凑排布,避免 4 个指标和全部快捷入口单列堆叠造成超长首屏;输入区和模型/推理设置必须保持可见且不横向溢出。
|
|
197
|
-
- 交付前必须在真实运行页检查:是否存在内部纵向/横向滚动条、15 条表格分页是否可见、同排容器是否对齐、四周边距是否一致、组件底部是否有异常空白。仅检查设计器画布不算验收完成。
|
|
198
|
-
|
|
199
|
-
<!-- /microi-progressive:chunk -->
|
|
200
|
-
## 详细参考路由(渐进披露)
|
|
201
|
-
|
|
202
|
-
仅在当前任务涉及对应主题时读取;下列文件合计保留了原 SKILL.md 的全部详细知识。
|
|
203
|
-
|
|
204
|
-
- [references/progressive-01-所有组件类型.md](references/progressive-01-所有组件类型.md):所有组件类型;Office/PDF 在线预览自然语言生成规则;searchData 查询条件通用结构
|
|
205
|
-
- [references/progressive-02-版本历史-并发保存与回滚.md](references/progressive-02-版本历史-并发保存与回滚.md):版本历史、并发保存与回滚;本地撤销、Vue 源码桥与资产包;生成 JSON 注意事项;经营看板周期筛选与布局规则
|
|
206
|
-
<!-- microi-progressive:end -->
|
|
1
|
+
---
|
|
2
|
+
name: page-engine
|
|
3
|
+
description: 生成和审查 Microi 界面引擎 Page Engine 页面 JSON。用于创建仪表盘、图表、表格、地图、组件、页面布局,或校验 mic_page formData JSON。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
> **Microi吾码基础规范(强制):** 任何 AI 模型与宿主每次新建或接续吾码任务,先完整读取 `../workspace-conventions/SKILL.md`,必须执行版本播报、`@microi.net/cli` 后台自动升级、Skills/MCP 同步和进度播报。安装与诊断读取 `../microi-codex-installer/SKILL.md`;更新失败延后重试,不阻断当前工作。
|
|
7
|
+
|
|
8
|
+
# Microi 界面引擎(Page Engine)页面 JSON 生成
|
|
9
|
+
|
|
10
|
+
MCP 的生成/保存入口包含 `microi_build_page_design` 与 `microi_save_page_design`;版本治理入口见下文。保存工具写入后仍需回读 `mic_page`,不能把生成成功当作持久化成功。
|
|
11
|
+
|
|
12
|
+
## 紧凑报表与平台主题
|
|
13
|
+
|
|
14
|
+
需要“主指标 + 多行次指标 + 图表 + 排行表 + 资讯”布局时,可读取 [examples/compact-dashboard.json](examples/compact-dashboard.json) 作为原生组件示例。示例数值仅用于视觉排版,交付业务报表前必须替换为当前租户的真实数据源。
|
|
15
|
+
|
|
16
|
+
默认使用 `formConfig.themeMode="system"`、`density="compact"`,卡片背景使用 `var(--el-bg-color)`、页面背景使用 `var(--el-bg-color-page)`,正文使用平台文字变量。不要因为“驾驶舱/大屏”字样就强制深色。显式指定浅色或深色时才使用 `light/dark`。
|
|
17
|
+
|
|
18
|
+
运行容器默认 `wrapperOption.heightMode="content"`,`height` 只保留设计器布局尺寸。仅需固定图形画布时设为 `fixed`;图表自身可以设置 240–320px 高度。不要为一行指标、标题、三行表格预留 200–400px 空容器。紧凑布局的卡片间距建议 10–16px,面板内边距 8–16px;统计组件 `widgetParams[24].value` 支持 `summary`(图标和大数字)、`detail`(多行小指标)及兼容的 `cards`。
|
|
19
|
+
|
|
20
|
+
用户提供参考截图时,先拆出面板行列比例、指标主次、图表与表格高度、标题/筛选位置,再用原生 pannel/statistic/chart/tabel/list 组合配置。不能把所有指标替换成一排大色块,也不能用模板假数据声称已接通客户业务。必须用同一视口截图检查浅色和平台深色,检查页面缩放后的断行与纵向空白;布局接近度和真实数据绑定分别验收。
|
|
21
|
+
|
|
22
|
+
### 平台智能工作首页
|
|
23
|
+
|
|
24
|
+
保留 `aiengine` 原生 AI 创作中心,与 `homeoverview` 工作概览组成桌面首行 14/10 栅格;任务、月历与公告放在下一行,移动端自动切为 24 栅格。不能把任务的完整 15 行列表或未配置日程的大空白块直接堆在首屏。
|
|
25
|
+
|
|
26
|
+
- `homeoverview.widgetParams[0]` 为真实个人统计接口 `platform-home-overview`,`[1].value="compact"` 启用紧凑指标、常用应用与趋势;所有数据仍受当前用户权限过滤。
|
|
27
|
+
- `workcenter.widgetParams` 按索引依次为视图、工作菜单、流程菜单、公告菜单、日历菜单、分页条数;`[5].value=5` 用于首页任务,范围 5–20,不能影响独立“我的工作”页面。
|
|
28
|
+
- `diycalendar.widgetParams[0].value` 应绑定当前账号可访问、关联 `microi_calendar` 的真实模块 Id;`[1].value="compact"` 只压缩月历密度,仍须支持点击日期新增及事件编辑、删除。备注字段为 `Remark`。隐藏菜单也可以是授权入口,旧模块可能没有 `DiyTableName`,此时必须显式绑定实际模块,不把只读日期回退当作日程验收成功。无模块时展示本月日期并明确提示未配置,不伪造任务。
|
|
29
|
+
- `diytable.widgetParams[4].value="NoticeList"` 以只读公告列表展示真实授权公告;表、菜单仍在 `[0]/[1]`,模块缺失时使用 `referencePolicy.onMissing="RemoveWidget"` 移除可选组件及空容器。
|
|
30
|
+
- 修改已有首页前通过 MCP 读取页面及历史 `CurrentHash`,保存传 `expectedCurrentHash`,再回读 JSON 和历史,保留可恢复版本。
|
|
31
|
+
|
|
32
|
+
你正在为 Microi 吾码平台生成界面引擎页面的 JSON 数据。界面引擎页面由 `formData` 对象描述,用户导入 JSON 即可使用。
|
|
33
|
+
|
|
34
|
+
<!-- microi-progressive:begin -->
|
|
35
|
+
<!-- microi-progressive:chunk id=page-engine-000 sha256=5b79a31a8484bf0a618c2810e66c0ab542fd86ceeb76e7a5cd07a86284c4f6ac -->
|
|
36
|
+
## 设计器源码事件
|
|
37
|
+
|
|
38
|
+
只有在扩展界面引擎设计器源码时才使用全局事件总线。用
|
|
39
|
+
`EventBus.on(eventName, handler)` 监听保存、日期选择或组件跳转等事件,并在
|
|
40
|
+
组件卸载时逐项调用 `EventBus.off(eventName)`。重复挂载不解绑会造成一次操作
|
|
41
|
+
触发多次;普通页面 JSON 生成不需要注册事件总线。
|
|
42
|
+
|
|
43
|
+
<!-- /microi-progressive:chunk -->
|
|
44
|
+
<!-- microi-progressive:chunk id=page-engine-001 sha256=53cf1992d4adcf8126f4d0a04d373d685d539b38c5d74840ba07905e9cbe4589 -->
|
|
45
|
+
## 核心数据结构
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
formData(页面)
|
|
49
|
+
├── Id: string // 页面唯一ID(GUID)
|
|
50
|
+
├── Title: string // 页面标题
|
|
51
|
+
├── Number: string // 页面编号(如 PAGE1)
|
|
52
|
+
├── Desc: string // 页面描述
|
|
53
|
+
└── JsonObj
|
|
54
|
+
├── formConfig // 页面全局配置
|
|
55
|
+
└── wrapperList[] // 容器列表
|
|
56
|
+
├── wrapperOption // 容器配置
|
|
57
|
+
└── widgetList[] // 组件列表
|
|
58
|
+
├── widgetOption // 组件通用配置
|
|
59
|
+
└── widgetParams[] // 组件私有参数
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
<!-- /microi-progressive:chunk -->
|
|
63
|
+
<!-- microi-progressive:chunk id=page-engine-002 sha256=227ecf87086231eee28a9d91fde6a178a437e9196dd8f2ef1d14d53e5c5858df -->
|
|
64
|
+
## formConfig 页面全局配置
|
|
65
|
+
|
|
66
|
+
```json
|
|
67
|
+
{
|
|
68
|
+
"gutter": 0, "mask": true, "drag": true, "left": true,
|
|
69
|
+
"hover": true, "shadow": true, "link": false, "watermark": false,
|
|
70
|
+
"mobile": false, "dark": false, "autoRefresh": 0, "lastRefreshTime": "",
|
|
71
|
+
"watermarkStyle": {
|
|
72
|
+
"content": "Microi吾码",
|
|
73
|
+
"font": { "fontSize": 16, "color": "rgba(255, 0, 0, 0.15)" },
|
|
74
|
+
"rotate": -22
|
|
75
|
+
},
|
|
76
|
+
"dynamicStyle": { "padding": "4px", "backgroundColor": "", "opacity": 1 }
|
|
77
|
+
}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
<!-- /microi-progressive:chunk -->
|
|
81
|
+
<!-- microi-progressive:chunk id=page-engine-003 sha256=7bb7cb860f9330002f60748e93de3c639b157cddfd77b63ac8b19f0535306e65 -->
|
|
82
|
+
## 容器类型
|
|
83
|
+
|
|
84
|
+
| type | label | 说明 |
|
|
85
|
+
|------|-------|------|
|
|
86
|
+
| `pannel` | 卡片 | 标准容器,包含一个 `widgetList` |
|
|
87
|
+
| `tabs` | 选项卡 | 多标签页容器,使用 `tabWidgetMap` 存储每个 tab 的组件 |
|
|
88
|
+
|
|
89
|
+
### 卡片容器(pannel)关键字段
|
|
90
|
+
|
|
91
|
+
```json
|
|
92
|
+
{
|
|
93
|
+
"type": "pannel",
|
|
94
|
+
"label": "卡片",
|
|
95
|
+
"hidden": false,
|
|
96
|
+
"wrapperOption": {
|
|
97
|
+
"number": 10001, // 随机5位整数,页面内唯一
|
|
98
|
+
"span": 12, // 栅格宽度(1-24,24=满宽)
|
|
99
|
+
"height": 300, // 容器高度(px)
|
|
100
|
+
"margin": "0px 10px 10px 0px",
|
|
101
|
+
"dynamicStyle": { "padding": "10px", "backgroundColor": "" },
|
|
102
|
+
"titleOption": {
|
|
103
|
+
"hidden": true, // true=隐藏标题
|
|
104
|
+
"title": "未命名",
|
|
105
|
+
"dynamicStyle": { "textAlign": "left", "padding": "0px", "height": "20px", "lineHeight": "20px", "fontSize": "14px", "color": "" },
|
|
106
|
+
"moreOption": { "hidden": true, "icon": "More", "iconShow": false, "text": "更多", "linkurl": "/", "linktype": "router", "refresh": "0", "datetime": "0", "autotime": false, "autotimeval": 1, "dynamicStyle": { "color": "", "fontSize": "12px" } }
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
"widgetList": []
|
|
110
|
+
}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### 选项卡容器(tabs)
|
|
114
|
+
|
|
115
|
+
组件放在 `tabWidgetMap[tabKey][]` 中,**不**放在 `widgetList` 中。
|
|
116
|
+
|
|
117
|
+
```json
|
|
118
|
+
{
|
|
119
|
+
"type": "tabs",
|
|
120
|
+
"wrapperOption": {
|
|
121
|
+
"number": 10002, "span": 24, "height": 400,
|
|
122
|
+
"tabType": "", // '' | 'card' | 'border-card'
|
|
123
|
+
"tabPosition": "top", // 'top' | 'right' | 'bottom' | 'left'
|
|
124
|
+
"tabs": [
|
|
125
|
+
{ "key": "tab_1", "label": "标签页1" },
|
|
126
|
+
{ "key": "tab_2", "label": "标签页2" }
|
|
127
|
+
],
|
|
128
|
+
"activeTab": "tab_1"
|
|
129
|
+
},
|
|
130
|
+
"tabWidgetMap": { "tab_1": [], "tab_2": [] },
|
|
131
|
+
"widgetList": []
|
|
132
|
+
}
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
<!-- /microi-progressive:chunk -->
|
|
136
|
+
<!-- microi-progressive:chunk id=page-engine-004 sha256=66261254d94455648441bf3519a5c810ede60c64f341dce035f931e284f762ba -->
|
|
137
|
+
## 组件通用结构
|
|
138
|
+
|
|
139
|
+
```json
|
|
140
|
+
{
|
|
141
|
+
"type": "bar",
|
|
142
|
+
"label": "柱状图",
|
|
143
|
+
"category": 0,
|
|
144
|
+
"show": 1,
|
|
145
|
+
"widgetOption": {
|
|
146
|
+
"number": 20001, // 随机5位整数,页面内唯一
|
|
147
|
+
"wrapperNumber": 10001, // 必须等于所在容器的 wrapperOption.number
|
|
148
|
+
"span": 24,
|
|
149
|
+
"height": 280,
|
|
150
|
+
"dynamicStyle": { "padding": "8px", "backgroundColor": "" }
|
|
151
|
+
},
|
|
152
|
+
"widgetParams": []
|
|
153
|
+
}
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
<!-- /microi-progressive:chunk -->
|
|
157
|
+
<!-- microi-progressive:chunk id=page-engine-005 sha256=e9667b97462c9089a72d2a407cfde00e873afe7d64593bf33ad49a523255b38d -->
|
|
158
|
+
## widgetParams 参数类型
|
|
159
|
+
|
|
160
|
+
| type | 说明 | value 类型 |
|
|
161
|
+
|------|------|-----------|
|
|
162
|
+
| `textarea` | 多行文本(数据来源) | `string` |
|
|
163
|
+
| `input` | 单行文本 | `string` |
|
|
164
|
+
| `number` | 数字 | `number` |
|
|
165
|
+
| `switch` | 开关 | `boolean` |
|
|
166
|
+
| `slider` | 滑块 | `number` |
|
|
167
|
+
| `color` | 颜色选择 | `string` |
|
|
168
|
+
| `select` | 下拉选择 | `string` |
|
|
169
|
+
| `radio` | 单选组 | `string` |
|
|
170
|
+
|
|
171
|
+
<!-- /microi-progressive:chunk -->
|
|
172
|
+
<!-- microi-progressive:chunk id=page-engine-006 sha256=7347b2b4290db41ae8c3ef128acc9854a5e17290268b8e274e771de47b8f752a -->
|
|
173
|
+
## 数据来源(widgetParams[0])
|
|
174
|
+
|
|
175
|
+
大多数组件的第一个参数(sort=0)是"数据来源":
|
|
176
|
+
- **静态数据**:`value` 为空,数据在 `typeOptions.dataJson` 中
|
|
177
|
+
- **动态接口**:`value` 设为接口地址,运行时请求替换 `dataJson`
|
|
178
|
+
|
|
179
|
+
**接口引擎地址格式:**
|
|
180
|
+
```
|
|
181
|
+
$ApiBase$/apiengine/{ApiEngineKey}
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
<!-- /microi-progressive:chunk -->
|
|
185
|
+
<!-- microi-progressive:chunk id=page-engine-007 sha256=5f2ed06aa1e0abbc5f968f026602d92f22f01836d76fdf502fd91ca0f945509b -->
|
|
186
|
+
## 运行态布局与滚动规范
|
|
187
|
+
|
|
188
|
+
- 页面只保留一个主滚动容器:仪表盘、首页和嵌套界面优先继承最外层页面滚动;单个 `pannel`、`workcenter`、`diytable`、`diycalendar`、嵌套 `pageengine` 在运行态默认使用内容自适应高度和 `overflow: visible`,不得无条件设置 `overflow: auto`。
|
|
189
|
+
- 经典桌面主滚动容器为路由内容区,导航与 Tab 留在视口内;移动端继续保留外层文档滚动。图表在异步挂载后绑定尺寸观察器,切换导航、收缩侧栏及改变窗口宽度都应重新测量,禁止仅隐藏溢出而保留错误画布宽度。真实回归覆盖两种导航、两种桌面宽度,以及日程创建后刷新、备注编辑和删除。
|
|
190
|
+
- 固定高度只用于设计器拖拽预览、图表画布或确有虚拟滚动需求的组件。设计态可按 `widgetOption.height` 提供滚动,运行态必须先验证内容能完整展开;不能用双滚动条掩盖容器高度不足。
|
|
191
|
+
- 表格型容器通常按 15 条数据验收,表头、工具栏、全部数据行和分页区应同时可见;首页紧凑表格可通过 `diy-table` 的 `PageSizeList` 追加 `[10]`,并在 `sys_menu.DefaultPageSize` 为空时默认选择候选页码中的最小值。空间不足时先压缩统计卡、工具栏、行高和间距,再考虑增加外层页面长度,不隐藏分页、不在卡片内部滚动。
|
|
192
|
+
- 同一行的容器使用一致的左右边距、内边距、标题高度和顶部基线;同层卡片间距必须相同,左右边缘、标题、工具栏和内容区应形成稳定对齐线。推荐使用统一的 8px 基础间距和 8/12/16px 倍数。
|
|
193
|
+
- 成对容器应设置相同的最小高度;内容较少的组件通过内容居中、合理留白或自适应布局消化空间,不能在底部留下明显的大块无意义空白。内容较多时允许容器自然增高并由页面继续向下滚动。
|
|
194
|
+
- 日历和公告应完整展示工具栏、主体和底部操作区;日历优先使用 `height: auto` / `contentHeight: auto`,公告优先使用标准表单引擎分页与权限按钮。
|
|
195
|
+
- 运行态移动端必须按实际视口自动切为 24 栅格,不能只依赖保存 JSON 中的 `formConfig.mobile`;窗口旋转或宽度变化时也要同步。嵌入的 `diytable` 不得渲染独立列表页的固定返回栏和全局 FAB,新增、页面按钮、批量操作应留在当前容器工具栏内;容器标题操作区允许紧凑换行,但不能绝对定位覆盖标题或其它卡片。
|
|
196
|
+
- `aiengine` 在移动端嵌入首页时应使用内容自适应高度和外层页面滚动,指标卡与快捷入口优先两列紧凑排布,避免 4 个指标和全部快捷入口单列堆叠造成超长首屏;输入区和模型/推理设置必须保持可见且不横向溢出。
|
|
197
|
+
- 交付前必须在真实运行页检查:是否存在内部纵向/横向滚动条、15 条表格分页是否可见、同排容器是否对齐、四周边距是否一致、组件底部是否有异常空白。仅检查设计器画布不算验收完成。
|
|
198
|
+
|
|
199
|
+
<!-- /microi-progressive:chunk -->
|
|
200
|
+
## 详细参考路由(渐进披露)
|
|
201
|
+
|
|
202
|
+
仅在当前任务涉及对应主题时读取;下列文件合计保留了原 SKILL.md 的全部详细知识。
|
|
203
|
+
|
|
204
|
+
- [references/progressive-01-所有组件类型.md](references/progressive-01-所有组件类型.md):所有组件类型;Office/PDF 在线预览自然语言生成规则;searchData 查询条件通用结构
|
|
205
|
+
- [references/progressive-02-版本历史-并发保存与回滚.md](references/progressive-02-版本历史-并发保存与回滚.md):版本历史、并发保存与回滚;本地撤销、Vue 源码桥与资产包;生成 JSON 注意事项;经营看板周期筛选与布局规则
|
|
206
|
+
<!-- microi-progressive:end -->
|