@microi.net/cli 5.7.9 → 5.8.1
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/.workbuddy-plugin/marketplace.json +2 -2
- package/.workbuddy-plugin/plugin.json +1 -1
- package/assets/build-meta.json +5 -5
- package/cordis.patch.yml +1 -1
- package/package.json +1 -1
- package/scripts/mcp-server.js +106 -106
- package/scripts/microi-skills.meta.json +293 -290
- package/skills/.microi-skills-version.json +2 -2
- package/skills/.progressive-disclosure-manifest.json +441 -441
- package/skills/README.md +2 -1
- package/skills/ai-engine/SKILL.md +1 -1
- package/skills/ai-engine/references/ai-employees.md +4 -0
- package/skills/ai-platform-governance/SKILL.md +8 -8
- package/skills/ai-platform-governance/references/progressive-01-/345/212/237/350/203/275/345/274/200/345/205/263.md +9 -9
- package/skills/app-store/SKILL.md +58 -4
- package/skills/job-engine/SKILL.md +4 -3
- package/skills/message-notification/SKILL.md +2 -1
- package/skills/microi/SKILL.md +14 -0
- package/skills/microi-ai-application/SKILL.md +16 -3
- package/skills/microi-client-frontend/SKILL.md +10 -5
- 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 +3 -3
- 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 +4 -4
- 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 +3 -3
- package/skills/microi-codex/SKILL.md +15 -0
- package/skills/microi-datasource-mapping/SKILL.md +4 -0
- package/skills/microi-deployment/SKILL.md +7 -0
- package/skills/microi-deployment/references/deployment-matrix.md +8 -0
- package/skills/microi-docs-coverage/references/capability-map.md +1 -0
- package/skills/microi-form-layout/SKILL.md +6 -6
- 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 +3 -3
- package/skills/microi-frontend-sdk/SKILL.md +6 -6
- 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 +7 -7
- package/skills/microi-microservice/SKILL.md +1 -0
- package/skills/microi-mobile-app-quality/SKILL.md +12 -8
- 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 +10 -10
- 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 +4 -4
- package/skills/microi-system-delivery/SKILL.md +5 -5
- package/skills/microi-system-delivery/references/progressive-01-/346/240/207/345/207/206/345/267/245/344/275/234/346/265/201.md +1 -1
- 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 +6 -4
- package/skills/microi-ui/SKILL.md +6 -6
- 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 +5 -5
- package/skills/microi-uniapp-frontend/SKILL.md +10 -10
- 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 +7 -7
- 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 +10 -10
- package/skills/module-engine/SKILL.md +13 -0
- package/skills/page-engine/SKILL.md +19 -8
- 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 +3 -3
- 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 +4 -4
- package/skills/playwright-e2e/SKILL.md +11 -11
- 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 +5 -5
- 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 +3 -3
- package/skills/playwright-e2e/references/progressive-03-microi-helper-/346/250/241/346/235/277.md +7 -7
- package/skills/playwright-e2e/references/progressive-04-ci-/345/273/272/350/256/256.md +4 -4
- package/skills/system-observability/SKILL.md +3 -0
- package/skills/ui-design/SKILL.md +7 -7
- 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 +2 -2
- package/skills/ui-design/references/progressive-02-/345/255/227/344/275/223.md +3 -3
- 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 +2 -2
- 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 +1 -1
- 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 +3 -3
- 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 +2 -2
- 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 +4 -4
- 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 +5 -5
- package/skills/unity-integration/references/ai-app-delivery.md +16 -0
- package/skills/v8-api-config/SKILL.md +6 -0
- package/skills/v8-crud-api/SKILL.md +9 -7
- 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 +8 -8
- 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 +2 -2
- package/skills/v8-explorer-tree/SKILL.md +2 -2
- package/skills/v8-export-import/SKILL.md +4 -4
- 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 +3 -3
- package/skills/v8-export-import/references/progressive-02-powerpoint-/345/257/274/345/207/272.md +4 -4
- 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 +1 -1
- package/skills/v8-file-upload/SKILL.md +32 -4
- 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 +3 -3
- 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 +3 -3
- package/skills/v8-frontend-events/SKILL.md +6 -6
- package/skills/v8-frontend-events/references/progressive-01-/345/210/227/350/241/250/344/272/213/344/273/266.md +5 -5
- package/skills/v8-http-integration/SKILL.md +4 -4
- package/skills/v8-http-integration/references/progressive-01-get-/350/257/267/346/261/202.md +7 -7
- 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 +2 -2
- package/skills/v8-image-processing/SKILL.md +1 -1
- package/skills/v8-menu-buttons/SKILL.md +4 -4
- package/skills/v8-menu-buttons/references/progressive-01-2-/346/214/211/351/222/256/345/257/271/350/261/241-schema.md +4 -4
- 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 +5 -5
- 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 +3 -3
- package/skills/v8-mq-mqtt/SKILL.md +3 -2
- package/skills/v8-mq-mqtt/references/mqtt-production.md +1 -1
- package/skills/v8-mq-mqtt/references/progressive-01-v8-mqtt-iot-/347/211/251/350/201/224/347/275/221.md +1 -1
- package/skills/v8-mq-mqtt/scripts/check-mqtt-skill-coverage.mjs +1 -1
- package/skills/v8-security/SKILL.md +15 -5
- package/skills/v8-security/references/progressive-01-2-/346/235/203/351/231/220/346/240/241/351/252/214.md +3 -3
- package/skills/v8-security/references/progressive-02-7-/346/227/245/345/277/227/350/256/260/345/275/225.md +8 -6
- package/skills/v8-table-event/SKILL.md +5 -5
- 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 +6 -6
- 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 +2 -2
- package/skills/v8-tcp-integration/SKILL.md +2 -2
- package/skills/v8-workflow/SKILL.md +42 -7
- 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 +7 -7
- package/skills/workspace-conventions/SKILL.md +19 -10
- 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 +8 -7
- 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 +21 -21
- 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 +1 -1
|
@@ -16,7 +16,7 @@ Manifest 使用 `tables[].formBanner`;未显式配置时仍按字段类型选
|
|
|
16
16
|
模块引擎或 `sys_menu`。逐步建模在字段完成后调用 `microi_configure_form_banner` 回读验收。
|
|
17
17
|
|
|
18
18
|
<!-- microi-progressive:begin -->
|
|
19
|
-
<!-- microi-progressive:chunk id=microi-system-delivery-000 sha256=
|
|
19
|
+
<!-- microi-progressive:chunk id=microi-system-delivery-000 sha256=bdbc78e88e50c53a3bd29eeb76ce34e3fed8eec5f4ba16371417d2aeee9c2fbe -->
|
|
20
20
|
## 交付总原则
|
|
21
21
|
|
|
22
22
|
1. **先事实源,后建模**:先读需求文档、截图、现有蓝图、数据库结构和菜单结构,形成业务蓝图;不要边猜边建表、边猜边写接口。
|
|
@@ -30,7 +30,7 @@ Manifest 使用 `tables[].formBanner`;未显式配置时仍按字段类型选
|
|
|
30
30
|
9. **平台能力四项同步**:按 `workspace-conventions/SKILL.md` 首部识别创始人源码工作区;每项平台新增、增强或修复都逐项判断应用商城、官方中文文档、Skills、MCP 是否需要完善,交付时列出证据或无需修改的依据。复用已有 MCP 能力,不机械新增工具;镜像发布不等于客户部署,客户手动更新边界必须保留。
|
|
31
31
|
|
|
32
32
|
<!-- /microi-progressive:chunk -->
|
|
33
|
-
<!-- microi-progressive:chunk id=microi-system-delivery-001 sha256=
|
|
33
|
+
<!-- microi-progressive:chunk id=microi-system-delivery-001 sha256=0e58c2126bd11900a4d0f4a7012b463f304490587443e90346c64e9f85dfcf10 -->
|
|
34
34
|
## 用户问题编号跟踪(强制)
|
|
35
35
|
|
|
36
36
|
用户一次提出多个问题时,必须先拆成 `1、2、3、4...` 的问题清单,并在交付过程中保持同一编号,不得合并吞掉或用笼统“已优化”代替。
|
|
@@ -46,7 +46,7 @@ Manifest 使用 `tables[].formBanner`;未显式配置时仍按字段类型选
|
|
|
46
46
|
最终回复必须按原始编号逐项汇总:哪些已实现、哪些未实现、是否通过全自动化测试、是否通过截图验证。不能只给总括性“都完成了”。如果某项没有测试或没有截图,必须明说“未覆盖/未截图”,并说明原因。
|
|
47
47
|
|
|
48
48
|
<!-- /microi-progressive:chunk -->
|
|
49
|
-
<!-- microi-progressive:chunk id=microi-system-delivery-002 sha256=
|
|
49
|
+
<!-- microi-progressive:chunk id=microi-system-delivery-002 sha256=adeb9e4ec4beadf3b7ba33325e860b378b81f6d7e95b25879b64ca4ee1c91987 -->
|
|
50
50
|
## 平台安全与存量兼容验收(强制)
|
|
51
51
|
|
|
52
52
|
AI 零代码交付不能只验证管理员帐号和页面能打开。任何涉及 FormEngine、菜单、角色、子表、文件、SaaS 或登录协议的交付,都必须按以下服务端边界设计和验收:
|
|
@@ -99,7 +99,7 @@ AI 零代码交付不能只验证管理员帐号和页面能打开。任何涉
|
|
|
99
99
|
9. SaaS 脱敏投影不包含基础设施密钥,Redis anonymous/temporary/非管理员管理失败。
|
|
100
100
|
|
|
101
101
|
<!-- /microi-progressive:chunk -->
|
|
102
|
-
<!-- microi-progressive:chunk id=microi-system-delivery-003 sha256=
|
|
102
|
+
<!-- microi-progressive:chunk id=microi-system-delivery-003 sha256=8e2891f2a149d6828b653b9f0735ea39a4df5ba60178c79f0e5b0065ce72ee84 -->
|
|
103
103
|
## 前端交付检查清单
|
|
104
104
|
|
|
105
105
|
- 底部 tabBar 图标不 404。
|
|
@@ -113,7 +113,7 @@ AI 零代码交付不能只验证管理员帐号和页面能打开。任何涉
|
|
|
113
113
|
- 订单状态角标只给需要处理的状态,不给“全部/已完成/已取消”等静态分类堆数字。
|
|
114
114
|
|
|
115
115
|
<!-- /microi-progressive:chunk -->
|
|
116
|
-
<!-- microi-progressive:chunk id=microi-system-delivery-004 sha256=
|
|
116
|
+
<!-- microi-progressive:chunk id=microi-system-delivery-004 sha256=9a226a70ef240ce83151c140d002253dccbf7efa63653f61c8825f2b69c1c7d3 -->
|
|
117
117
|
## 交付完成定义
|
|
118
118
|
|
|
119
119
|
一次 Microi 全系统交付只有同时满足以下条件才算完成:
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
统计都应来自真实字段或真实接口引擎;配置写 `diy_table`,禁止写入 `sys_menu`。即使用户
|
|
8
8
|
没有逐项指定,也必须写入类型感知的合理默认值,不能交付空 Banner。
|
|
9
9
|
|
|
10
|
-
<!-- microi-progressive:chunk id=microi-system-delivery-005 sha256=
|
|
10
|
+
<!-- microi-progressive:chunk id=microi-system-delivery-005 sha256=923d8382de89f7c448cd0aa9d672d45339ed9c66a5f57533c408be67f861bca1 -->
|
|
11
11
|
## 标准工作流
|
|
12
12
|
|
|
13
13
|
### 1. 需求蓝图阶段
|
|
@@ -2,13 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
> 按需读取;本文件由 SKILL.md 的原章节无损拆分。
|
|
4
4
|
|
|
5
|
-
<!-- microi-progressive:chunk id=microi-system-delivery-006 sha256=
|
|
5
|
+
<!-- microi-progressive:chunk id=microi-system-delivery-006 sha256=4b999e29e04c192319690a886ba25bb8952d5cc1910db8fa151b583d599b2be5 -->
|
|
6
6
|
## 自动化测试必须覆盖的坑
|
|
7
7
|
|
|
8
8
|
### 后端统一测试与发布门禁
|
|
9
9
|
|
|
10
|
-
-
|
|
11
|
-
|
|
10
|
+
- 官方或社区独立业务应用、游戏和客户项目在应用自己的 `tests/` 或独立测试工程维护回归,由应用自己的测试及发布入口执行;不得通过直接放文件、转调包装或自动扫描加入平台 Quick/Full。官方商城发布不使业务应用变为平台内置能力。平台 SDK、商城协议、安装器及通用缺陷的最小回归仍由平台负责。
|
|
11
|
+
|
|
12
|
+
- 每个平台新功能或 Bug 修复必须提供对应回归用例;平台 C# 进入 `Microi.Tests`,平台前端与内置资源/V8 测试进入平台 Node 自动发现范围。修复先保留失败证据,再跑成功、边界、异常、权限及旧格式兼容用例;不能仅添加字符串存在断言替代行为测试。
|
|
13
|
+
- `run-node-regressions.mjs` 自动发现 `Microi.Tests`、`OfficialApplications/Resource`、`Microi.Client/tests` 的确定性测试。新文件无法分类即失败;Playwright 用例必须走真实浏览器入口,不能用 Node 执行后把跳过当通过。所有计数需回读,0 用例、失败、取消、skipped、todo 均拒绝发布。
|
|
12
14
|
- 仅推送模式也必须取得发布锁并执行 Full。源码候选哈希、构建上下文哈希与 `release-artifact.mjs` 回执必须一致,且每个 Docker push 前再验证;无回执的历史产物不允许上传。文档专用模式不运行无关后端业务测试。
|
|
13
15
|
- 测试评审按身份/权限、多租户隔离、CRUD/事务、V8 同步异步与 `return/V8.Result`、存储安全、缓存/任务幂等、升级回滚、应用包幂等、浏览器登录/目标路由、发布脚本失败关闭分类盘点。新增能力补所在分类,不承诺一轮测试覆盖所有未知业务。
|
|
14
16
|
|
|
@@ -130,7 +132,7 @@
|
|
|
130
132
|
- 每次修复资金/资产业务规则后,必须同步更新项目蓝图/方案文档中的触发点、计算公式、字段口径和验收方式,不能只改代码或只在对话里说明。
|
|
131
133
|
|
|
132
134
|
<!-- /microi-progressive:chunk -->
|
|
133
|
-
<!-- microi-progressive:chunk id=microi-system-delivery-007 sha256=
|
|
135
|
+
<!-- microi-progressive:chunk id=microi-system-delivery-007 sha256=67fa060b6520a80e41818ac0974c0b38ff3171c97a1c558a01667b854865fa7a -->
|
|
134
136
|
## 复盘记录格式
|
|
135
137
|
|
|
136
138
|
每次用户手工测出问题,修复后都要把问题写入对应通用 Skill,格式如下:
|
|
@@ -14,7 +14,7 @@ Microi.UI 是 Microi 产品共享前端设计系统。Vue 3 网站、响应式
|
|
|
14
14
|
这是自动规则。不要等用户明确说“遵循 `microi.skills/microi-ui/SKILL.md`”。只要仓库、需求、文件路径或项目上下文属于 Microi 生态,且工作涉及前端界面、网站界面、H5、uni-app、小程序、客户/员工/会员页面、报告、仪表盘或视觉打磨,就默认读取并应用本 skill。
|
|
15
15
|
|
|
16
16
|
<!-- microi-progressive:begin -->
|
|
17
|
-
<!-- microi-progressive:chunk id=microi-ui-000 sha256=
|
|
17
|
+
<!-- microi-progressive:chunk id=microi-ui-000 sha256=f7196312987e0d8cb833f3ae0d96f014d57e2ca1fb120333accbe25a05f7c83d -->
|
|
18
18
|
## 核心承诺
|
|
19
19
|
|
|
20
20
|
Microi.UI 不只是组件集合,它是 AI 构建软件的视觉交付标准:
|
|
@@ -30,7 +30,7 @@ Microi.UI 不只是组件集合,它是 AI 构建软件的视觉交付标准:
|
|
|
30
30
|
- 每个移动端页面都必须处理安全区、加载状态、按下反馈和底部操作。
|
|
31
31
|
|
|
32
32
|
<!-- /microi-progressive:chunk -->
|
|
33
|
-
<!-- microi-progressive:chunk id=microi-ui-001 sha256=
|
|
33
|
+
<!-- microi-progressive:chunk id=microi-ui-001 sha256=044beeb0089cefa69844d2ff8a39f2130987af557cc63c03701c2b822f0b9c88 -->
|
|
34
34
|
## 内置设计模式
|
|
35
35
|
|
|
36
36
|
当需求只说“主流、高级、好看”时,先为页面确定一种主模式,再开始选组件和写样式:
|
|
@@ -53,7 +53,7 @@ Microi.UI 不只是组件集合,它是 AI 构建软件的视觉交付标准:
|
|
|
53
53
|
- [原创模式案例](../ui-design/assets/pattern-showcase/index.html) 只用于理解结构、状态和视觉差异,业务项目应替换为自己的信息架构和合法资产。
|
|
54
54
|
|
|
55
55
|
<!-- /microi-progressive:chunk -->
|
|
56
|
-
<!-- microi-progressive:chunk id=microi-ui-002 sha256=
|
|
56
|
+
<!-- microi-progressive:chunk id=microi-ui-002 sha256=cc3389777d88e0dfa5f83cdae60fbe5e23605525cf7ad95a28a41b9c71f8863c -->
|
|
57
57
|
## 源码结构
|
|
58
58
|
|
|
59
59
|
- `Microi.UI/src/theme/tokens.css`:设计变量、色板、圆角、阴影、动效、移动端场景变量。
|
|
@@ -63,7 +63,7 @@ Microi.UI 不只是组件集合,它是 AI 构建软件的视觉交付标准:
|
|
|
63
63
|
- `Microi.UI/src/uniapp`:uni-app Vue 3 组件。
|
|
64
64
|
|
|
65
65
|
<!-- /microi-progressive:chunk -->
|
|
66
|
-
<!-- microi-progressive:chunk id=microi-ui-003 sha256=
|
|
66
|
+
<!-- microi-progressive:chunk id=microi-ui-003 sha256=749502e10b376884c9f2038fe2e0e385eab8f72646ce1af7daf5c18161c87a79 -->
|
|
67
67
|
## 默认要求
|
|
68
68
|
|
|
69
69
|
- **禁止弧形包边**:Tab、卡片、导航、提示条不使用随容器圆角弯曲的强调色侧边框。默认无侧框;需要选中侧标时使用独立的直竖线,与上下边缘留白,不能沿圆角包住上下边缘。中性容器边框与直线端点小圆角不受影响;完整规则见 `../ui-design/SKILL.md`。
|
|
@@ -87,7 +87,7 @@ Microi.UI 不只是组件集合,它是 AI 构建软件的视觉交付标准:
|
|
|
87
87
|
- 页面安全区验收以 `pages.json` 全路由为清单,至少覆盖 iPhone、Android 和微信开发者工具;首页、详情、表单、底部弹层及 fixed 操作栏必须全部通过。
|
|
88
88
|
|
|
89
89
|
<!-- /microi-progressive:chunk -->
|
|
90
|
-
<!-- microi-progressive:chunk id=microi-ui-004 sha256=
|
|
90
|
+
<!-- microi-progressive:chunk id=microi-ui-004 sha256=e40239e4859edb17b2c0bb2bc39009692c3a1207d59b3dd11a983130aede75c2 -->
|
|
91
91
|
## 组件选择
|
|
92
92
|
|
|
93
93
|
- `MciPage`:页面壳、安全区、动效、高品质移动端背景。
|
|
@@ -121,7 +121,7 @@ Microi.UI 不只是组件集合,它是 AI 构建软件的视觉交付标准:
|
|
|
121
121
|
- 可点击整卡必须有 hover/focus/pressed、键盘 Enter/Space、可见焦点与内部控件事件隔离;骨架屏和最终卡片结构等高。
|
|
122
122
|
|
|
123
123
|
<!-- /microi-progressive:chunk -->
|
|
124
|
-
<!-- microi-progressive:chunk id=microi-ui-005 sha256=
|
|
124
|
+
<!-- microi-progressive:chunk id=microi-ui-005 sha256=7cd46e4c2b14511700c0c30b449ceff038c029f451e03b7963892354c548ad11 -->
|
|
125
125
|
## 高品质移动端视觉标准
|
|
126
126
|
|
|
127
127
|
移动端应用必须像经过打磨的产品,而不是把后台表单硬塞进手机视口。
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> 按需读取;本文件由 SKILL.md 的原章节无损拆分。
|
|
4
4
|
|
|
5
|
-
<!-- microi-progressive:chunk id=microi-ui-006 sha256=
|
|
5
|
+
<!-- microi-progressive:chunk id=microi-ui-006 sha256=640cefe2522ed4fa107299f8cebd22f9adb123f2cfa137841483aa43dc2ab446 -->
|
|
6
6
|
## 移动端场景蓝图
|
|
7
7
|
|
|
8
8
|
### 登录/注册
|
|
@@ -114,7 +114,7 @@
|
|
|
114
114
|
- 活动页需要活动首屏、进度/状态、奖励/操作面板和规则面板。
|
|
115
115
|
|
|
116
116
|
<!-- /microi-progressive:chunk -->
|
|
117
|
-
<!-- microi-progressive:chunk id=microi-ui-007 sha256=
|
|
117
|
+
<!-- microi-progressive:chunk id=microi-ui-007 sha256=7160d9b28fb119dc5ee9c0a59e6a0a333defee6dab7dce52f5e56a8354e597e7 -->
|
|
118
118
|
## 网站/PC 站标准
|
|
119
119
|
|
|
120
120
|
- 构建真实产品/站点体验,不要做通用落地页外壳。
|
|
@@ -126,7 +126,7 @@
|
|
|
126
126
|
- 写页面局部 CSS 前优先使用 `MciHeroPanel`、`MciSection`、`MciCard`、`MciMetricCard` 和 `MciButton`。
|
|
127
127
|
|
|
128
128
|
<!-- /microi-progressive:chunk -->
|
|
129
|
-
<!-- microi-progressive:chunk id=microi-ui-008 sha256=
|
|
129
|
+
<!-- microi-progressive:chunk id=microi-ui-008 sha256=4f6b3174c3353ba42388b1c2cdbeea5262adfbbccbd1021667ae642c80bf7a60 -->
|
|
130
130
|
## 后台菜单配套
|
|
131
131
|
|
|
132
132
|
创建 Microi 低代码系统时,后台菜单不应全部是一层菜单。真实系统至少使用两级:
|
|
@@ -140,7 +140,7 @@
|
|
|
140
140
|
移动端信息架构在可行时应与这些业务域匹配。
|
|
141
141
|
|
|
142
142
|
<!-- /microi-progressive:chunk -->
|
|
143
|
-
<!-- microi-progressive:chunk id=microi-ui-009 sha256=
|
|
143
|
+
<!-- microi-progressive:chunk id=microi-ui-009 sha256=741009676a3161ce7aed258306b759ffb8eeca3ee681c55fd4fc5b4fcc823059 -->
|
|
144
144
|
## AI 实施清单
|
|
145
145
|
|
|
146
146
|
- Microi 前端、网站、H5、uni-app、小程序、客户门户、员工端、会员中心、仪表盘、报告、活动和视觉重设计任务要自动识别本 skill。
|
|
@@ -160,7 +160,7 @@
|
|
|
160
160
|
- 检查未登录/未授权提示卡片是否在 header 与 tabBar/底栏之间的可用内容区上下左右居中,不能贴在顶部。
|
|
161
161
|
|
|
162
162
|
<!-- /microi-progressive:chunk -->
|
|
163
|
-
<!-- microi-progressive:chunk id=microi-ui-010 sha256=
|
|
163
|
+
<!-- microi-progressive:chunk id=microi-ui-010 sha256=fe2debba61f4ebdab4d67df7df972c5c7456a2eea4e3b4fef6a04256165e999d -->
|
|
164
164
|
## 禁止输出
|
|
165
165
|
|
|
166
166
|
- Microi.UI 文件或文档内不得出现外部 UI 库身份或复制来的类名前缀。
|
|
@@ -20,13 +20,13 @@ UniApp/H5/小程序必须通过项目统一 `microi.v8.js` 的 `V8.uploadFile` /
|
|
|
20
20
|
登录页默认不得展示 ApiBase、OsClient 或调试配置;但用户明确要求、且安装包由 Microi 平台方作为多租户聚合客户端发布时,允许仅在 `APP-PLUS` 登录页提供通用连接器。协议必须使用固定 `https://` / `http://` 下拉框,地址框禁止重复输入协议,HTTPS 默认,HTTP 显示明文风险并二次确认;H5、小程序和客户专属包不得因此自动开放。候选地址先匿名读取 `GetSysConfig`,验证成功后再持久化。真正切换时必须清除旧 DiyToken、用户、SignalR、菜单/元数据/页面缓存,按 `ApiBase + OsClient` 隔离记住的账号及 RSA 密文,并用端点代次拒绝切换前的迟到响应。支持任意 HTTP 时,最终 IPA 必须显式包含 ATS 例外,Android 安装包必须显式包含 cleartext 例外;不需要任意 HTTP 的正式包应保持平台默认安全策略,iOS ATS 例外还必须在 App Store 审核中说明。
|
|
21
21
|
|
|
22
22
|
<!-- microi-progressive:begin -->
|
|
23
|
-
<!-- microi-progressive:chunk id=microi-uniapp-frontend-000 sha256=
|
|
23
|
+
<!-- microi-progressive:chunk id=microi-uniapp-frontend-000 sha256=ecb0fc85b5c3b15ac79c9049ca86de8c586d4ce3a6c975255464069d89f87ac4 -->
|
|
24
24
|
## 移动端质量门禁必须先读
|
|
25
25
|
|
|
26
26
|
创建、重构或修复任何 Microi 移动端项目前,必须同时应用 `microi.skills/microi-mobile-app-quality/SKILL.md`。该 Skill 中的底部导航真实图标、重要按钮图标化、登录 API 校验、微信手机号快捷登录、后台二级菜单和页面动效要求,属于交付验收条件,不是可选优化。
|
|
27
27
|
|
|
28
28
|
<!-- /microi-progressive:chunk -->
|
|
29
|
-
<!-- microi-progressive:chunk id=microi-uniapp-frontend-001 sha256=
|
|
29
|
+
<!-- microi-progressive:chunk id=microi-uniapp-frontend-001 sha256=b195b92de6175b7f184257a0ba3b53b94b8a6aaee7ab42fbb05fe1f5338ba097 -->
|
|
30
30
|
## 标准产品、视图协议与租户扩展
|
|
31
31
|
|
|
32
32
|
动态表单的组织/树字段优先复用原生 `mci-native-field` 树形下拉与 `native-tree-options.mjs`,无需为小程序把后台 `Department` 改为普通 Select。读取 `Config.<Component>.Multiple/EmitPath`:组织单选叶值保存 Id,多选叶值保存 Id 数组,路径模式保存完整路径/路径数组,数组统一 JSON 序列化。支持祖先展开、搜索、清空、禁用、重试和只读回显;数据源旧模板不能代替当前授权组织树。业务字段联动放租户扩展,不执行任意前端 V8;验收覆盖保存格式、旧数据回显、失败/迟到响应及最近公司祖先联动。
|
|
@@ -50,7 +50,7 @@ Microi 标准小程序必须采用“平台内核 + 版本化元数据 + Profile
|
|
|
50
50
|
仓库必须提供 AI 与人工协作约束文件、租户脚手架、Profile 构建/同步命令和架构检查。平台层改动至少同时构建标准 Profile 与默认交付 Profile;租户视觉改动还要执行多视口截图回归。这样其他同事使用 Codex、Claude、Copilot、Cursor 等工具继续开发时,会先读取相同规则,而不是依赖某次对话记忆。
|
|
51
51
|
|
|
52
52
|
<!-- /microi-progressive:chunk -->
|
|
53
|
-
<!-- microi-progressive:chunk id=microi-uniapp-frontend-002 sha256=
|
|
53
|
+
<!-- microi-progressive:chunk id=microi-uniapp-frontend-002 sha256=76ebf3985d21fbbc5d86093b95bdf348e526e3670da9bb6827b5e1a7184e617b -->
|
|
54
54
|
## H5 预览壳与底部导航强制规则
|
|
55
55
|
|
|
56
56
|
- 桌面浏览器允许使用 `Microi UniApp H5 Preview` 手机壳帮助用户理解移动端比例。
|
|
@@ -59,7 +59,7 @@ Microi 标准小程序必须采用“平台内核 + 版本化元数据 + Profile
|
|
|
59
59
|
- 自动化验收必须同时使用桌面视口与移动视口截图:桌面端断言手机壳存在,移动端断言 `.phone-status` 隐藏且 `.phone` 无圆角、无边框、宽高铺满;每个底部菜单的图标元素和文字都必须可见、可点击。
|
|
60
60
|
|
|
61
61
|
<!-- /microi-progressive:chunk -->
|
|
62
|
-
<!-- microi-progressive:chunk id=microi-uniapp-frontend-003 sha256=
|
|
62
|
+
<!-- microi-progressive:chunk id=microi-uniapp-frontend-003 sha256=5cedd05cb29746019a92db56a21123718fde23d5d9df4b8064dfc260bc89ee05 -->
|
|
63
63
|
## 登录页与手机号快捷登录
|
|
64
64
|
|
|
65
65
|
- 登录页必须是直接登录面,不要默认做“员工登录 / 客户登录”身份 Tab 切换,除非用户明确要求。默认展示系统账号密码登录,同时提供客户手机号快捷登录入口。
|
|
@@ -77,7 +77,7 @@ Microi 标准小程序必须采用“平台内核 + 版本化元数据 + Profile
|
|
|
77
77
|
- 微信小程序构建后必须扫描登录页源码以及 `dist/build/mp-weixin/pages/login/` 产物,并截图核对手机号快速验证前置页;命中上述混淆文案、官方图形或近似元素时必须阻止上传和提审,不能只检查按钮主文案而漏掉说明文字、错误弹窗或分享标题。
|
|
78
78
|
|
|
79
79
|
<!-- /microi-progressive:chunk -->
|
|
80
|
-
<!-- microi-progressive:chunk id=microi-uniapp-frontend-004 sha256=
|
|
80
|
+
<!-- microi-progressive:chunk id=microi-uniapp-frontend-004 sha256=cc25e3d896e6f7349a7a7e93b8025ee797bf9810e60214eb95e41d75aa083422 -->
|
|
81
81
|
## 微信小程序全页面分享
|
|
82
82
|
|
|
83
83
|
- 创建或维护 UniApp 微信小程序时,默认把好友转发与朋友圈分享视为页面基础能力;按 `pages.json` 全量路由逐页接入,不等待用户额外提出。
|
|
@@ -88,7 +88,7 @@ Microi 标准小程序必须采用“平台内核 + 版本化元数据 + Profile
|
|
|
88
88
|
- 验收不能只看首页右上角。用脚本比较 `pages.json` 路由数量与源码/微信构建产物中的两种分享生命周期数量,并在体验版抽测公开页、登录页和受保护详情页。
|
|
89
89
|
|
|
90
90
|
<!-- /microi-progressive:chunk -->
|
|
91
|
-
<!-- microi-progressive:chunk id=microi-uniapp-frontend-005 sha256=
|
|
91
|
+
<!-- microi-progressive:chunk id=microi-uniapp-frontend-005 sha256=d6f78d95dc0b0b042f0d0c525a9cb5295a0324f1c70d6f480c93f2e03d315cec -->
|
|
92
92
|
## 首屏 Hero 与浮动面板验收
|
|
93
93
|
|
|
94
94
|
- 移动端首屏 Hero 标题必须按真实中文文案调字号和行高,不能为了“震撼”把业务入口标题做得过大,导致一行半、孤字换行或压住按钮。
|
|
@@ -96,7 +96,7 @@ Microi 标准小程序必须采用“平台内核 + 版本化元数据 + Profile
|
|
|
96
96
|
- 交付前至少检查 375px 与 430px 宽度首屏截图,确认标题、主按钮、次按钮、浮动面板、第二块内容没有重叠、裁切或不美观换行。
|
|
97
97
|
|
|
98
98
|
<!-- /microi-progressive:chunk -->
|
|
99
|
-
<!-- microi-progressive:chunk id=microi-uniapp-frontend-006 sha256=
|
|
99
|
+
<!-- microi-progressive:chunk id=microi-uniapp-frontend-006 sha256=a39f7e4fb42c6d290463a9e40eed03235e4afe063d60208b5a3e73a170fbc39f -->
|
|
100
100
|
## 资源 URL 必须集中解析
|
|
101
101
|
|
|
102
102
|
数据库中的图片、附件、头像、Logo、卡面图、单据图片等字段常见保存形式:
|
|
@@ -120,7 +120,7 @@ Microi 标准小程序必须采用“平台内核 + 版本化元数据 + Profile
|
|
|
120
120
|
- 第三方占位图、已失效临时地址、空字符串统一清理为空,交给 UI 占位态。
|
|
121
121
|
|
|
122
122
|
<!-- /microi-progressive:chunk -->
|
|
123
|
-
<!-- microi-progressive:chunk id=microi-uniapp-frontend-007 sha256=
|
|
123
|
+
<!-- microi-progressive:chunk id=microi-uniapp-frontend-007 sha256=3894454672b6bde6f4a7b329103c9418804f4594b7e3505617590ebea5f136ab -->
|
|
124
124
|
## 移动端大资源优先使用租户 HDFS/CDN
|
|
125
125
|
|
|
126
126
|
定制 UniApp/H5/小程序中的大图、视频、音频、字体和大型第三方静态文件,默认不要塞进主包。应先确认目标 `OsClient`,通过该租户 MCP/HDFS 上传,再以 `sys_config.FileServer + Path` 的 CDN/公有桶地址引用;合同、证件等敏感资源仍必须使用私有桶和临时签名 URL。
|
|
@@ -136,7 +136,7 @@ Microi 标准小程序必须采用“平台内核 + 版本化元数据 + Profile
|
|
|
136
136
|
- 原始高清图、视频母版、设计源文件不得继续放在会被 UniApp 收集的 `src/static`、分包目录或其它构建入口中;应移到项目资料/设计源目录。主包仅保留小于门禁的轻量失败占位图和离线关键图标。
|
|
137
137
|
|
|
138
138
|
<!-- /microi-progressive:chunk -->
|
|
139
|
-
<!-- microi-progressive:chunk id=microi-uniapp-frontend-008 sha256=
|
|
139
|
+
<!-- microi-progressive:chunk id=microi-uniapp-frontend-008 sha256=d7b2b5c8ffe5c1dd8f51eb7d5e8368dba6813c2fa25d39dd3fb8f6659922b5b9 -->
|
|
140
140
|
## 头像必须异步统一解析
|
|
141
141
|
|
|
142
142
|
头像字段比普通图片更容易混合出现上传 JSON、私有路径、相对路径、历史字段名和脏数据。列表页、详情页、业务记录、审批记录、团队/会员卡片、聊天/消息等头像场景都必须走同一个头像解析入口。
|
|
@@ -157,7 +157,7 @@ row.OwnerAvatarUrl = await resolveAvatarUrl(rawAvatar);
|
|
|
157
157
|
禁止在模板中临时拼接文件服务器,禁止每个页面各写一套头像解析,禁止只在能查到关联用户时才解析接口已经返回的头像字段。
|
|
158
158
|
|
|
159
159
|
<!-- /microi-progressive:chunk -->
|
|
160
|
-
<!-- microi-progressive:chunk id=microi-uniapp-frontend-009 sha256=
|
|
160
|
+
<!-- microi-progressive:chunk id=microi-uniapp-frontend-009 sha256=0270fbc5a2ee0d20a4d1d2f2a9c7fc7304e18402d282e1efcf860bd31db9fcb0 -->
|
|
161
161
|
## 移动端富文本图文排版
|
|
162
162
|
|
|
163
163
|
商品详情、公告详情、活动说明、文章正文、协议说明等富文本在移动端渲染时,图片和文字不能使用同一套留白规则。
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> 按需读取;本文件由 SKILL.md 的原章节无损拆分。
|
|
4
4
|
|
|
5
|
-
<!-- microi-progressive:chunk id=microi-uniapp-frontend-010 sha256=
|
|
5
|
+
<!-- microi-progressive:chunk id=microi-uniapp-frontend-010 sha256=2820c6dbc7641b03cb2d3af98f80ca654162fdac7995993be5cb7e25b8e5bdea -->
|
|
6
6
|
## 移动端分类/双栏列表独立滚动
|
|
7
7
|
|
|
8
8
|
商品分类、知识库分类、通讯录分组、资产分类等“左侧分类 + 右侧列表”的移动端页面,根节点必须固定在一个视口内,不能让整页和内部列表同时滚动。
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
```
|
|
35
35
|
|
|
36
36
|
<!-- /microi-progressive:chunk -->
|
|
37
|
-
<!-- microi-progressive:chunk id=microi-uniapp-frontend-011 sha256=
|
|
37
|
+
<!-- microi-progressive:chunk id=microi-uniapp-frontend-011 sha256=a28fba298274b738ef9039c6bd6a1707468687e2ae9644a819736374586749e9 -->
|
|
38
38
|
## 数据页必须使用骨架屏 Loading
|
|
39
39
|
|
|
40
40
|
任何依赖接口/数据库返回数据的移动端页面,都必须区分 `loading`、`data`、`empty`,并且首屏加载态必须使用骨架屏(Skeleton Screen)。接口请求结束前不能提前显示“暂无数据/暂无明细/空空如也”,也不能只用“图标 + 数据加载中...”或单独 spinner 作为页面级 loading。
|
|
@@ -72,7 +72,7 @@ async function load() {
|
|
|
72
72
|
```
|
|
73
73
|
|
|
74
74
|
<!-- /microi-progressive:chunk -->
|
|
75
|
-
<!-- microi-progressive:chunk id=microi-uniapp-frontend-012 sha256=
|
|
75
|
+
<!-- microi-progressive:chunk id=microi-uniapp-frontend-012 sha256=5554c817702cc491937fb2b32f5ba2ce76554a35ef0a2189979ff1d60789ab30 -->
|
|
76
76
|
## 移动端安全区必须兼容 iOS 与 Android
|
|
77
77
|
|
|
78
78
|
任何 UniApp/H5 移动端页面都必须同时适配 iPhone 刘海屏/Dynamic Island/Home Indicator、Android 状态栏/虚拟导航栏/手势条、微信/浏览器/WebView 容器差异。不要用固定 `20px/44px/64px` 直接硬编码顶部或底部间距。
|
|
@@ -92,7 +92,7 @@ async function load() {
|
|
|
92
92
|
- 独占屏幕且需要支持手机侧滑返回的功能应使用独立页面路由。`onBackPress`/页面返回先消费当前页内部的键盘、对话框和抽屉状态;内部状态清空后才弹出当前页,不能让一次返回直接退出小程序或越过底层业务页。
|
|
93
93
|
|
|
94
94
|
<!-- /microi-progressive:chunk -->
|
|
95
|
-
<!-- microi-progressive:chunk id=microi-uniapp-frontend-013 sha256=
|
|
95
|
+
<!-- microi-progressive:chunk id=microi-uniapp-frontend-013 sha256=591a8e5a3e33cfcdb102abf56ebc6eeb5c5896d621442c30e734f455d625842c -->
|
|
96
96
|
## 微信自定义组件的点击与拖动事件必须真机链路验收
|
|
97
97
|
|
|
98
98
|
- UniApp 可拖动浮动入口等自定义组件,不要给 `touchstart/touchmove/touchend/tap` 整组无差别添加 `.stop/.prevent`。这些修饰符会生成微信 `catchtouch* / catchtap`,部分 UniApp 自定义组件中可能吞掉事件桥,出现节点可见但点击和触摸方法完全不执行。
|
|
@@ -121,7 +121,7 @@ async function load() {
|
|
|
121
121
|
```
|
|
122
122
|
|
|
123
123
|
<!-- /microi-progressive:chunk -->
|
|
124
|
-
<!-- microi-progressive:chunk id=microi-uniapp-frontend-014 sha256=
|
|
124
|
+
<!-- microi-progressive:chunk id=microi-uniapp-frontend-014 sha256=62f20b920f2365d9f2f5062218b10b17aa181ccb3ae5d2260f795e086355f678 -->
|
|
125
125
|
## 列表型资料页必须提供完整管理动作
|
|
126
126
|
|
|
127
127
|
地址、联系人、收款方式、发票抬头、车辆、设备、证照、银行卡等用户维护型资料页,不能只展示简略列表。除非业务明确只读,移动端必须提供:
|
|
@@ -135,7 +135,7 @@ async function load() {
|
|
|
135
135
|
- 空态行动:没有数据时给出新增入口,但仍要遵守上面的加载态规则。
|
|
136
136
|
|
|
137
137
|
<!-- /microi-progressive:chunk -->
|
|
138
|
-
<!-- microi-progressive:chunk id=microi-uniapp-frontend-015 sha256=
|
|
138
|
+
<!-- microi-progressive:chunk id=microi-uniapp-frontend-015 sha256=d8e9280b5127d7dafd4dcb83b22bdb379fef39eac1e2e1b2e37f1c064cfe7fc6 -->
|
|
139
139
|
## 移动端资产/奖励流水展示
|
|
140
140
|
|
|
141
141
|
收益明细、积分明细、奖励明细、充值记录、订单流水等页面要面向用户展示“发生了什么”和“是否到账”,不要直接暴露后台调试字段。
|
|
@@ -147,7 +147,7 @@ async function load() {
|
|
|
147
147
|
- 后端接口应先把 `TypeLabel`、`SettleStatusLabel`、`DisplayTime`、`ContributorName`、`CardNo` 等字段整理好,前端只做轻展示,避免多个页面各自拼接导致重复或口径不一致。
|
|
148
148
|
|
|
149
149
|
<!-- /microi-progressive:chunk -->
|
|
150
|
-
<!-- microi-progressive:chunk id=microi-uniapp-frontend-016 sha256=
|
|
150
|
+
<!-- microi-progressive:chunk id=microi-uniapp-frontend-016 sha256=610b00696fd8a1548842974b5551e0e55bc276a3605459947251f508b4ef2ad3 -->
|
|
151
151
|
## H5 在 PC 浏览器必须自动模拟移动端
|
|
152
152
|
|
|
153
153
|
移动端 UniApp H5 被 PC 浏览器访问时,不能按桌面宽屏铺满。必须在全局样式里用媒体查询生成手机预览壳。
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> 按需读取;本文件由 SKILL.md 的原章节无损拆分。
|
|
4
4
|
|
|
5
|
-
<!-- microi-progressive:chunk id=microi-uniapp-frontend-017 sha256=
|
|
5
|
+
<!-- microi-progressive:chunk id=microi-uniapp-frontend-017 sha256=f4c3bd827f3349b65dd40c894a51299d32ba7d75ba58a3a81d04aaba6b1733f2 -->
|
|
6
6
|
## 关键业务资产不得默认选中
|
|
7
7
|
|
|
8
8
|
凡是会扣减、消耗、转移、提交审批或触发财务后果的业务资产,都不能默认选中第一条。例如资产卡、余额账户、积分账户、优惠券、库存批次、付款账户、审批对象、设备工单等。
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
- 规则同时写在 UI 状态和提交前校验中。
|
|
16
16
|
|
|
17
17
|
<!-- /microi-progressive:chunk -->
|
|
18
|
-
<!-- microi-progressive:chunk id=microi-uniapp-frontend-018 sha256=
|
|
18
|
+
<!-- microi-progressive:chunk id=microi-uniapp-frontend-018 sha256=35f9826cc82000f9cedd3ccaffd8e7718b0efbec75cf12665145f1de4f8a6d23 -->
|
|
19
19
|
## 账号角色与会话状态
|
|
20
20
|
|
|
21
21
|
- Microi 企业移动端默认要从 `sys_user.RoleIds`、`_Roles`、`Roles`、`RoleName`、`Level` 解析内部账号角色,不要只用“是否登录”控制界面。
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
- 收到 `Code=1001/1002` 时用可完整阅读的模态框展示后端 `Msg`,包括过期分钟/小时/天或租户不匹配信息,确认后再跳登录;不能先覆盖成固定 Toast。
|
|
32
32
|
|
|
33
33
|
<!-- /microi-progressive:chunk -->
|
|
34
|
-
<!-- microi-progressive:chunk id=microi-uniapp-frontend-019 sha256=
|
|
34
|
+
<!-- microi-progressive:chunk id=microi-uniapp-frontend-019 sha256=72621b385229c3308cbe98dbfa0fb29de95e88d675dad31d9fbe4543b441fdbb -->
|
|
35
35
|
## 数字、主题、上传与消息
|
|
36
36
|
|
|
37
37
|
- 资产金额、积分、余额、库存值、累计充值、收益等数字要按空间自适应格式化。金额很大时显示为 `1.23万`、`123万`、`1.2亿` 等,不能撑破卡片。
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
- 私有图片、身份证照片、支付凭证等禁止匿名访问的文件,前端必须先换取临时 URL;不能直接把私有路径给 `<image>`。
|
|
47
47
|
|
|
48
48
|
<!-- /microi-progressive:chunk -->
|
|
49
|
-
<!-- microi-progressive:chunk id=microi-uniapp-frontend-020 sha256=
|
|
49
|
+
<!-- microi-progressive:chunk id=microi-uniapp-frontend-020 sha256=6f5c05a725b3325feb889fbb4c97621e247ca9d6eb89970bf9f8602a81177524 -->
|
|
50
50
|
## 图片上传必须支持替换与预览
|
|
51
51
|
|
|
52
52
|
头像、支付凭证、实名认证、收款码、证照、商品图、富文本图片等移动端图片上传场景,选择图片后不能把入口锁死。所有上传入口必须统一做到:
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
- 自动化或手工验收至少覆盖支付凭证、头像/实名认证/收款码中一个私有图场景,确认可替换、可预览、不会丢表单字段。
|
|
61
61
|
|
|
62
62
|
<!-- /microi-progressive:chunk -->
|
|
63
|
-
<!-- microi-progressive:chunk id=microi-uniapp-frontend-021 sha256=
|
|
63
|
+
<!-- microi-progressive:chunk id=microi-uniapp-frontend-021 sha256=ad8b543f8e0cd7a20464adb88d456bc21e0451e3f216b1419fa572631543cd49 -->
|
|
64
64
|
## 组件复用与页面去重
|
|
65
65
|
|
|
66
66
|
同一类 UniApp/H5 UI 在两个及以上页面出现时,必须抽成 `Mci*` 或项目级 `mci-*` 组件,不要复制模板和 scoped 样式到多个业务页面。常见必须复用的结构包括:未登录/授权提示、空态、错误态、骨架屏、列表卡片、商品卡、消息卡、筛选栏、Tab、底部操作栏、按钮组、头像/角标。
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
- 对复用组件补充自动化检查:静态检查至少确认业务页使用同一个组件;视觉检查至少覆盖两个不同业务页实例。
|
|
74
74
|
|
|
75
75
|
<!-- /microi-progressive:chunk -->
|
|
76
|
-
<!-- microi-progressive:chunk id=microi-uniapp-frontend-022 sha256=
|
|
76
|
+
<!-- microi-progressive:chunk id=microi-uniapp-frontend-022 sha256=79b92cb4a1e0b37d786b148a98848fbae3f4424b4d07febc96adbf62ef389431 -->
|
|
77
77
|
## 验收要求
|
|
78
78
|
|
|
79
79
|
每次改动 UniApp/H5 前端后,至少做以下验证:
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
- 未登录/未授权态必须额外截图确认:提示卡片位于 header 与 tabBar/底栏之间的可用区域中心,不能只横向居中但纵向贴顶。
|
|
91
91
|
|
|
92
92
|
<!-- /microi-progressive:chunk -->
|
|
93
|
-
<!-- microi-progressive:chunk id=microi-uniapp-frontend-023 sha256=
|
|
93
|
+
<!-- microi-progressive:chunk id=microi-uniapp-frontend-023 sha256=bdd657712c4a6a12698c619d22c58b43648c3a3ab32ded54f09c3dc7331ad8ab -->
|
|
94
94
|
## Microi 前端 SDK 必须接入
|
|
95
95
|
|
|
96
96
|
任何 Microi UniApp/H5 Vue3 项目都必须优先使用 `microi.skills/microi.v8.js` 作为统一前端 SDK,并参考 `microi.skills/microi-frontend-sdk/SKILL.md`。新项目不得再手写分散的 `uni.request`、Token 存储、上传、私有文件 URL、头像解析、`ApiEngine` 或 `FormEngine` 包装。
|
|
@@ -103,7 +103,7 @@
|
|
|
103
103
|
- SDK 不绑定任何 UI 库;页面 UI 仍遵守本 Skill 的骨架屏、安全区、移动端富文本和资源展示规范。
|
|
104
104
|
|
|
105
105
|
<!-- /microi-progressive:chunk -->
|
|
106
|
-
<!-- microi-progressive:chunk id=microi-uniapp-frontend-024 sha256=
|
|
106
|
+
<!-- microi-progressive:chunk id=microi-uniapp-frontend-024 sha256=b2b9b1ea707ab4bd114db5838eda185b7b7e375435cdca21effd7be24f996a27 -->
|
|
107
107
|
## MCI-UI Mobile 必须优先使用
|
|
108
108
|
|
|
109
109
|
新的 Microi UniApp/H5 Vue3 项目必须默认基于 `Microi.UI/src/uniapp` 建立页面基础组件,至少包括页面壳、导航栏、按钮、卡片、分段标签、指标卡、底部安全区操作栏、头像、商品卡、骨架屏、数据状态、富文本。用户未主动指定 UI 风格时,AI 必须自动采用 Microi吾码UI。项目可以使用 `uni-ui`、`uView`、`FirstUI` 等第三方组件,但应封装在 MCI-UI 或项目级 `mci-*` 组件后面,不要让业务页面直接散落多套视觉风格。
|
|
@@ -117,7 +117,7 @@
|
|
|
117
117
|
5. 商品详情、公告、协议等富文本使用 `MciRichText` 或遵循同等结构。
|
|
118
118
|
|
|
119
119
|
<!-- /microi-progressive:chunk -->
|
|
120
|
-
<!-- microi-progressive:chunk id=microi-uniapp-frontend-025 sha256=
|
|
120
|
+
<!-- microi-progressive:chunk id=microi-uniapp-frontend-025 sha256=c472359f2f16b287398c0781cb66cbfb98fea99accddbfa078e9f1e9356aa30d -->
|
|
121
121
|
## 登录、图标与主题补充规范
|
|
122
122
|
|
|
123
123
|
- 登录页不要同时铺开两套完整登录系统。H5/App 默认只做一个“账号/手机号 + 密码”表单;微信小程序默认展示 `<button open-type="getPhoneNumber">` 手机号授权登录,账号密码只能作为次级折叠/备用入口。
|
|
@@ -136,7 +136,7 @@
|
|
|
136
136
|
- 列表进入详情必须保持身份路径:员工列表点报告详情走员工 token/FormEngine 权限,客户列表点报告详情走 CustomerToken,分享链接走 ShareToken;禁止员工点击可见报告后因为传空 CustomerToken 被跳回登录。
|
|
137
137
|
|
|
138
138
|
<!-- /microi-progressive:chunk -->
|
|
139
|
-
<!-- microi-progressive:chunk id=microi-uniapp-frontend-026 sha256=
|
|
139
|
+
<!-- microi-progressive:chunk id=microi-uniapp-frontend-026 sha256=67c8816c77d24e6aef77f1706a72330c7a103b58c623178c056a71203e2b43d3 -->
|
|
140
140
|
## UniApp 上传路径与 Header 规则
|
|
141
141
|
|
|
142
142
|
任何移动端图片、头像、身份认证、付款凭证、富文本图片、收款码上传,都必须走项目统一的 `uploadFile` 包装,并最终委托 `microi.v8.js` 的 `V8.uploadFile`。页面里不得直接调用 `/api/HDFS/UniappUpload`,不得临时手写 `uni.uploadFile`。
|
|
@@ -120,6 +120,13 @@ HTTP 成功或菜单字段非空不足以证明统计有效。
|
|
|
120
120
|
| `Report` | 虚拟报表 |
|
|
121
121
|
| `MicroService` | 已发布前端微服务页面 |
|
|
122
122
|
| `CodeForm` | 表单设计器生成并在已发布微服务中运行的独立 Vue 3 页面;必须绑定 `DiyTableId` |
|
|
123
|
+
| `WorkFlow` | 审批工作流模块;必须绑定 `DiyTableId` 和已启用流程的 `FlowDesignId` |
|
|
124
|
+
|
|
125
|
+
`WorkFlow` 模块的 `DiyTableId` 必须等于 `wf_flowdesign.TableId`。完整 Manifest
|
|
126
|
+
可填写 `flowName` 引用同一份 `workflows` 定义,生成器保存流程后回填
|
|
127
|
+
`sys_menu.FlowDesignId`;引用已存在流程时填真实 `flowDesignId`。
|
|
128
|
+
使用 `microi_get_module` 回读 `OpenType/FlowDesignId/DiyTableId`,再从模块
|
|
129
|
+
实际发起并检查审批待办。流程节点人员、坐标和拓扑详见 `v8-workflow`。
|
|
123
130
|
|
|
124
131
|
`CodeForm` 复用 MicroService 宿主与菜单权限上下文。先在表单设计器生成源码,保存至 `microi-generated-forms`,构建并发布微服务;再配置 `MicroServiceKey + MicroServiceRoutePath`(以及当前租户真实的 `MicroServiceId + MicroServicePageId`),保留原表的 `DiyTableId`。Manifest 生成器可解析可移植的 Key/RoutePath;`microi_create_module` 必须传实际 Id。不能把只保存私有源码当作已发布运行产物。
|
|
125
132
|
|
|
@@ -235,3 +242,9 @@ PageTabs 通过 `TargetSysMenuId` 切换不同模块/表时,入口模块必须
|
|
|
235
242
|
语义色可区分,并在浅色/深色主题下保持可读。
|
|
236
243
|
- PC 复合列和 Mobile Card 引用的附加字段均在查询结果中;长文本、空值、模板值不破版。
|
|
237
244
|
- PC 和移动端分别验证;MicroService 还要验证运行时、页面路由和宿主上下文。
|
|
245
|
+
### 多级表头与顶部 Banner
|
|
246
|
+
|
|
247
|
+
- 数据源【多级表头】使用现有 `sys_menu.TableHeaders`,填写 `[{"Label":"人数(人)","Fields":["Total","Male","Female"]}]`;`Fields` 必须引用可见、连续的查询列字段名。嵌套分组可使用 `Children`。缺省、非法 JSON、重复或不连续字段时客户端回退普通表头。
|
|
248
|
+
- Manifest `modules[].tableHeaders` 接受同一数组,MCP 写入 `sys_menu.TableHeaders`;更新已有菜单可通过 `microi_update_module` 传同名字段并回读,不能把合并表头放入已废弃的 `DiyConfig`。
|
|
249
|
+
- 模块的 `HideTableBanner`、`HideFormBanner` 分别关闭表格与表单顶部 Banner。未配置或 `0` 均显示;设为 `1` 后对应专属统计接口不执行,按钮角标接口不受影响。Manifest 使用 `hideTableBanner`、`hideFormBanner`。
|
|
250
|
+
- 上述配置由模块引擎官方应用交付,验收应分别核对物理列、字段可见性、商城包哈希,以及普通表头、合并表头和两种 Banner 开关的真实页面与请求。
|
|
@@ -19,10 +19,20 @@ MCP 的生成/保存入口包含 `microi_build_page_design` 与 `microi_save_pag
|
|
|
19
19
|
|
|
20
20
|
用户提供参考截图时,先拆出面板行列比例、指标主次、图表与表格高度、标题/筛选位置,再用原生 pannel/statistic/chart/tabel/list 组合配置。不能把所有指标替换成一排大色块,也不能用模板假数据声称已接通客户业务。必须用同一视口截图检查浅色和平台深色,检查页面缩放后的断行与纵向空白;布局接近度和真实数据绑定分别验收。
|
|
21
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
|
+
|
|
22
32
|
你正在为 Microi 吾码平台生成界面引擎页面的 JSON 数据。界面引擎页面由 `formData` 对象描述,用户导入 JSON 即可使用。
|
|
23
33
|
|
|
24
34
|
<!-- microi-progressive:begin -->
|
|
25
|
-
<!-- microi-progressive:chunk id=page-engine-000 sha256=
|
|
35
|
+
<!-- microi-progressive:chunk id=page-engine-000 sha256=5b79a31a8484bf0a618c2810e66c0ab542fd86ceeb76e7a5cd07a86284c4f6ac -->
|
|
26
36
|
## 设计器源码事件
|
|
27
37
|
|
|
28
38
|
只有在扩展界面引擎设计器源码时才使用全局事件总线。用
|
|
@@ -31,7 +41,7 @@ MCP 的生成/保存入口包含 `microi_build_page_design` 与 `microi_save_pag
|
|
|
31
41
|
触发多次;普通页面 JSON 生成不需要注册事件总线。
|
|
32
42
|
|
|
33
43
|
<!-- /microi-progressive:chunk -->
|
|
34
|
-
<!-- microi-progressive:chunk id=page-engine-001 sha256=
|
|
44
|
+
<!-- microi-progressive:chunk id=page-engine-001 sha256=53cf1992d4adcf8126f4d0a04d373d685d539b38c5d74840ba07905e9cbe4589 -->
|
|
35
45
|
## 核心数据结构
|
|
36
46
|
|
|
37
47
|
```
|
|
@@ -50,7 +60,7 @@ formData(页面)
|
|
|
50
60
|
```
|
|
51
61
|
|
|
52
62
|
<!-- /microi-progressive:chunk -->
|
|
53
|
-
<!-- microi-progressive:chunk id=page-engine-002 sha256=
|
|
63
|
+
<!-- microi-progressive:chunk id=page-engine-002 sha256=227ecf87086231eee28a9d91fde6a178a437e9196dd8f2ef1d14d53e5c5858df -->
|
|
54
64
|
## formConfig 页面全局配置
|
|
55
65
|
|
|
56
66
|
```json
|
|
@@ -68,7 +78,7 @@ formData(页面)
|
|
|
68
78
|
```
|
|
69
79
|
|
|
70
80
|
<!-- /microi-progressive:chunk -->
|
|
71
|
-
<!-- microi-progressive:chunk id=page-engine-003 sha256=
|
|
81
|
+
<!-- microi-progressive:chunk id=page-engine-003 sha256=7bb7cb860f9330002f60748e93de3c639b157cddfd77b63ac8b19f0535306e65 -->
|
|
72
82
|
## 容器类型
|
|
73
83
|
|
|
74
84
|
| type | label | 说明 |
|
|
@@ -123,7 +133,7 @@ formData(页面)
|
|
|
123
133
|
```
|
|
124
134
|
|
|
125
135
|
<!-- /microi-progressive:chunk -->
|
|
126
|
-
<!-- microi-progressive:chunk id=page-engine-004 sha256=
|
|
136
|
+
<!-- microi-progressive:chunk id=page-engine-004 sha256=66261254d94455648441bf3519a5c810ede60c64f341dce035f931e284f762ba -->
|
|
127
137
|
## 组件通用结构
|
|
128
138
|
|
|
129
139
|
```json
|
|
@@ -144,7 +154,7 @@ formData(页面)
|
|
|
144
154
|
```
|
|
145
155
|
|
|
146
156
|
<!-- /microi-progressive:chunk -->
|
|
147
|
-
<!-- microi-progressive:chunk id=page-engine-005 sha256=
|
|
157
|
+
<!-- microi-progressive:chunk id=page-engine-005 sha256=e9667b97462c9089a72d2a407cfde00e873afe7d64593bf33ad49a523255b38d -->
|
|
148
158
|
## widgetParams 参数类型
|
|
149
159
|
|
|
150
160
|
| type | 说明 | value 类型 |
|
|
@@ -159,7 +169,7 @@ formData(页面)
|
|
|
159
169
|
| `radio` | 单选组 | `string` |
|
|
160
170
|
|
|
161
171
|
<!-- /microi-progressive:chunk -->
|
|
162
|
-
<!-- microi-progressive:chunk id=page-engine-006 sha256=
|
|
172
|
+
<!-- microi-progressive:chunk id=page-engine-006 sha256=7347b2b4290db41ae8c3ef128acc9854a5e17290268b8e274e771de47b8f752a -->
|
|
163
173
|
## 数据来源(widgetParams[0])
|
|
164
174
|
|
|
165
175
|
大多数组件的第一个参数(sort=0)是"数据来源":
|
|
@@ -172,10 +182,11 @@ $ApiBase$/apiengine/{ApiEngineKey}
|
|
|
172
182
|
```
|
|
173
183
|
|
|
174
184
|
<!-- /microi-progressive:chunk -->
|
|
175
|
-
<!-- microi-progressive:chunk id=page-engine-007 sha256=
|
|
185
|
+
<!-- microi-progressive:chunk id=page-engine-007 sha256=5f2ed06aa1e0abbc5f968f026602d92f22f01836d76fdf502fd91ca0f945509b -->
|
|
176
186
|
## 运行态布局与滚动规范
|
|
177
187
|
|
|
178
188
|
- 页面只保留一个主滚动容器:仪表盘、首页和嵌套界面优先继承最外层页面滚动;单个 `pannel`、`workcenter`、`diytable`、`diycalendar`、嵌套 `pageengine` 在运行态默认使用内容自适应高度和 `overflow: visible`,不得无条件设置 `overflow: auto`。
|
|
189
|
+
- 经典桌面主滚动容器为路由内容区,导航与 Tab 留在视口内;移动端继续保留外层文档滚动。图表在异步挂载后绑定尺寸观察器,切换导航、收缩侧栏及改变窗口宽度都应重新测量,禁止仅隐藏溢出而保留错误画布宽度。真实回归覆盖两种导航、两种桌面宽度,以及日程创建后刷新、备注编辑和删除。
|
|
179
190
|
- 固定高度只用于设计器拖拽预览、图表画布或确有虚拟滚动需求的组件。设计态可按 `widgetOption.height` 提供滚动,运行态必须先验证内容能完整展开;不能用双滚动条掩盖容器高度不足。
|
|
180
191
|
- 表格型容器通常按 15 条数据验收,表头、工具栏、全部数据行和分页区应同时可见;首页紧凑表格可通过 `diy-table` 的 `PageSizeList` 追加 `[10]`,并在 `sys_menu.DefaultPageSize` 为空时默认选择候选页码中的最小值。空间不足时先压缩统计卡、工具栏、行高和间距,再考虑增加外层页面长度,不隐藏分页、不在卡片内部滚动。
|
|
181
192
|
- 同一行的容器使用一致的左右边距、内边距、标题高度和顶部基线;同层卡片间距必须相同,左右边缘、标题、工具栏和内容区应形成稳定对齐线。推荐使用统一的 8px 基础间距和 8/12/16px 倍数。
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> 按需读取;本文件由 SKILL.md 的原章节无损拆分。
|
|
4
4
|
|
|
5
|
-
<!-- microi-progressive:chunk id=page-engine-008 sha256=
|
|
5
|
+
<!-- microi-progressive:chunk id=page-engine-008 sha256=d3bd322f076bb16a6575e9d9a5b487a9b4fcf98189b163b6608937f4f7615beb -->
|
|
6
6
|
## 所有组件类型
|
|
7
7
|
|
|
8
8
|
### statistic — 统计面板
|
|
@@ -124,7 +124,7 @@
|
|
|
124
124
|
首页编排可以组合 `aiengine`、`workcenter`、`diycalendar`、`diytable` 和一个占大区域的 `pageengine`。公告应优先通过绑定 `diy_notice` 的 `diytable` 渲染,使增删改权限继续由 `sys_menu + _RoleLimits` 控制;统计子页面由客户独立替换时,只需修改被嵌入的 `mic_page`,无需重做首页布局。
|
|
125
125
|
|
|
126
126
|
<!-- /microi-progressive:chunk -->
|
|
127
|
-
<!-- microi-progressive:chunk id=page-engine-009 sha256=
|
|
127
|
+
<!-- microi-progressive:chunk id=page-engine-009 sha256=81364ae7567d4eeb5a2543d8e3f89ef752e34dfa829a6a53625486cd6458ffdb -->
|
|
128
128
|
## Office/PDF 在线预览自然语言生成规则
|
|
129
129
|
|
|
130
130
|
当用户用自然语言要求“界面引擎预览 PDF/Word/Excel/PPT”“接口引擎返回 PDF 文件”“打开时跳到第 N 页”“按角色显示不同页码”“每 5 秒/10 秒轮询,但只有文件变化才刷新”时,优先生成 `office` 组件,而不是 `iframe/html/browser` 拼接。
|
|
@@ -196,7 +196,7 @@ return { Code: 1, Data: { NotModified: true, FileKey: currentFileKey } };
|
|
|
196
196
|
生成示例接口时必须写清楚中文注释:每个参数的含义、Redis/缓存 Key 的作用、什么情况下返回 `NeedRefresh:false`、什么情况下返回新的 `FileByteBase64/FileUrl` 和 `PageNumber`。
|
|
197
197
|
|
|
198
198
|
<!-- /microi-progressive:chunk -->
|
|
199
|
-
<!-- microi-progressive:chunk id=page-engine-010 sha256=
|
|
199
|
+
<!-- microi-progressive:chunk id=page-engine-010 sha256=98256e1f8068f29e3e7cb2096fb8290966a58d47390371bec965001a9e706ddd -->
|
|
200
200
|
## searchData 查询条件通用结构
|
|
201
201
|
|
|
202
202
|
```json
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> 按需读取;本文件由 SKILL.md 的原章节无损拆分。
|
|
4
4
|
|
|
5
|
-
<!-- microi-progressive:chunk id=page-engine-011 sha256=
|
|
5
|
+
<!-- microi-progressive:chunk id=page-engine-011 sha256=44c991a664b2379ed0d88b8f307e8cfbff27e4c349270cd9872f856f0d0b570b -->
|
|
6
6
|
## 版本历史、并发保存与回滚
|
|
7
7
|
|
|
8
8
|
修改现有页面时必须先读取页面详情中的 `CurrentHash`,保存时把它作为 `expectedHash` 传入,并填写简短 `changeSummary`。不要仅凭本地旧 JSON 覆盖远端页面。
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
- 页面历史属于当前租户数据库;不要假定业务表有物理 `OsClient` 列。
|
|
23
23
|
|
|
24
24
|
<!-- /microi-progressive:chunk -->
|
|
25
|
-
<!-- microi-progressive:chunk id=page-engine-012 sha256=
|
|
25
|
+
<!-- microi-progressive:chunk id=page-engine-012 sha256=61a83f536eede477a85d7d49cadf516e705d7d67510c189f9fb6ab0e72ba63db -->
|
|
26
26
|
## 本地撤销、Vue 源码桥与资产包
|
|
27
27
|
|
|
28
28
|
- 设计器本地历史最多 50 步、总计最多 20MB;连续编辑允许合并,但保存前必须刷新当前 `CurrentHash`。
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
- 复杂页面需要完整工程能力时提升为前端微服务;不要承诺任意 Vue 源码无损反编译回界面引擎。
|
|
37
37
|
|
|
38
38
|
<!-- /microi-progressive:chunk -->
|
|
39
|
-
<!-- microi-progressive:chunk id=page-engine-013 sha256=
|
|
39
|
+
<!-- microi-progressive:chunk id=page-engine-013 sha256=b7b520f7d38872b7c5f3972548eb87586798bbc6dba11c6035a6d512c85be22f -->
|
|
40
40
|
## 生成 JSON 注意事项
|
|
41
41
|
|
|
42
42
|
1. **编号唯一**:`wrapperOption.number` 和 `widgetOption.number` 页面内唯一(随机5位整数)
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
7. **formConfig 完整**:所有字段都应包含,不能省略
|
|
49
49
|
8. **选项卡容器**:组件放在 `tabWidgetMap[tabKey][]` 中,不放在 `widgetList` 中
|
|
50
50
|
<!-- /microi-progressive:chunk -->
|
|
51
|
-
<!-- microi-progressive:chunk id=page-engine-014 sha256=
|
|
51
|
+
<!-- microi-progressive:chunk id=page-engine-014 sha256=18fecb3e402daeb1f95e8f501c4456455a4c1a3b9de83208d03676f5cbf1cf84 -->
|
|
52
52
|
## 经营看板周期筛选与布局规则
|
|
53
53
|
|
|
54
54
|
- 老板驾驶舱、经营看板、CRM/订单/售后统计页面,所有统计类组件默认都要提供统一周期筛选:本日、本周、本月、本季、本年、去年,以及“更多”里的自定义时间范围和业务条件。
|