@microi.net/cli 6.2.3 → 6.2.4

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.
Files changed (26) hide show
  1. package/.codebuddy-plugin/marketplace.json +2 -2
  2. package/.codebuddy-plugin/plugin.json +1 -1
  3. package/.codex-plugin/plugin.json +1 -1
  4. package/.workbuddy-plugin/marketplace.json +2 -2
  5. package/.workbuddy-plugin/plugin.json +1 -1
  6. package/assets/build-meta.json +4 -4
  7. package/cordis.patch.yml +1 -1
  8. package/package.json +1 -1
  9. package/scripts/mcp-server.js +121 -121
  10. package/scripts/microi-skills.meta.json +236 -227
  11. package/skills/.microi-skills-version.json +2 -2
  12. package/skills/.progressive-disclosure-manifest.json +23 -23
  13. package/skills/microi-client-frontend/SKILL.md +10 -6
  14. package/skills/microi-docs-coverage/references/capability-map.md +2 -2
  15. package/skills/microi-form-engine/SKILL.md +27 -0
  16. package/skills/microi-form-engine/references/component-config-index.md +1 -1
  17. package/skills/microi-left-right-layout/SKILL.md +22 -0
  18. package/skills/microi-microservice/SKILL.md +1 -0
  19. package/skills/module-engine/SKILL.md +2 -0
  20. package/skills/page-engine/SKILL.md +7 -1
  21. package/skills/page-engine/examples/go-view-operations.json +8467 -0
  22. package/skills/page-engine/examples/go-view-procurement.json +2800 -0
  23. package/skills/page-engine/references/go-view-json.md +62 -0
  24. 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 -1
  25. package/skills/ui-design/references/progressive-02-/345/255/227/344/275/223.md +2 -2
  26. package/skills/v8-menu-buttons/SKILL.md +2 -0
@@ -0,0 +1,62 @@
1
+ # 吾码内置 GoView:发现、JSON 生成与验收
2
+
3
+ ## 先发现真实引擎
4
+
5
+ GoView 已集成在 `Microi.Client/src/views/go-view/`,复用吾码 Vue、Pinia、DiyToken 和租户上下文,不要求单独运行 GoView 容器、3000/9527 端口或其原项目后端。`数据大屏` 菜单名称不包含 GoView 也不能作为未集成的证据。不要安装另一套 GoView 或拿 PageEngine/Vue 整页替代原生大屏 JSON。
6
+
7
+ 1. 调用 `microi_codex profiles` 选定实际 `ApiBase/OsClient`,`microi_get_status` 检查连通与权限。
8
+ 2. `microi_get_go_view_schema` 返回本机集成组件的真实 `key/chartKey/conKey/package/category/chartFrame`、原生协议和路由;可传 `component:"LineCommon"` 精确读取。目录由实际组件元数据生成,不能凭名称臆造组件。
9
+ 3. `microi_list_go_view_projects` 分页盘点现有大屏;`microi_get_go_view_project {projectId}` 完整读取要修改的大屏及 `ContentHash`。旧 MCP 未提供 GoView 工具时先升级 MCP/CLI;允许使用已有同源 FormEngine/受保护管理员工具读取实时 `mic_data_dashboard`,不能因工具缺失声称产品无此功能。
10
+
11
+ 存储表是 `mic_data_dashboard`,名称字段 `ProjectName`,设计字段 `ContentData`(JSON 字符串),其余常见字段 `IndexImage/State/Remarks` 以实时 Schema 为准。设计路由 `/mic/data-dashboard/design/:Id`,预览 `/mic/data-dashboard/preview/:Id`。PC 地址把 `ApiBase/OsClient` 放 `#` 前,例如 `http://localhost:61500/?ApiBase=https%3A%2F%2Fapi.example.com&OsClient=tenant#/mic/data-dashboard/preview/{Id}`。
12
+
13
+ ## 原生 JSON 根与节点
14
+
15
+ 根对象必须同时包含 `editCanvasConfig`(画布)、`componentList`(图层)和 `requestGlobalConfig`(全局请求)。先取 schema.root 作为最小根,1920×1080 示例可直接读取:
16
+
17
+ - [制造数字化运营平台完整 JSON](../examples/go-view-operations.json):交付、安全/人员、仓储、设备、质量、进度六区域,折线、数字翻牌、可编辑边框/标题/表格。
18
+ - [采购信息看板完整 JSON](../examples/go-view-procurement.json):双环形指标、原生仪表盘、供应商表与多指标趋势。
19
+
20
+ 这些是可编辑原生组件,所有数值在画布及 Remarks 明确标为**参考图静态示例,非真实经营指标**。可用于排版起点,不可声称已接通客户业务。
21
+
22
+ ```json
23
+ {
24
+ "editCanvasConfig":{"projectName":"示例","width":1920,"height":1080,"background":"#1e2128","selectColor":true,"chartThemeColor":"dark","previewScaleType":"fit"},
25
+ "requestGlobalConfig":{"requestDataPond":[],"requestOriginUrl":"","requestInterval":30,"requestIntervalUnit":"second","requestParams":{"Body":{},"Header":{},"Params":{}}},
26
+ "componentList":[]
27
+ }
28
+ ```
29
+
30
+ 节点不可只写 ECharts option:还要有 `id/key/isGroup/attr/styles/preview/status/chartConfig/option/request/events`。以 schema.componentShape 或完整示例节点为骨架,组件身份必须来自真实目录。`attr` 使用设计画布坐标 `x/y/w/h`,`w/h>0`;`id` 在所有分组内外全局唯一,不能复制模板时沿用 Id。分组 `isGroup:true` 使用 `groupList`,深度最多8、总节点最多500。底层装饰先入列表,设置合理 `zIndex`,文字/数据置上层。
31
+
32
+ 文字 `TextCommon.option.dataset` 是纯文本;设置 `fontSize/fontColor/textAlign/fontWeight/paddingX/paddingY/letterSpacing`。不使用大段 HTML,更不能把截图设为全屏背景伪装成可编辑组件。边框 `Border06/Border07` 的 `option.colors` 与 `backgroundColor` 控制科技边框及透明底色;标题可用 `Decorates06` 和独立 TextCommon,长分隔线用 `Decorates05`。
33
+
34
+ ## 图表、表格与数据格式
35
+
36
+ | 原生组件 | 必需格式与注意事项 |
37
+ |---|---|
38
+ | `LineCommon` | `option.dataset={dimensions:["month","value"],source:[{month:"2026-01",value:10}]}`;`series:[{type:"line",encode:{x:"month",y:"value"}}]`,多指标每个系列明确 encode,xAxis.category/yAxis.value。该组件注册折线,不可把 gauge/pie 塞进来代替对应组件。 |
39
+ | `PieCommon` | 普通/环形饼图用 dimensions/source,`series.type:"pie"`、`encode:{itemName:"name",value:"value"}`;环形半径 `radius:["65%","80%"]`。 |
40
+ | `PieCircle` | 指标环:`option.dataset` 为0–1的小数(0.96表示96%);保留原生 `title`、两个 `series.data[].value` 数组形状,组件会更新它们。直接复用采购示例,不把96作为小数输入。 |
41
+ | `Dial` | 原生仪表盘,`option.dataset` 数字,`series:[{type:"gauge",min:0,max:30,data:[{value:4}]}]`,量程/单位必须与真实口径一致。 |
42
+ | `FlipperNumber` | `dataset` 数值,`flipperLength` 位数,`flipperWidth/flipperHeight/flipperGap/fontSize` 控制翻牌;以实际组件 config 字段为准。 |
43
+ | `TableScrollBoard` | `header:["供应商","评级"]`、`dataset:[["供应商A","一级"],...]`,不是对象行;`index/columnWidth/align/rowNum/headerHeight/headerBGC/oddRowBGC/evenRowBGC` 控制表格。列宽总和与组件宽度相符。 |
44
+
45
+ ECharts 显式设置 `grid/legend/tooltip/xAxis/yAxis/series` 及字体色;画布全局 `chartThemeSetting` 会合并部分主题。按参考图先拆解面板比例、坐标、层级、颜色、标题与空态,再生成所有节点,禁止用随机数、无来源 KPI 或图表占位声称完成。
46
+
47
+ 实际业务改用**当前租户已有固定接口引擎**批量聚合,服务端执行参数化查询、角色/部门/行级数据范围和时间口径;前端只传日期、维度等业务参数,绝不传 SQL。设计 JSON 不保存 DiyToken、Cookie、ApiKey、数据库密码、可执行 filter/事件源码、内嵌二进制 Base64。图片使用已授权 HDFS/CDN 地址,原始私有文件需经过现有权限流程。JSON 最大4MiB。
48
+
49
+ ## 保存、回读与真实验收
50
+
51
+ 先 `microi_validate_go_view_design {json}`。`microi_save_go_view_design` 参数为 `title/json`,可带 `projectId/remarks`;更新必须传刚读取的 `expectedContentHash`,创建建议预先指定稳定 `projectId`。默认预演;真实写入传 `confirmExecution` 等于 title。普通用户遵守原表权限;只有真实平台管理员可显式 `administrative:true`,后端再次独立校验 Level,不得用管理员参数给普通用户绕权。
52
+
53
+ 内容哈希检查是客户端写前检查,**不是数据库原子CAS**,协作编辑要再次回读合并,不能声称可阻止所有并发覆盖。保存后工具独立回读同一 Id 并校验内容。传输超时/结果未知先回读该 Id;禁止盲目重试新建出重复大屏。
54
+
55
+ 验收必须包含:
56
+
57
+ 1. 官方 MCP 独立回读名称、完整 ContentData、组件数量和哈希;检查原有大屏未被覆盖。
58
+ 2. 用真实登录用户在目标 ApiBase/OsClient 打开原生预览,1920×1080 检查全部面板/图表/表格、字体可读及参考图构图,捕获相关 JS/网络失败。不能把 JSON 校验、接口200或图片截图当成页面已渲染。
59
+ 3. 打开原生设计器,确认各组件/图层可选择、属性面板可编辑,重开数据仍一致;实际数据源另验时间/筛选/权限/失败与真实明细对账。
60
+ 4. 区分布局相似度与真实业务接入。没有合法 Logo/背景素材不复制品牌;保留可编辑组件并如实说明差异,不声称逐像素一致。
61
+
62
+ 开发 MCP 目录时运行 `node microi.mcp/scripts/generate-go-view-catalog.mjs --check`,组件源变动后重新生成目录。新增组件必须同时维护原生渲染器、目录、示例/Skills、校验和真实预览,不能只新增工具名称或提示词。
@@ -2,7 +2,7 @@
2
2
 
3
3
  > 按需读取;本文件由 SKILL.md 的原章节无损拆分。
4
4
 
5
- <!-- microi-progressive:chunk id=ui-design-007 sha256=bd9e24e1cdc0017a1bffccbe48505ad8d0a274d65f28f4e6a80e591dec813407 -->
5
+ <!-- microi-progressive:chunk id=ui-design-007 sha256=ebbab60498811bb1736c9ee40b0942539a3a838b18ab866b42c9445d5bd6b0e7 -->
6
6
  ## 颜色体系(CSS Variables — 支持主题切换)
7
7
 
8
8
  所有颜色必须通过 CSS 变量引用,禁止硬编码色值。变量定义放在全局样式入口(PC 端 `src/styles/mci-design.scss`,移动端 `<style>` 内或独立 CSS 文件)。
@@ -110,6 +110,7 @@
110
110
 
111
111
  ### 颜色使用规则
112
112
 
113
+ - 吾码后台的材质与明暗/主色分别配置:`ThemeMaterial=Solid/Glass/Frosted/Liquid` 不扩充颜色枚举。`data-mci-material` 与语义表面成对控制透明度、模糊和克制的细暗边,内容文字不做液体变形。壁纸仅全局调理一次明度,大面板只铺一层低alpha玻璃,内层画布透明,避免接近不透明的白底多层叠加。只在少量壳层/面板使用backdrop-filter;静态暗边不承担活动焦点职责,hover可加强底边,键盘焦点使用独立清晰的环,不以泛白发光线框代替层次;小范围主操作用经对比度验证的成对品牌色保留视觉主次。文字和业务媒体不通过整容器opacity淡化;表格、输入、菜单与Teleport保持配对前景,无滤镜、减少透明度或强制颜色时实色降级,关闭渐变/阴影继续生效。持久化、租户隔离、壁纸来源与当前用户白名单按 `microi-client-frontend` 的“用户级界面偏好”执行,不另存全局浏览器偏好。
113
114
  - **主题模型分两层**:`data-theme="light|dark"` 控制明暗底色,`data-mci-palette="black|white|red|orange|yellow|green|cyan|blue|purple"` 控制品牌主色。
114
115
  - **所有移动端与 PC 网站项目必须支持主流主色切换**:黑、白、红、橙、黄、绿、青、蓝、紫至少 9 个 palette。后台管理系统可由 Element Plus 主题承载,但也必须映射到 `--mci-*` token。
115
116
  - **palette 不得只换按钮底色**:必须同步覆盖 `--mci-color-primary`、`--mci-color-primary-strong`、`--mci-text-on-primary`、`--mci-border-glow`、`--mci-gradient-primary`、`--mci-shadow-button`、`--mci-shadow-button-hover`。
@@ -120,7 +120,7 @@
120
120
  ---
121
121
 
122
122
  <!-- /microi-progressive:chunk -->
123
- <!-- microi-progressive:chunk id=ui-design-011 sha256=630bcd8d5ed6b208b446da2efb007821d0731e6fad84d106e85fbd0043d437b5 -->
123
+ <!-- microi-progressive:chunk id=ui-design-011 sha256=bebc60aaa973e63aafc4ea7a73b6c2bc3aa876c33125b1b386e8901ddcc43d72 -->
124
124
  ## 骨架屏 Loading 设计规范
125
125
 
126
126
  所有依赖接口、数据库、远程资源或异步计算的数据区域,首屏加载态必须使用骨架屏(Skeleton Screen),不能只显示 spinner、进度圈、空图标或“数据加载中...”文案。骨架屏属于基础体验规范,适用于 PC、移动端 H5、uni-app、小程序和 WebView。
@@ -128,7 +128,7 @@
128
128
  - 覆盖范围包括菜单/路由切换、首页工作台、表格、卡片、表单与详情首开、右侧面板、弹窗、树、文件/文档/3D 等远程内容容器;不能只改某一个 `diy-table` 页面。
129
129
  - 骨架屏形态必须接近最终内容版式:列表用行骨架,表格用表头+行骨架,卡片/商品用网格骨架,详情页用大图区+标题/段落骨架,仪表盘用指标卡骨架。
130
130
  - 加载期间不能提前显示“暂无数据/暂无明细/空空如也”;空态只能在请求完成且确认无数据后出现。
131
- - 骨架表面必须不透明,禁止复用 `.el-loading-mask` 的半透明黑/灰遮罩。颜色只引用语义令牌:`--mci-skeleton-surface/card/header/base/highlight/accent/border`;运行时从当前 `--mci-*` 表面与主题色低饱和派生,必须同时兼容 `data-theme="light|dark"`、`html.dark`、租户自定义主题色和系统主题切换。
131
+ - 实色及可访问性降级使用不透明骨架;用户显式选择 `Glass/Frosted/Liquid` 时,骨架必须跟随同一玻璃语义,不能在加载中突然铺白底。颜色只引用 `--mci-skeleton-surface/card/header/base/highlight/accent/border`;表格/表单指令骨架、微服务宿主骨架及模块骨架的祖先面板一起适配,不只覆盖 `.el-loading-mask`。禁止用整体opacity淡化文字或透明化实际业务内容,加载行为、稳定几何及aria-busy保持不变。独立文档微应用通过宿主固定主题字段 `skeletonSurface/Header/Base/Highlight` 接收外观,未消费契约的第三方页面不能宣称已自动适配。两种材质路径均兼容明暗、租户主题和减少透明度降级。
132
132
  - 主色只允许作为低占比边缘/高光染色,不能把高饱和主题色铺满骨架;切换亮色、暗色或任意自定义主题后,骨架层级要可辨认且不闪白、不变黑幕。
133
133
  - 动画只允许使用 `background-position`、`opacity` 或 `transform`,节奏控制在 1.0s 到 1.4s;必须支持 `prefers-reduced-motion` 关闭或弱化动画。
134
134
  - 分页加载下一页时,只在列表底部追加紧凑骨架,不覆盖已有内容;切换筛选/分类重载第一页时才显示首屏骨架。
@@ -7,6 +7,8 @@ description: Microi 菜单按钮与 Tab V8 指南。用于配置 sys_menu MoreBt
7
7
 
8
8
  # v8-menu-buttons — 菜单按钮 / Tab / 批量操作 V8 写法
9
9
 
10
+ 系统帐号、角色、岗位的官方批量删除使用 `platform-directory-batch-delete`:固定 `Kind=User/Role/Job`,从 `V8.TableRowSelected` 收集 1–50 个 Id,确认后提交 `Ids` 并刷新列表;`DryRun=true` 仅校验。按钮显隐不能替代后端当前租户管理员校验。禁止批量删除当前帐号、admin 或平台管理员帐号/角色。帐号/角色复用原可信目录动作且逐项提交,必须展示 `DeletedCount/FailedCount/Results`;有失败不能提示整批成功,不得盲重试未知结果。不能让前端指定表名、SQL、身份或绕过权限。
11
+
10
12
  > 适用于 sys_menu 表的 MoreBtns、FormBtns、BatchSelectMoreBtns、PageTabs、ExportMoreBtns、PageBtns 字段。
11
13
  > 这些字段统一存为 **JSON 字符串**(数组),每个数组元素是一个按钮/Tab 对象。
12
14
  > AI 通过 MCP `microi_create_module` 创建菜单时应**主动**传入这些字段,业务系统才"活"。