@microi.net/cli 4.8.9 → 4.9.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 +4 -4
- package/package.json +1 -1
- package/scripts/mcp-server.js +101 -95
- package/scripts/microi-cli.js +48 -48
- package/scripts/microi-skills.meta.json +123 -123
- package/skills/.microi-skills-version.json +2 -2
- package/skills/microi-client-frontend/SKILL.md +3 -1
- package/skills/microi-docs-coverage/SKILL.md +13 -7
- package/skills/microi-form-engine/SKILL.md +5 -2
- package/skills/microi-microservice/SKILL.md +9 -5
- package/skills/microi-microservice/references/runtime-delivery.md +30 -4
- package/skills/microi-system-delivery/SKILL.md +11 -3
- package/skills/module-engine/SKILL.md +30 -0
- package/skills/module-engine/references/module-config.md +13 -0
- package/skills/ui-design/SKILL.md +3 -1
- package/skills/v8-menu-buttons/SKILL.md +11 -0
|
@@ -48,6 +48,33 @@ description: Microi 模块引擎与 sys_menu 配置指南。用于创建或修
|
|
|
48
48
|
普通状态、开关等低基数字段不能机械创建单列索引。只有真实查询、关联、唯一约束
|
|
49
49
|
或扫描需要的索引才进入 Manifest 并通过 MCP 创建、回读。
|
|
50
50
|
|
|
51
|
+
## AI 模块视觉交付门禁(强制)
|
|
52
|
+
|
|
53
|
+
对每个 `Display=1` 或 `AppDisplay=1` 且绑定业务表的 Diy 模块,AI 不能只依赖 CRUD
|
|
54
|
+
默认页,也不能只写 `Name/DiyTableId` 后结束。至少完成以下设计和回读:
|
|
55
|
+
|
|
56
|
+
1. 每个列表字段都给出符合内容长度的 `TableWidth`;标题/名称/地址较宽,日期/编码居中,
|
|
57
|
+
金额/数量/状态较紧凑。PC 复合列必须另给合理的 `MinWidth`,不得让末列自适应覆盖它。
|
|
58
|
+
2. 每个模块都配置紧凑 Hero 的业务标题、简短副标题和 2~4 个动态指标。优先统计待处理、
|
|
59
|
+
逾期、金额、容量、风险、完成率等当前表真正有意义的业务数据,不能全部退化为总记录数。
|
|
60
|
+
3. 指标只能来自 `StatisticsFields`、当前列表 `DataCount/PageCount` 或一个批量聚合接口。
|
|
61
|
+
禁止随机数、伪统计、静态演示数字和没有口径的“看起来好看”数值。无法推断时允许用
|
|
62
|
+
`DataCount + PageCount` 做诚实最低兜底,并在后续由业务人员补充口径。
|
|
63
|
+
4. 左侧菜单角标只给少量有行动含义的重要菜单,例如待办、未读、逾期、低库存;禁止每个
|
|
64
|
+
菜单都加。`PageTabs` 的状态数量、`MoreBtns/PageBtns/FormBtns/BatchSelectMoreBtns/
|
|
65
|
+
ExportMoreBtns` 的有用数量也应设计角标,但同页统计必须批量返回,禁止 N+1。
|
|
66
|
+
5. PC 至少设计一个 `Field + Lines + TrailingFields` 复合主列。已放入次要行或右侧图标/
|
|
67
|
+
状态的字段必须从普通独立列去重;主字段、次要行、右侧字段及其 `RequiredFields` 都要
|
|
68
|
+
进入查询结果,宽度必须足以容纳多行和尾随标签。
|
|
69
|
+
6. 移动端卡片按真实字段规划图片/头像、标题、副标题、顶部标签、状态、右侧金额、正文、
|
|
70
|
+
Meta、底部区域;同一字段不得在多个区域机械重复,空区域应隐藏而不是留下占位。
|
|
71
|
+
7. `EnableViewSchema` 只控制 Detail/Edit 自定义表单。Hero、指标、列表密度、PC 复合列、
|
|
72
|
+
移动端卡片只要有配置就始终生效;设计器必须提供独立的“自定义表单”Tab。
|
|
73
|
+
|
|
74
|
+
平台自动生成的 List/Card 配置只是防止空白界面的最低值,不能替代 AI 对业务状态、金额、
|
|
75
|
+
时效和操作路径的分析。显式配置优先于自动值;写后用 `microi_get_module` 回读 ViewSchema、
|
|
76
|
+
列宽、统计列、卡片区域和角标配置。
|
|
77
|
+
|
|
51
78
|
## 打开方式
|
|
52
79
|
|
|
53
80
|
| OpenType | 用途 |
|
|
@@ -113,6 +140,9 @@ PC 列表的固定结构顺序是“模块 Hero(标题/副标题/动态指标
|
|
|
113
140
|
`Data.Buttons` 与 `Data.Rows`,禁止逐行调用。
|
|
114
141
|
- 能直接用字段表达的信息优先配置复合列/卡片字段;只有确需 HTML 样式或组合逻辑时
|
|
115
142
|
才使用字段的 `V8TmpEngineTable`,且仍需遵守 DOMPurify 和查询字段范围。
|
|
143
|
+
- 存量菜单没有 Hero.Metrics 时,客户端只允许根据真实后端汇总、当前筛选总数、本页加载数
|
|
144
|
+
和本页真实状态分布生成兜底指标;不得用随机值装饰页面。字段聚合缺少全量口径时必须明确
|
|
145
|
+
标注“本页”,不能把当前页求和冒充全表汇总。
|
|
116
146
|
|
|
117
147
|
### 表单布局协同
|
|
118
148
|
|
|
@@ -31,6 +31,16 @@
|
|
|
31
31
|
默认搜索优先名称、标题、编号、状态、类型、分类、负责人和时间;统计优先金额、
|
|
32
32
|
数量、价格、积分和余额。用户明确配置优先。
|
|
33
33
|
|
|
34
|
+
每个可见且绑定表的 Diy 模块还必须有 List/Card 展示设计:所有普通列给合理
|
|
35
|
+
`TableWidth`,至少一个 PC 复合列给 `MinWidth`,Hero 有业务标题、副标题和 2~4 个
|
|
36
|
+
真实指标,移动卡片覆盖可用的标题/副标题/顶部/状态/右侧/正文/Meta/底部区域。
|
|
37
|
+
复合列和卡片区域使用过的字段不得继续机械显示为普通列或在多个区域重复。
|
|
38
|
+
|
|
39
|
+
菜单角标只用于少量待办、未读、逾期、预警等重要入口;PageTabs 与按钮角标按业务价值
|
|
40
|
+
选择。相同页面的一组指标/角标使用一个批量接口,不逐指标、逐按钮、逐行请求。
|
|
41
|
+
自动默认值只保证旧库和漏配模块不出现空白标题,不替代业务设计;严禁用随机数或静态演示
|
|
42
|
+
数字伪造统计。没有可推断业务指标时只使用真实 `DataCount/PageCount` 兜底。
|
|
43
|
+
|
|
34
44
|
## 打开方式细节
|
|
35
45
|
|
|
36
46
|
### Diy
|
|
@@ -86,6 +96,9 @@
|
|
|
86
96
|
|
|
87
97
|
顶层 PC 列表不依赖 `EnableViewSchema` 才采用新样式:平台始终显示紧凑模块标题;ViewSchema 中有效的 List-PC 与 Card-Mobile 配置也不受该开关限制。模块表单中的 `DiyModulePresentationDesigner` 负责可视化编辑这些展示配置,以独立 JSON 编辑 Detail/Edit,并通过高级 JSON 保留角色视图及未知字段。
|
|
88
98
|
|
|
99
|
+
设计器固定提供“模块标题与统计 / PC 复合列 / 移动端卡片 / 自定义表单 / 高级 JSON”五个
|
|
100
|
+
Tab;开关标签是“启用自定义表单视图”,只影响第四个 Tab 中的 Detail/Edit。
|
|
101
|
+
|
|
89
102
|
视图项常用字段:`Key`、`Scene`、`Device`、`RoleIds`、`Priority`、`Layout`。
|
|
90
103
|
标准区块包括 `EntityHero`、`MetricStrip`、`ActionGrid`、
|
|
91
104
|
`ResponsiveSection`。声明式动作包括:
|
|
@@ -1597,7 +1597,8 @@ MCI-UI 已在吾码源码根目录落地:`Microi.UI/`。
|
|
|
1597
1597
|
|
|
1598
1598
|
## VitePress 中文文档布局规范
|
|
1599
1599
|
|
|
1600
|
-
`microi.doc` 不是纯文本仓库,而是 Microi
|
|
1600
|
+
`microi.doc` 不是纯文本仓库,而是 Microi 产品体验的一部分。创建或重构
|
|
1601
|
+
`docs/doc`、`docs/case` 中文阅读页时:
|
|
1601
1602
|
|
|
1602
1603
|
- 页面首屏使用标题、简短价值说明和 2–4 个关键能力视觉分组,避免打开后先看到十几段连续正文。
|
|
1603
1604
|
- 正文阅读宽度控制在约 `86ch`,代码、表格、架构图和案例截图可使用全宽;标题间距必须明显大于段落间距。
|
|
@@ -1610,6 +1611,7 @@ MCI-UI 已在吾码源码根目录落地:`Microi.UI/`。
|
|
|
1610
1611
|
|
|
1611
1612
|
全站文档视觉改造还必须遵守:
|
|
1612
1613
|
|
|
1614
|
+
- 清单必须覆盖 `/doc` 和 `/case` 中文阅读路由;首页、应用广场、应用详情、用户中心、登录与联系页采用专用交互布局,应显式登记后按自己的组件契约验收,不能漏扫,也不能强套正文档卡片样式。英文生成页与受保护更新日志按项目规则排除。
|
|
1613
1615
|
- 为每个中文路由维护显式视觉类型,至少区分概览、指南、参考、规范和展示页;同一主题契约按类型调节信息密度,不能把 API 参考页机械改造成营销卡片。
|
|
1614
1616
|
- 所有自定义面板都先定义“表面 + 主文字 + 次文字 + 边框”的亮暗成对 token,再使用 token 组合背景。禁止浅色硬编码背景继续继承暗色全局文字,也禁止只改背景不改前景。
|
|
1615
1617
|
- Sass 位于 `html:lang(zh)` 嵌套作用域时,暗色根状态写 `&.dark`,编译结果必须是 `html:lang(zh).dark`;不得写成会生成 `html:lang(zh) .dark` 的后代选择器。单元测试应编译 SCSS 并阻止这一回归。
|
|
@@ -80,6 +80,17 @@ return {
|
|
|
80
80
|
生命周期里单独查数量;后端应按 `Ids` 批量 `GROUP BY`,并继续应用租户、菜单和数据权限。
|
|
81
81
|
统计失败只隐藏角标,不能阻断按钮本身或 PageTab 切换。
|
|
82
82
|
|
|
83
|
+
### JsonTable 内嵌选择器的数据源代理
|
|
84
|
+
|
|
85
|
+
`PageTabs/MoreBtns/PageBtns/BatchSelectMoreBtns/ExportMoreBtns/FormBtns` 都是 `JsonTable` 字段,
|
|
86
|
+
其中的列对象不是独立 `diy_field`。内嵌 `Select/Radio/Checkbox/Autocomplete/Cascader/SelectTree`
|
|
87
|
+
一旦使用 `Sql/DataSource/ApiEngine` 服务端数据源,必须在列的 `Config.DataSourceFieldId` 中填写
|
|
88
|
+
同租户、同表内一个真实且权限等价的 `diy_field.Id`。禁止把内嵌列的 `Key` 或列 `Id` 当成
|
|
89
|
+
字段 Id,否则打开“模块设计-按钮”时会触发“DiyField 数据不存在”,并使同批字段数据加载失败。
|
|
90
|
+
|
|
91
|
+
远程 SQL 搜索还应同时设置 `DataSourceSqlRemote=true`,使用 `$Keyword$` 参数并限制返回条数;
|
|
92
|
+
应用包回归测试必须逐个校验所有按钮集合的代理字段真实存在、保存字段/显示字段一致。
|
|
93
|
+
|
|
83
94
|
### PageTabs 关联模块
|
|
84
95
|
|
|
85
96
|
- 列表页固定顺序为“模块 Hero(标题/副标题/动态指标)→ PageTabs → 查询与表格”;PageTabs 不能渲染到 Hero 上方,也不能重复承担模块标题。
|