@microi.net/cli 5.1.5 → 5.1.7
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/cordis.patch.yml +1 -1
- package/package.json +1 -1
- package/scripts/mcp-server.js +3 -2
- package/scripts/microi-skills.meta.json +187 -187
- package/skills/.microi-skills-version.json +2 -2
- package/skills/.progressive-disclosure-manifest.json +3 -3
- package/skills/app-store/SKILL.md +2 -1
- package/skills/microi-microservice/SKILL.md +5 -4
- package/skills/microi-system-delivery/references/progressive-01-/346/240/207/345/207/206/345/267/245/344/275/234/346/265/201.md +3 -1
- package/skills/module-engine/SKILL.md +6 -3
- package/skills/module-engine/references/module-config.md +7 -1
- package/skills/ui-design/SKILL.md +1 -0
- package/skills/v8-export-import/SKILL.md +17 -5
- package/skills/v8-workflow/SKILL.md +13 -5
- package/skills/workspace-conventions/SKILL.md +3 -3
|
@@ -34,7 +34,9 @@
|
|
|
34
34
|
每个可见且绑定表的 Diy 模块还必须有 List/Card 展示设计:所有普通列给合理
|
|
35
35
|
`TableWidth`,至少一个 PC 复合列给 `MinWidth`,Hero 有业务标题、副标题和 2~4 个
|
|
36
36
|
真实指标,移动卡片覆盖可用的标题/副标题/顶部/状态/右侧/正文/Meta/底部区域。
|
|
37
|
-
|
|
37
|
+
复合列一般只用一个主字段加一个 `Lines` 次要字段,形成紧凑双行;可以配置多个各自双行
|
|
38
|
+
的复合列,但不要在同一列堆两个 `Lines` 形成三行。复合列和卡片区域使用过的字段不得
|
|
39
|
+
继续机械显示为普通列或在多个区域重复。
|
|
38
40
|
|
|
39
41
|
菜单角标只用于少量待办、未读、逾期、预警等重要入口;PageTabs 与按钮角标按业务价值
|
|
40
42
|
选择。相同页面的一组指标/角标使用一个批量接口,不逐指标、逐按钮、逐行请求。
|
|
@@ -123,6 +125,10 @@ FontWeight/DisplayStyle`。运行时会把引用字段并入 `_SelectFields`;
|
|
|
123
125
|
返回这些字段。多字段模板沿用对应 `diy_field.V8TmpEngineTable`,不在 ViewSchema 内保存
|
|
124
126
|
可执行脚本。
|
|
125
127
|
|
|
128
|
+
PC 复合列的常规高度上限是两行:`Field` 占主行,`Lines` 通常只放 1 项。多个信息组拆成
|
|
129
|
+
多个两行复合列;只有确有层级价值且完成桌面截图验收后,才允许在同一列放第 2 个
|
|
130
|
+
`Lines`。`TrailingFields` 位于右侧,不应被误用成增加纵向信息层级。
|
|
131
|
+
|
|
126
132
|
Hero 必须在 PageTabs 上方渲染。PC 无指标/含指标头部分别为 `44px / 62px`,连同间距的
|
|
127
133
|
总纵向占用约 `50px / 68px`。有指标时标题说明区占约 25%~30%,指标区弹性占满其余空间,
|
|
128
134
|
两区只用弱化渐变分隔;指标容器不加外框,单指标使用轻量语义色背景和图标色块,禁止
|
|
@@ -196,6 +196,7 @@ Microi 项目必须支持用户或项目级形态偏好:`data-mci-shape="round
|
|
|
196
196
|
- **Label 与紧凑控件共用中心线**:左右标签布局下,普通字段 Label、输入控件、日期文字与日期前缀图标必须共用同一控件高度和垂直中心线;不得保留会把 Label 单独上抬/下压的底部外边距。多行文本、上传、子表等高控件才切换为顶部对齐。
|
|
197
197
|
- **弹窗与抽屉边界有区别**:表单对话框采用中性细边界、柔和遮罩与模糊背景,标题顶部不加装饰色线;抽屉必须贴边且无圆角,可在顶部保留克制的 2–3px 主题色识别线。两者都使用连续的柔和表单画布和紧凑操作区;设计器双击字段弹窗必须可拖动,并继续提供控件专项配置入口。
|
|
198
198
|
- **平台 Dialog 统一壳**:除 Drawer 外,框架弹层、微应用弹层、系统设置、商城、通知与业务表单默认使用 20–24px 大圆角、上下左右居中、标题栏可拖动的 Dialog;禁止页面自行恢复方角壳或顶部主题色粗线。标题栏左侧依次提供语义图标、英文眉题、大字标题和可选小字副标题;右上关闭按钮与标题区垂直居中并必须有可辨识的按钮底色。内容区使用连续、固定的柔和背景和整齐栅格;底部操作区右对齐大号关闭/保存按钮,两者都带语义图标。拖动与窗口缩放必须按弹层真实宽高重新约束,四边至少保留 8–18px 可视余量,不得把内容拖出视口。Teleport 到 `body` 的微应用弹层必须在弹层根同步 `data-mci-ui-root`、主题与必要 token,不能只依赖原祖先 CSS 变量。遮罩默认毛玻璃,只有 `sys_config.DisableFormMaskBlur=1/true` 才全局关闭;`prefers-reduced-motion` 只能停止动画与过渡,不得关闭静态毛玻璃。
|
|
199
|
+
- **Dialog 关闭按钮可见性**:右上关闭按钮固定使用 40×40px(移动端不低于 40px)中性灰底、细边框和 10–12px 圆角,不能只显示悬空的细线 X;亮色和暗色主题都必须保持可辨识背景。hover/focus-visible 时使用更深一级灰底、主题色图标和清晰焦点环。底部关闭/取消/保存按钮高度不低于 42px、最小宽度 96px,并保持右对齐与 12px 间距。
|
|
199
200
|
- **Tabs 统一视觉**:顶部工作区、数据列表 PageTabs、表单 Tabs 与右侧关联数据 Tabs 使用同一套清爽、独立标签视觉。横向 Tabs 禁止铺设贯穿整行的有色轨道、边框底板、下划线或其它装饰线;未选项保持透明,悬停与选中只使用克制的文字色、浅色独立表面和轻阴影。纵向 Tabs 可使用截图式中性浅色分组容器,选中项是独立浅色卡片。数字角标放在标签文本之后且不得挤压标题;过渡只用于交互,并尊重 `prefers-reduced-motion`。
|
|
200
201
|
- **表格与卡片行为完整**:桌面数据卡片采用连续白色表面、弱边界和轻阴影,操作区不得再叠加有色底板或硬分割线;表格模块门头的标题/副标题卡片与每个动态统计卡片必须彼此独立,父布局保持透明,禁止用一个大卡片或外框把标题和全部统计项包在一起。表格默认取消无意义的纵向网格,只保留浅表头与轻量横向行节奏,工具栏和分页不得层层套框。`PageBtns`、`BatchSelect`、行内/行外 V8 按钮均不可因改版丢失;需多选而当前未选中时,应先把当前记录纳入选中集再执行。
|
|
201
202
|
- **启动状态可理解、可恢复**:Vue 挂载和业务就绪是两个状态。进度到 100% 后若仍在初始化,应显示“正在连接/后端响应较慢/仍在等待”等阶段文字;明确失败时提供原因摘要与刷新重试,禁止撤掉启动层后留下空白页。
|
|
@@ -151,7 +151,7 @@ return {
|
|
|
151
151
|
|
|
152
152
|
<!-- /microi-progressive:chunk -->
|
|
153
153
|
<!-- microi-progressive:chunk id=v8-export-import-003 sha256=8c2868406d663d51bbd479c12b052b70ffa1014cc4ec4186b8dcecd0e5a3105b -->
|
|
154
|
-
## 解析上传的 Excel(导入)
|
|
154
|
+
## 解析上传的 Excel(导入)
|
|
155
155
|
|
|
156
156
|
```javascript
|
|
157
157
|
// 接口引擎接收 V8.FilesByteBase64
|
|
@@ -168,10 +168,22 @@ var parsed = V8.Office.ExcelToList({
|
|
|
168
168
|
if (parsed.Code !== 1) return parsed;
|
|
169
169
|
|
|
170
170
|
var dataList = parsed.Data; // [{ 列标题: 值, ... }, ...]
|
|
171
|
-
return { Code: 1, Data: dataList, DataCount: dataList.length };
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
|
|
171
|
+
return { Code: 1, Data: dataList, DataCount: dataList.length };
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### 固定版式模板与后台自定义导入
|
|
175
|
+
|
|
176
|
+
默认导入适合首行即字段标题的标准表格。多行表头、合并单元格、项目名称位于固定单元格、或需按规格/材质查询存货等模板,页面按钮使用 `V8.OpenImportDialog({...})` 声明工作表、单元格和列映射;平台弹层负责浏览器解析、后台任务提交、真实进度轮询与结果呈现。
|
|
177
|
+
|
|
178
|
+
- 页面 V8 只声明 `ApiEngineKey`、`Workbook.Cells/Columns/DataStartRow/DataEndRow/KeyField`,不得拼上传 DOM、传完整工作簿 Base64 或自行轮询。
|
|
179
|
+
- 后台接口引擎从 `V8.Param._ImportRowsJson` 和 `_ImportMetaJson` 取值,必须重做模板、权限、字段、唯一性和状态校验。
|
|
180
|
+
- 先校验全部行再写入;接口引擎返回 `Code != 1` 时依靠平台事务整体回滚,禁止手动 Commit/Rollback。
|
|
181
|
+
- 用 `V8.Method.UpdateBackgroundTask({Current,Total,Msg,Log})` 上报真实校验/写入工作量;未知总量保持不确定进度,不伪造百分比。
|
|
182
|
+
- 业务幂等键使用后台任务 Id 或明确的导入操作 Id;重试前回读批次,避免重复写入。
|
|
183
|
+
|
|
184
|
+
完整前端参数见 `microi.doc/docs/doc/v8-engine/v8-client.md#v8openimportdialog`。
|
|
185
|
+
|
|
186
|
+
<!-- /microi-progressive:chunk -->
|
|
175
187
|
## 详细参考路由(渐进披露)
|
|
176
188
|
|
|
177
189
|
仅在当前任务涉及对应主题时读取;下列文件合计保留了原 SKILL.md 的全部详细知识。
|
|
@@ -153,7 +153,7 @@ if (V8.Form.Money <= 100) {
|
|
|
153
153
|
|
|
154
154
|
<!-- /microi-progressive:chunk -->
|
|
155
155
|
<!-- microi-progressive:chunk id=v8-workflow-006 sha256=e67b72bf060a38ed5f94a57f3978026d151bb971fcf47a0b30a434dba819c264 -->
|
|
156
|
-
## 前端发起流程
|
|
156
|
+
## 前端发起流程
|
|
157
157
|
|
|
158
158
|
```javascript
|
|
159
159
|
// 在 V8 按钮或自定义逻辑中发起流程
|
|
@@ -172,10 +172,18 @@ V8.WF.StartWork({
|
|
|
172
172
|
V8.Tips(result.Msg, false);
|
|
173
173
|
}
|
|
174
174
|
});
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
<!-- /microi-progressive:chunk -->
|
|
178
|
-
##
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
<!-- /microi-progressive:chunk -->
|
|
178
|
+
## “我的工作”与审核界面交付规则
|
|
179
|
+
|
|
180
|
+
- 模块使用“流程引擎”打开方式时,关联流程只能选择已启用的 `wf_flowdesign`;交付前同时验证流程已启用、模块 `OpenType=WorkFlow`、`FlowDesignId` 正确,且开始节点不存在测试阻断 V8。
|
|
181
|
+
- `StartWork` / `DoWork` 必须通过工作流与表单合并提交能力保存。审核态只保留“处理工作”、流转记录/流程图和关闭;不得同时显示普通保存、取消编辑、草稿箱、删除、显示隐藏字段或普通表单更多按钮。
|
|
182
|
+
- “我的工作”菜单角标使用“未处理待办 + 未读抄送”。待办 Tab 显示未处理数,抄送 Tab 显示未读数;我发起的、我处理的、我相关的按各自列表查询口径统计,不能用 `wf_work` 的近似口径代替 `wf_flow` 列表口径。
|
|
183
|
+
- 新抄送项应显式保存 `IsRead=false`,用户打开后由可信后端按当前身份标记已读。历史 `CopyUsers` 项没有 `IsRead` 时按已读兼容,避免升级后把全部历史抄送误报为未读。
|
|
184
|
+
- “查看流程图”验收必须从真实流转记录入口打开,确认流程定义、当前节点高亮、连线和弹窗尺寸正常,并检查浏览器无脚本错误;只验证流程 JSON 拓扑不等于完成 UI 验收。
|
|
185
|
+
|
|
186
|
+
## 详细参考路由(渐进披露)
|
|
179
187
|
|
|
180
188
|
仅在当前任务涉及对应主题时读取;下列文件合计保留了原 SKILL.md 的全部详细知识。
|
|
181
189
|
|
|
@@ -104,7 +104,7 @@ AI 在工作区任意任务中生成的**一次性临时脚本、诊断文件、
|
|
|
104
104
|
**2026-06 强制补充**:AI 不得在任何子项目目录下放置一次性日志、自动化截图、接口回收文件或调试脚本。像 `Microi.Server/Microi.net.Api/.tmp-*.log`、`Microi.Client/*.png` 这类文件一律视为规范失败,必须移到 `<workspace-root>/.tmp/` 或 `<workspace-root>/.tmp/screenshots/`。正式 Playwright 工程由 Microi.VSCode 插件生成时可以继续使用 `.microi-e2e/`,但 AI 为某个任务手写的一次性 Playwright 脚本、报告和截图仍然必须放在 `.tmp/`。
|
|
105
105
|
|
|
106
106
|
<!-- /microi-progressive:chunk -->
|
|
107
|
-
<!-- microi-progressive:chunk id=workspace-conventions-005 sha256=
|
|
107
|
+
<!-- microi-progressive:chunk id=workspace-conventions-005 sha256=fff5f355bea04077c15039b668f0a02b1ed018f5e76aaee47113b6be777fef4a -->
|
|
108
108
|
## Microi 源码路径速查(工作区根相对路径)
|
|
109
109
|
|
|
110
110
|
当用户提到“吾码后端源码”“吾码前端源码”“表单引擎源码”“官网源码”等简称时,默认按下列路径定位;如果当前工作区缺少对应目录,再用 `rg --files` 或目录搜索确认实际位置。
|
|
@@ -124,11 +124,11 @@ AI 在工作区任意任务中生成的**一次性临时脚本、诊断文件、
|
|
|
124
124
|
| 吾码 App 源码 | `microi.app/` |
|
|
125
125
|
| 吾码 UniApp 源码 | `microi.uniapp/` |
|
|
126
126
|
| 吾码官方网站 / 文档源码 | `microi.doc/` |
|
|
127
|
-
| 吾码 AI 应用及应用商城发行源码 | `Microi-V8-Engine/{系统名称} ({ApiBase域名})/{OsClient}.{OsClientType}.{OsClientNetwork}/AI应用/{appKey}
|
|
127
|
+
| 吾码 AI 应用及应用商城发行源码 | 默认位于 `Microi-V8-Engine/{系统名称} ({ApiBase域名})/{OsClient}.{OsClientType}.{OsClientNetwork}/AI应用/{appKey}/`;受审计的独立源码仓库必须由发布契约显式指定 |
|
|
128
128
|
|
|
129
129
|
以上路径只作为通用工作区相对路径规范,不写入具体本机盘符。跨仓库、空工作区或普通用户项目中,如果路径不存在,以插件生成的 `AGENTS.md`、MCP 配置和实际文件树为准。
|
|
130
130
|
|
|
131
|
-
每个 `AI应用/{appKey}`
|
|
131
|
+
每个 `AI应用/{appKey}` 必须只有一个可编辑事实源,统一承载界面、微服务、Manifest、接口引擎、资源策略、测试、构建脚本与商城上传素材。普通应用默认使用当前连接下的 `Microi-V8-Engine` 目录;受审计的官方内置应用若由独立 Git 仓库维护,必须由版本管理的发布契约唯一指向该源码根,并让构建、跨工程测试和发行包共同读取契约。此时同名 `Microi-V8-Engine` 目录只是远端同步镜像,不得回退为构建源。禁止靠目录探测在多份副本之间自动择新,也禁止另建无契约的 `microi.apps/` 平行发行根。
|
|
132
132
|
|
|
133
133
|
<!-- /microi-progressive:chunk -->
|
|
134
134
|
<!-- microi-progressive:chunk id=workspace-conventions-006 sha256=2e2b93098fa72390e148e305ed6cc8cfb154d9a64028cdecb10b39a016e41f41 -->
|