@microi.net/cli 6.2.2 → 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.
- 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 +117 -116
- package/scripts/microi-cli.js +63 -63
- package/scripts/microi-skills.meta.json +268 -253
- package/skills/.microi-skills-version.json +2 -2
- package/skills/.progressive-disclosure-manifest.json +83 -83
- package/skills/app-store/SKILL.md +7 -6
- package/skills/microi-ai-application/SKILL.md +5 -5
- package/skills/microi-client-frontend/SKILL.md +11 -7
- package/skills/microi-codex-installer/SKILL.md +6 -0
- package/skills/microi-datasource-mapping/SKILL.md +1 -0
- package/skills/microi-db-schema/SKILL.md +8 -0
- package/skills/microi-docs-coverage/references/capability-map.md +10 -10
- package/skills/microi-form-engine/SKILL.md +52 -0
- package/skills/microi-form-engine/references/component-config-index.md +1 -1
- package/skills/microi-form-engine/references/data-source-events.md +6 -1
- package/skills/microi-form-layout/SKILL.md +1 -1
- 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 +6 -0
- package/skills/microi-left-right-layout/SKILL.md +22 -0
- package/skills/microi-microservice/SKILL.md +388 -382
- package/skills/microi-microservice/references/runtime-delivery.md +15 -0
- 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/module-engine/SKILL.md +7 -1
- package/skills/page-engine/SKILL.md +7 -1
- package/skills/page-engine/examples/go-view-operations.json +8467 -0
- package/skills/page-engine/examples/go-view-procurement.json +2800 -0
- package/skills/page-engine/references/go-view-json.md +62 -0
- package/skills/ui-design/SKILL.md +227 -223
- package/skills/ui-design/assets/pattern-showcase/index.html +2 -2
- package/skills/ui-design/assets/templates/MCI-DESIGN.md +221 -206
- package/skills/ui-design/references/data-workspace-density.md +77 -0
- package/skills/ui-design/references/design-pattern-library.md +186 -184
- package/skills/ui-design/references/mci-design-contract.md +163 -163
- 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
- package/skills/ui-design/references/progressive-02-/345/255/227/344/275/223.md +165 -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 +237 -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 +154 -152
- 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/uniapp-mall-assets/SKILL.md +7 -2
- package/skills/v8-crud-api/SKILL.md +2 -1
- package/skills/v8-explorer-tree/SKILL.md +22 -1
- package/skills/v8-menu-buttons/SKILL.md +2 -0
- package/skills/v8-saas-multi-tenant/SKILL.md +6 -0
- package/skills/v8-security/SKILL.md +11 -1
- package/skills/v8-sql-query/SKILL.md +38 -1
- package/skills/v8-sql-query/examples/business-query.js +18 -0
- package/skills/v8-table-event/SKILL.md +51 -2
- 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 +3 -1
- package/skills/vision-engine/references/video-timeline.md +52 -0
|
@@ -1,183 +1,183 @@
|
|
|
1
|
-
# microi-ui 详细参考 1
|
|
2
|
-
|
|
3
|
-
> 按需读取;本文件由 SKILL.md 的原章节无损拆分。
|
|
4
|
-
|
|
5
|
-
<!-- microi-progressive:chunk id=microi-ui-006 sha256=
|
|
6
|
-
## 移动端场景蓝图
|
|
7
|
-
|
|
8
|
-
### 登录/注册
|
|
9
|
-
|
|
10
|
-
- 除非业务明确有独立登录系统,否则不要强制用户切换角色。
|
|
11
|
-
- H5/App 登录通常应是一个账号或手机号 + 密码表单,不要把账号登录块和手机号登录块并列展示。
|
|
12
|
-
- 微信小程序登录默认使用 `<button open-type="getPhoneNumber">` 手机号授权;需要员工登录时,账号/密码兜底可以作为折叠或次级选项存在。
|
|
13
|
-
- Microi 账号登录要正确使用平台登录流程,不要调用不存在的方法。
|
|
14
|
-
- Microi 账号登录成功必须同时拿到成功码、有效 token 和有效用户 `Id`。token 可能在响应头,用户信息可能在响应体 `Data`;任一缺失都要清理本地会话并展示失败,不能留下“显示用户名但仍未登录”的半登录状态。
|
|
15
|
-
- 登录状态、头像姓名、角色文本、未登录提示和页面权限必须来自统一 session store。不要让单个页面直接读取旧 storage 显示用户名称。
|
|
16
|
-
- 微信小程序客户登录要支持手机号授权和注册/绑定。
|
|
17
|
-
- 登录页/个人中心不要向终端用户展示当前租户、OsClient、API host、移动端版本或调试元数据块。
|
|
18
|
-
- 使用顶部氛围加悬浮表单面板。
|
|
19
|
-
-
|
|
20
|
-
- 主登录、去登录、手机号登录按钮必须图标加文字,高对比,并在合适场景下满宽。
|
|
21
|
-
- 只有真实可用时才显示社交/快捷登录入口。
|
|
22
|
-
|
|
23
|
-
### 首页/工作台
|
|
24
|
-
|
|
25
|
-
- 首屏展示下一步操作:待处理订单、到期计划、报告、报修、审批或快捷操作。
|
|
26
|
-
- 使用 `MciHeroPanel` 或 `.mci-mobile-hero`。
|
|
27
|
-
- 使用带图标的悬浮快捷操作。
|
|
28
|
-
- 使用指标卡展示数量和状态。
|
|
29
|
-
- 使用富卡片展示近期任务或报告。
|
|
30
|
-
- 首屏文字必须适配 375px 和 430px 宽度。出现难看换行前,先减小标题字号。
|
|
31
|
-
- 悬浮面板不得覆盖首屏按钮。
|
|
32
|
-
|
|
33
|
-
### 个人中心/我的
|
|
34
|
-
|
|
35
|
-
- 使用身份头部,包含头像、姓名、角色/客户、状态和至少一个视觉徽章。
|
|
36
|
-
- 未登录时不得展示旧缓存用户名;头像、姓名和状态必须同时回到未登录态。
|
|
37
|
-
- 使用两个以上高亮快捷卡或服务宫格。
|
|
38
|
-
- 设置项和业务入口要分组成面板。
|
|
39
|
-
- 主题切换可以放在这里;如果未登录也能访问个人中心,则登录前也必须可用。
|
|
40
|
-
- 设置/信息行必须使用真实图标。租户、版本、主题或账号入口不要用单字徽章当图标。
|
|
41
|
-
- 公司简介、关于我们、资质介绍等内容如果不是页面主内容,在个人中心只放一个紧凑图标 + 标题 + 简短说明的导航项,点击进入详情。不要在“我的”首页直接铺大标题、摘要和预览图,避免和身份卡、主题、快捷入口抢视觉层级。
|
|
42
|
-
- 除非产品明确是极简工具型,否则不要把个人中心渲染成纯列表。
|
|
43
|
-
|
|
44
|
-
### 主题选项
|
|
45
|
-
|
|
46
|
-
- 如果客户在已接受旧设计后要求新视觉风格,除非用户明确要求移除,否则要把旧设计保留为一个命名主题。
|
|
47
|
-
- 主题名称应描述视觉意图,例如 `清新绿红`、`品牌经典`、`专业深色`。
|
|
48
|
-
- 如果产品定义默认主题,主题运行时的默认值必须与之匹配;用户切换过后优先读取本地持久化主题,不能启动后强行覆盖用户选择。
|
|
49
|
-
- 持久化已选主题,并应用到页面根、固定底部导航、按钮、卡片、空状态、骨架屏、加载过渡、表单、报告详情和 H5 桌面手机壳。
|
|
50
|
-
- uni-app 和微信小程序不能只依赖 `document.documentElement`;小程序端要通过项目级主题服务在每个页面根绑定主题类或变量。H5 端优先把主题写到 `html/body` 的属性、class 和 CSS 变量,再让页面、`uni-page-body` 与 fixed 组件继承变量。
|
|
51
|
-
- H5 uni-app 不要用 `querySelectorAll('.mci-page')`、`MutationObserver` 或延迟扫描去修改 `.mci-page`、`uni-page-body`、`uni-page`、`RouterView` 下的 class;这些节点由 Vue/uni 管理,运行中改 class 可能导致 `Cannot assign to read only property '_'`、`Cannot read properties of null (reading 'type')`、`parentNode` 或 `scheduler flush` 错误。
|
|
52
|
-
- 固定底部导航、固定提交栏、悬浮操作条等 fixed 组件在 H5 中优先使用 `--mci-*` 变量,不要为了换主题让组件自己订阅 store 并动态切换根 class;小程序端可以绑定稳定主题 class,但要避免主题切换时改变路由根节点结构。
|
|
53
|
-
- 个人中心/设置页上的主题切换应是紧凑操作,打开底部面板或弹窗。除非页面明确是完整设置页,否则不要把所有主题选项直接渲染在个人中心首页。
|
|
54
|
-
- H5 uni-app 主题切换不能破坏路由补丁。如果切主题后导航出现 `parentNode`、`scheduler flush`、`updateSlots`、`read only property '_'` 或 `null (reading 'type')` 错误,先停止改写 Vue/uni 托管节点,保持页面 class 稳定,并改为 `html/body` 变量驱动。
|
|
55
|
-
- 切换主题后,底部导航仍必须正常路由。要拦截当前路由点击、对重复点击防抖,并在必要时短暂延迟导航。
|
|
56
|
-
- 每个命名主题都要对 `pages.json` 中每个路由截图。快捷卡片、报告卡片、报告详情、骨架屏、加载过渡、空状态、弹窗和底部导航中的文字必须保持高对比。
|
|
57
|
-
|
|
58
|
-
### 列表
|
|
59
|
-
|
|
60
|
-
- 移动端列表应使用业务卡片,而不是表格式行。
|
|
61
|
-
- 每张卡片需要标题、状态胶囊、关键元数据、时间和主操作。
|
|
62
|
-
- 数据类型不同的列表上方要增加筛选/搜索/标签。
|
|
63
|
-
- 加载时使用骨架卡片,空数据时使用有意义的空状态。
|
|
64
|
-
- 长标题和元数据要有意截断或换行,不能撑坏卡片高度。
|
|
65
|
-
|
|
66
|
-
### 详情/报告
|
|
67
|
-
|
|
68
|
-
- 从概览首屏/状态块开始。
|
|
69
|
-
- 然后展示事实信息、时间线/步骤、媒体、富报告内容和操作区。
|
|
70
|
-
- 重要状态必须无需滚动即可看到。
|
|
71
|
-
- 报告应使用 `MciRichText`、可读行高、图片最大宽度,以及分享/阅读/确认操作。
|
|
72
|
-
- 报告详情的封面、英文标识(如 `INSPECTION REPORT`)、状态胶囊、印章/水印、摘要卡和正文容器必须全部使用主题变量,不能把浅色文字固定在浅色背景上。
|
|
73
|
-
- 如果页面预期有操作,使用 `MciActionBar` 或固定安全区提交栏。
|
|
74
|
-
- 从列表到详情要保留查看者身份:员工报告卡打开员工鉴权详情数据,客户卡片打开 CustomerToken 详情数据,分享链接打开 ShareToken 详情数据。不要让已登录用户点击本来可见的卡片后被重定向到登录。
|
|
75
|
-
|
|
76
|
-
### 表单/上传
|
|
77
|
-
|
|
78
|
-
- 使用带小图标标记的分区标题。
|
|
79
|
-
-
|
|
80
|
-
- 重要选项使用彩色选项胶囊或选项卡片。
|
|
81
|
-
- 上传区域必须支持重新选择/替换、预览、关闭预览、进度、重试和失败提示。
|
|
82
|
-
- 长表单需要固定安全区提交栏。
|
|
83
|
-
|
|
84
|
-
### 底部导航
|
|
85
|
-
|
|
86
|
-
- 当原生 tabbar 限制视觉质量或造成运行时问题时,优先使用 `MciBottomNav`。
|
|
87
|
-
- 必须包含图标、文字、激活态和稳定点击区域。
|
|
88
|
-
- 创建、扫码、报修、报告等操作允许使用凸起中间按钮。
|
|
89
|
-
- 不要使用纯文字导航。
|
|
90
|
-
|
|
91
|
-
### 弹窗/底部面板/对话框
|
|
92
|
-
|
|
93
|
-
- 使用暗色遮罩、明确的面板圆角、底部面板拖拽线和紧凑操作层级。
|
|
94
|
-
- 底部面板不应在没有确认的情况下遮住不可逆操作。
|
|
95
|
-
- 确认对话框应显示清晰图标/状态和一个主操作。
|
|
96
|
-
|
|
97
|
-
### 图表/仪表盘
|
|
98
|
-
|
|
99
|
-
- 数字优先于图表。
|
|
100
|
-
- 首屏使用 2-4 个高信号指标。
|
|
101
|
-
- 使用少量配色,不要把每张图都做成彩虹。
|
|
102
|
-
- 密集仪表盘应选择清爽浅色分析风格或深色指挥中心风格,不要随意混搭。
|
|
103
|
-
|
|
104
|
-
### 消息/社交/资讯
|
|
105
|
-
|
|
106
|
-
- 消息需要头像/图标、类型、标题、摘要、时间、未读标记,以及必要操作。
|
|
107
|
-
- 社交/内容流需要稳定媒体比例、作者身份、标签和互动操作。
|
|
108
|
-
- 资讯/内容页需要分类标签、首屏或精选故事,以及可读卡片。
|
|
109
|
-
|
|
110
|
-
### 商城/活动
|
|
111
|
-
|
|
112
|
-
- 使用图片主导卡片、价格/状态锚点、促销标签和底部购买/操作区。
|
|
113
|
-
- 购物车/订单页需要可见选择状态、数量控件、合计和固定结算栏。
|
|
114
|
-
- 活动页需要活动首屏、进度/状态、奖励/操作面板和规则面板。
|
|
115
|
-
|
|
116
|
-
<!-- /microi-progressive:chunk -->
|
|
117
|
-
<!-- microi-progressive:chunk id=microi-ui-007 sha256=
|
|
118
|
-
## 网站/PC 站标准
|
|
119
|
-
|
|
120
|
-
- 构建真实产品/站点体验,不要做通用落地页外壳。
|
|
121
|
-
- 首屏必须让品牌、产品、地点或对象足够明确。
|
|
122
|
-
- 落地页首屏在合适时使用真实/生成位图或沉浸式互动场景,不要只依赖装饰渐变。
|
|
123
|
-
-
|
|
124
|
-
- SaaS/CRM/运营站点应安静、密集、易扫读、聚焦工作。
|
|
125
|
-
- 产品/场馆/作品集站点可以更视觉化,但主要对象必须可检查。
|
|
126
|
-
- 写页面局部 CSS
|
|
127
|
-
|
|
128
|
-
<!-- /microi-progressive:chunk -->
|
|
129
|
-
<!-- microi-progressive:chunk id=microi-ui-008 sha256=
|
|
130
|
-
## 后台菜单配套
|
|
131
|
-
|
|
132
|
-
创建 Microi 低代码系统时,后台菜单不应全部是一层菜单。真实系统至少使用两级:
|
|
133
|
-
|
|
134
|
-
- 客户中心:客户、联系人、绑定。
|
|
135
|
-
- 资产/设备中心:设备、资产。
|
|
136
|
-
- 运营中心:计划、订单、记录、报修。
|
|
137
|
-
- 报告中心:报告、阅读日志。
|
|
138
|
-
- 系统/配置中心:字典、设置、模板。
|
|
139
|
-
|
|
140
|
-
移动端信息架构在可行时应与这些业务域匹配。
|
|
141
|
-
|
|
142
|
-
<!-- /microi-progressive:chunk -->
|
|
143
|
-
<!-- microi-progressive:chunk id=microi-ui-009 sha256=
|
|
144
|
-
## AI 实施清单
|
|
145
|
-
|
|
146
|
-
- Microi 前端、网站、H5、uni-app、小程序、客户门户、员工端、会员中心、仪表盘、报告、活动和视觉重设计任务要自动识别本 skill。
|
|
147
|
-
- 设计界面前读取本 skill 和 `microi.skills/ui-design/SKILL.md`。
|
|
148
|
-
- 写页面前检查 logo/品牌色,并推导色板。
|
|
149
|
-
- 先选场景蓝图,再选组件,最后写 CSS。
|
|
150
|
-
- 优先使用 Microi.UI 组件或项目级 `mci-*` 封装,而不是直接套第三方视觉样式。
|
|
151
|
-
- 当可复用模式跨项目出现时,更新 `Microi.UI`。
|
|
152
|
-
- 当 Microi.UI 行为或标准变化时,更新 `microi.doc/docs/doc/system-engine/microi-ui.md`。
|
|
153
|
-
- 可行时用 `npm run check`、`npm run pack:check` 和文档构建验证。
|
|
154
|
-
- 对 UI/前端工作,只要有浏览器/H5/devtools 目标,就使用截图视觉验证。
|
|
155
|
-
- 对命名主题,在每个主题下截图验证所有 `pages.json` 路由,并在切换主题再导航后检查控制台日志。
|
|
156
|
-
- 使用真实账号登录后截图验证“我的”页姓名、角色和状态一致;不得出现缓存用户名和“未登录”同时存在。
|
|
157
|
-
- 截图必须包含底部导航和首页快捷入口,确认容器背景、选中态、未选中态、圆形图标底色和内部图标色都随主题变化且高对比。
|
|
158
|
-
- 移动端页面检查 375px 和 430px 宽度。
|
|
159
|
-
- 检查首屏标题换行、操作可见性、悬浮面板重叠、底部导航图标、空状态、表单提交栏和按钮居中。
|
|
160
|
-
- 检查未登录/未授权提示卡片是否在 header 与 tabBar/底栏之间的可用内容区上下左右居中,不能贴在顶部。
|
|
161
|
-
|
|
162
|
-
<!-- /microi-progressive:chunk -->
|
|
163
|
-
<!-- microi-progressive:chunk id=microi-ui-010 sha256=
|
|
164
|
-
## 禁止输出
|
|
165
|
-
|
|
166
|
-
- Microi.UI 文件或文档内不得出现外部 UI 库身份或复制来的类名前缀。
|
|
167
|
-
- 不得使用纯文字底部导航。
|
|
168
|
-
- 设置/个人中心/主题/信息入口不得使用单字假图标。
|
|
169
|
-
- 不得使用泛化全局 CSS 选择器。
|
|
170
|
-
- 不得出现重复 `OsClient` 请求头值。
|
|
171
|
-
- 不得让未登录/授权提示只贴在 header 下方;它必须在剩余可用区域居中。
|
|
172
|
-
- 不得调用未定义的登录接口。
|
|
173
|
-
- 不得把缺 token 或缺用户 `Id` 的返回当作登录成功,也不得留下半登录缓存。
|
|
174
|
-
- 除非明确要求,一个登录页不得同时展示重复登录系统。
|
|
175
|
-
- 不得向用户展示当前租户、API host 或移动端版本调试块。
|
|
176
|
-
- 不得做只影响单页、导航或重启后消失的主题切换。
|
|
177
|
-
- 当“切换按钮 + 面板/弹窗”更清爽时,不得在个人中心页内联堆出所有主题选项。
|
|
178
|
-
- 不得在个人中心把公司简介/关于我们做成大资讯卡,除非该页面明确是资讯流或品牌介绍页。
|
|
179
|
-
- 主题切换不得在底部导航后造成 uni-app 路由/scheduler 错误。
|
|
180
|
-
- 报告/列表详情路由不得丢失员工/客户/分享鉴权上下文,并把可见项目重定向到登录。
|
|
181
|
-
- 业务系统后台菜单不得全部规划为一级菜单。
|
|
182
|
-
- 面向客户/员工的产品页面不得只有普通列表、普通按钮且没有视觉锚点。
|
|
183
|
-
<!-- /microi-progressive:chunk -->
|
|
1
|
+
# microi-ui 详细参考 1
|
|
2
|
+
|
|
3
|
+
> 按需读取;本文件由 SKILL.md 的原章节无损拆分。
|
|
4
|
+
|
|
5
|
+
<!-- microi-progressive:chunk id=microi-ui-006 sha256=40ae240fde9553bb813fcce576d090ade894cb920da1b3f4f45975f819a10d50 -->
|
|
6
|
+
## 移动端场景蓝图
|
|
7
|
+
|
|
8
|
+
### 登录/注册
|
|
9
|
+
|
|
10
|
+
- 除非业务明确有独立登录系统,否则不要强制用户切换角色。
|
|
11
|
+
- H5/App 登录通常应是一个账号或手机号 + 密码表单,不要把账号登录块和手机号登录块并列展示。
|
|
12
|
+
- 微信小程序登录默认使用 `<button open-type="getPhoneNumber">` 手机号授权;需要员工登录时,账号/密码兜底可以作为折叠或次级选项存在。
|
|
13
|
+
- Microi 账号登录要正确使用平台登录流程,不要调用不存在的方法。
|
|
14
|
+
- Microi 账号登录成功必须同时拿到成功码、有效 token 和有效用户 `Id`。token 可能在响应头,用户信息可能在响应体 `Data`;任一缺失都要清理本地会话并展示失败,不能留下“显示用户名但仍未登录”的半登录状态。
|
|
15
|
+
- 登录状态、头像姓名、角色文本、未登录提示和页面权限必须来自统一 session store。不要让单个页面直接读取旧 storage 显示用户名称。
|
|
16
|
+
- 微信小程序客户登录要支持手机号授权和注册/绑定。
|
|
17
|
+
- 登录页/个人中心不要向终端用户展示当前租户、OsClient、API host、移动端版本或调试元数据块。
|
|
18
|
+
- 使用顶部氛围加悬浮表单面板。
|
|
19
|
+
- 输入框要清晰、紧凑并成组呈现;触控命中至少 44px,但不要求厚重边框、大圆角或额外空白。
|
|
20
|
+
- 主登录、去登录、手机号登录按钮必须图标加文字,高对比,并在合适场景下满宽。
|
|
21
|
+
- 只有真实可用时才显示社交/快捷登录入口。
|
|
22
|
+
|
|
23
|
+
### 首页/工作台
|
|
24
|
+
|
|
25
|
+
- 首屏展示下一步操作:待处理订单、到期计划、报告、报修、审批或快捷操作。
|
|
26
|
+
- 使用 `MciHeroPanel` 或 `.mci-mobile-hero`。
|
|
27
|
+
- 使用带图标的悬浮快捷操作。
|
|
28
|
+
- 使用指标卡展示数量和状态。
|
|
29
|
+
- 使用富卡片展示近期任务或报告。
|
|
30
|
+
- 首屏文字必须适配 375px 和 430px 宽度。出现难看换行前,先减小标题字号。
|
|
31
|
+
- 悬浮面板不得覆盖首屏按钮。
|
|
32
|
+
|
|
33
|
+
### 个人中心/我的
|
|
34
|
+
|
|
35
|
+
- 使用身份头部,包含头像、姓名、角色/客户、状态和至少一个视觉徽章。
|
|
36
|
+
- 未登录时不得展示旧缓存用户名;头像、姓名和状态必须同时回到未登录态。
|
|
37
|
+
- 使用两个以上高亮快捷卡或服务宫格。
|
|
38
|
+
- 设置项和业务入口要分组成面板。
|
|
39
|
+
- 主题切换可以放在这里;如果未登录也能访问个人中心,则登录前也必须可用。
|
|
40
|
+
- 设置/信息行必须使用真实图标。租户、版本、主题或账号入口不要用单字徽章当图标。
|
|
41
|
+
- 公司简介、关于我们、资质介绍等内容如果不是页面主内容,在个人中心只放一个紧凑图标 + 标题 + 简短说明的导航项,点击进入详情。不要在“我的”首页直接铺大标题、摘要和预览图,避免和身份卡、主题、快捷入口抢视觉层级。
|
|
42
|
+
- 除非产品明确是极简工具型,否则不要把个人中心渲染成纯列表。
|
|
43
|
+
|
|
44
|
+
### 主题选项
|
|
45
|
+
|
|
46
|
+
- 如果客户在已接受旧设计后要求新视觉风格,除非用户明确要求移除,否则要把旧设计保留为一个命名主题。
|
|
47
|
+
- 主题名称应描述视觉意图,例如 `清新绿红`、`品牌经典`、`专业深色`。
|
|
48
|
+
- 如果产品定义默认主题,主题运行时的默认值必须与之匹配;用户切换过后优先读取本地持久化主题,不能启动后强行覆盖用户选择。
|
|
49
|
+
- 持久化已选主题,并应用到页面根、固定底部导航、按钮、卡片、空状态、骨架屏、加载过渡、表单、报告详情和 H5 桌面手机壳。
|
|
50
|
+
- uni-app 和微信小程序不能只依赖 `document.documentElement`;小程序端要通过项目级主题服务在每个页面根绑定主题类或变量。H5 端优先把主题写到 `html/body` 的属性、class 和 CSS 变量,再让页面、`uni-page-body` 与 fixed 组件继承变量。
|
|
51
|
+
- H5 uni-app 不要用 `querySelectorAll('.mci-page')`、`MutationObserver` 或延迟扫描去修改 `.mci-page`、`uni-page-body`、`uni-page`、`RouterView` 下的 class;这些节点由 Vue/uni 管理,运行中改 class 可能导致 `Cannot assign to read only property '_'`、`Cannot read properties of null (reading 'type')`、`parentNode` 或 `scheduler flush` 错误。
|
|
52
|
+
- 固定底部导航、固定提交栏、悬浮操作条等 fixed 组件在 H5 中优先使用 `--mci-*` 变量,不要为了换主题让组件自己订阅 store 并动态切换根 class;小程序端可以绑定稳定主题 class,但要避免主题切换时改变路由根节点结构。
|
|
53
|
+
- 个人中心/设置页上的主题切换应是紧凑操作,打开底部面板或弹窗。除非页面明确是完整设置页,否则不要把所有主题选项直接渲染在个人中心首页。
|
|
54
|
+
- H5 uni-app 主题切换不能破坏路由补丁。如果切主题后导航出现 `parentNode`、`scheduler flush`、`updateSlots`、`read only property '_'` 或 `null (reading 'type')` 错误,先停止改写 Vue/uni 托管节点,保持页面 class 稳定,并改为 `html/body` 变量驱动。
|
|
55
|
+
- 切换主题后,底部导航仍必须正常路由。要拦截当前路由点击、对重复点击防抖,并在必要时短暂延迟导航。
|
|
56
|
+
- 每个命名主题都要对 `pages.json` 中每个路由截图。快捷卡片、报告卡片、报告详情、骨架屏、加载过渡、空状态、弹窗和底部导航中的文字必须保持高对比。
|
|
57
|
+
|
|
58
|
+
### 列表
|
|
59
|
+
|
|
60
|
+
- 移动端列表应使用业务卡片,而不是表格式行。
|
|
61
|
+
- 每张卡片需要标题、状态胶囊、关键元数据、时间和主操作。
|
|
62
|
+
- 数据类型不同的列表上方要增加筛选/搜索/标签。
|
|
63
|
+
- 加载时使用骨架卡片,空数据时使用有意义的空状态。
|
|
64
|
+
- 长标题和元数据要有意截断或换行,不能撑坏卡片高度。
|
|
65
|
+
|
|
66
|
+
### 详情/报告
|
|
67
|
+
|
|
68
|
+
- 从概览首屏/状态块开始。
|
|
69
|
+
- 然后展示事实信息、时间线/步骤、媒体、富报告内容和操作区。
|
|
70
|
+
- 重要状态必须无需滚动即可看到。
|
|
71
|
+
- 报告应使用 `MciRichText`、可读行高、图片最大宽度,以及分享/阅读/确认操作。
|
|
72
|
+
- 报告详情的封面、英文标识(如 `INSPECTION REPORT`)、状态胶囊、印章/水印、摘要卡和正文容器必须全部使用主题变量,不能把浅色文字固定在浅色背景上。
|
|
73
|
+
- 如果页面预期有操作,使用 `MciActionBar` 或固定安全区提交栏。
|
|
74
|
+
- 从列表到详情要保留查看者身份:员工报告卡打开员工鉴权详情数据,客户卡片打开 CustomerToken 详情数据,分享链接打开 ShareToken 详情数据。不要让已登录用户点击本来可见的卡片后被重定向到登录。
|
|
75
|
+
|
|
76
|
+
### 表单/上传
|
|
77
|
+
|
|
78
|
+
- 使用带小图标标记的分区标题。
|
|
79
|
+
- 输入区按内容和触控需求确定尺寸,字段间距通常 8–12px;不以“大而宽松”作为视觉目标。
|
|
80
|
+
- 重要选项使用彩色选项胶囊或选项卡片。
|
|
81
|
+
- 上传区域必须支持重新选择/替换、预览、关闭预览、进度、重试和失败提示。
|
|
82
|
+
- 长表单需要固定安全区提交栏。
|
|
83
|
+
|
|
84
|
+
### 底部导航
|
|
85
|
+
|
|
86
|
+
- 当原生 tabbar 限制视觉质量或造成运行时问题时,优先使用 `MciBottomNav`。
|
|
87
|
+
- 必须包含图标、文字、激活态和稳定点击区域。
|
|
88
|
+
- 创建、扫码、报修、报告等操作允许使用凸起中间按钮。
|
|
89
|
+
- 不要使用纯文字导航。
|
|
90
|
+
|
|
91
|
+
### 弹窗/底部面板/对话框
|
|
92
|
+
|
|
93
|
+
- 使用暗色遮罩、明确的面板圆角、底部面板拖拽线和紧凑操作层级。
|
|
94
|
+
- 底部面板不应在没有确认的情况下遮住不可逆操作。
|
|
95
|
+
- 确认对话框应显示清晰图标/状态和一个主操作。
|
|
96
|
+
|
|
97
|
+
### 图表/仪表盘
|
|
98
|
+
|
|
99
|
+
- 数字优先于图表。
|
|
100
|
+
- 首屏使用 2-4 个高信号指标。
|
|
101
|
+
- 使用少量配色,不要把每张图都做成彩虹。
|
|
102
|
+
- 密集仪表盘应选择清爽浅色分析风格或深色指挥中心风格,不要随意混搭。
|
|
103
|
+
|
|
104
|
+
### 消息/社交/资讯
|
|
105
|
+
|
|
106
|
+
- 消息需要头像/图标、类型、标题、摘要、时间、未读标记,以及必要操作。
|
|
107
|
+
- 社交/内容流需要稳定媒体比例、作者身份、标签和互动操作。
|
|
108
|
+
- 资讯/内容页需要分类标签、首屏或精选故事,以及可读卡片。
|
|
109
|
+
|
|
110
|
+
### 商城/活动
|
|
111
|
+
|
|
112
|
+
- 使用图片主导卡片、价格/状态锚点、促销标签和底部购买/操作区。
|
|
113
|
+
- 购物车/订单页需要可见选择状态、数量控件、合计和固定结算栏。
|
|
114
|
+
- 活动页需要活动首屏、进度/状态、奖励/操作面板和规则面板。
|
|
115
|
+
|
|
116
|
+
<!-- /microi-progressive:chunk -->
|
|
117
|
+
<!-- microi-progressive:chunk id=microi-ui-007 sha256=cd73bb934f8531154f73f5ed197c7379c5d9c4f37c60d8275272df4a05bcbe81 -->
|
|
118
|
+
## 网站/PC 站标准
|
|
119
|
+
|
|
120
|
+
- 构建真实产品/站点体验,不要做通用落地页外壳。
|
|
121
|
+
- 首屏必须让品牌、产品、地点或对象足够明确。
|
|
122
|
+
- 落地页首屏在合适时使用真实/生成位图或沉浸式互动场景,不要只依赖装饰渐变。
|
|
123
|
+
- 品牌展示的首屏文字通常直接组织在页面栅格中;数据工作台标题、指标和筛选按任务组合,不把此展示建议变成禁止后台分组。
|
|
124
|
+
- SaaS/CRM/运营站点应安静、密集、易扫读、聚焦工作。
|
|
125
|
+
- 产品/场馆/作品集站点可以更视觉化,但主要对象必须可检查。
|
|
126
|
+
- 写页面局部 CSS 前按任务选择现有组件;官网/展示可用 `MciHeroPanel`,后台优先紧凑标题、筛选与数据区。后台满宽、字体、间距与容器断点统一读取 `../ui-design/references/data-workspace-density.md`,不要把品牌页最大宽度或移动端触控尺寸直接套入鼠标工作台。
|
|
127
|
+
|
|
128
|
+
<!-- /microi-progressive:chunk -->
|
|
129
|
+
<!-- microi-progressive:chunk id=microi-ui-008 sha256=77e0a70e1131fe90354eba315727bbd2f49c5929a98c767cb3dfef71f0c55234 -->
|
|
130
|
+
## 后台菜单配套
|
|
131
|
+
|
|
132
|
+
创建 Microi 低代码系统时,后台菜单不应全部是一层菜单。真实系统至少使用两级:
|
|
133
|
+
|
|
134
|
+
- 客户中心:客户、联系人、绑定。
|
|
135
|
+
- 资产/设备中心:设备、资产。
|
|
136
|
+
- 运营中心:计划、订单、记录、报修。
|
|
137
|
+
- 报告中心:报告、阅读日志。
|
|
138
|
+
- 系统/配置中心:字典、设置、模板。
|
|
139
|
+
|
|
140
|
+
移动端信息架构在可行时应与这些业务域匹配。
|
|
141
|
+
|
|
142
|
+
<!-- /microi-progressive:chunk -->
|
|
143
|
+
<!-- microi-progressive:chunk id=microi-ui-009 sha256=2fe8adfc7c7d422a94ad667934c71113bbfced5df199a2a7ff0c14ceddb32373 -->
|
|
144
|
+
## AI 实施清单
|
|
145
|
+
|
|
146
|
+
- Microi 前端、网站、H5、uni-app、小程序、客户门户、员工端、会员中心、仪表盘、报告、活动和视觉重设计任务要自动识别本 skill。
|
|
147
|
+
- 设计界面前读取本 skill 和 `microi.skills/ui-design/SKILL.md`。
|
|
148
|
+
- 写页面前检查 logo/品牌色,并推导色板。
|
|
149
|
+
- 先选场景蓝图,再选组件,最后写 CSS。
|
|
150
|
+
- 优先使用 Microi.UI 组件或项目级 `mci-*` 封装,而不是直接套第三方视觉样式。
|
|
151
|
+
- 当可复用模式跨项目出现时,更新 `Microi.UI`。
|
|
152
|
+
- 当 Microi.UI 行为或标准变化时,更新 `microi.doc/docs/doc/system-engine/microi-ui.md`。
|
|
153
|
+
- 可行时用 `npm run check`、`npm run pack:check` 和文档构建验证。
|
|
154
|
+
- 对 UI/前端工作,只要有浏览器/H5/devtools 目标,就使用截图视觉验证。
|
|
155
|
+
- 对命名主题,在每个主题下截图验证所有 `pages.json` 路由,并在切换主题再导航后检查控制台日志。
|
|
156
|
+
- 使用真实账号登录后截图验证“我的”页姓名、角色和状态一致;不得出现缓存用户名和“未登录”同时存在。
|
|
157
|
+
- 截图必须包含底部导航和首页快捷入口,确认容器背景、选中态、未选中态、圆形图标底色和内部图标色都随主题变化且高对比。
|
|
158
|
+
- 移动端页面检查 375px 和 430px 宽度。
|
|
159
|
+
- 检查首屏标题换行、操作可见性、悬浮面板重叠、底部导航图标、空状态、表单提交栏和按钮居中。
|
|
160
|
+
- 检查未登录/未授权提示卡片是否在 header 与 tabBar/底栏之间的可用内容区上下左右居中,不能贴在顶部。
|
|
161
|
+
|
|
162
|
+
<!-- /microi-progressive:chunk -->
|
|
163
|
+
<!-- microi-progressive:chunk id=microi-ui-010 sha256=4cba6feaad134c973d51943e622199c944d12b67a860894a5415cfcd7eeb831f -->
|
|
164
|
+
## 禁止输出
|
|
165
|
+
|
|
166
|
+
- Microi.UI 文件或文档内不得出现外部 UI 库身份或复制来的类名前缀。
|
|
167
|
+
- 不得使用纯文字底部导航。
|
|
168
|
+
- 设置/个人中心/主题/信息入口不得使用单字假图标。
|
|
169
|
+
- 不得使用泛化全局 CSS 选择器。
|
|
170
|
+
- 不得出现重复 `OsClient` 请求头值。
|
|
171
|
+
- 不得让未登录/授权提示只贴在 header 下方;它必须在剩余可用区域居中。
|
|
172
|
+
- 不得调用未定义的登录接口。
|
|
173
|
+
- 不得把缺 token 或缺用户 `Id` 的返回当作登录成功,也不得留下半登录缓存。
|
|
174
|
+
- 除非明确要求,一个登录页不得同时展示重复登录系统。
|
|
175
|
+
- 不得向用户展示当前租户、API host 或移动端版本调试块。
|
|
176
|
+
- 不得做只影响单页、导航或重启后消失的主题切换。
|
|
177
|
+
- 当“切换按钮 + 面板/弹窗”更清爽时,不得在个人中心页内联堆出所有主题选项。
|
|
178
|
+
- 不得在个人中心把公司简介/关于我们做成大资讯卡,除非该页面明确是资讯流或品牌介绍页。
|
|
179
|
+
- 主题切换不得在底部导航后造成 uni-app 路由/scheduler 错误。
|
|
180
|
+
- 报告/列表详情路由不得丢失员工/客户/分享鉴权上下文,并把可见项目重定向到登录。
|
|
181
|
+
- 业务系统后台菜单不得全部规划为一级菜单。
|
|
182
|
+
- 面向客户/员工的产品页面不得只有普通列表、普通按钮且没有视觉锚点。
|
|
183
|
+
<!-- /microi-progressive:chunk -->
|
|
@@ -3,6 +3,8 @@ name: module-engine
|
|
|
3
3
|
description: Microi 模块引擎与 sys_menu 配置指南。用于创建或修改后台菜单、菜单统计角标、模块标题指标、复合列表列、移动端业务卡片、查询列、接口替换、跨端 ViewSchema、动态按钮、PageTabs、树形加表格布局和 MicroService 菜单。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
+
官方系统目录(系统帐号、角色、岗位)的批量操作通过 `BatchSelectMoreBtns` 与 `platform-directory-batch-delete` 交付;不要让 AI 用通用 SQL 删除系统表或绕过可信目录接口。角色权限界面提供基础信息、MCP配置、表直连权限三个 Tab,切换必须保留未保存草稿。新应用登记界面只把名称、唯一应用 Id、版本、应用类型、分类、公开状态、预览图和介绍放在应用信息,运行状态与兼容字段放更多信息;制作应用与更新日志保留独立 Tab。微服务打开该标准表单时须继承冻结宿主菜单上下文,仍由后端校验目标表/记录权限,不能传 `_IsAdmin` 绕过。
|
|
7
|
+
|
|
6
8
|
> **Microi吾码基础规范(强制):** 任何 AI 模型与宿主每次新建或接续吾码任务,先完整读取 `../workspace-conventions/SKILL.md`,必须执行版本播报、`@microi.net/cli` 后台自动升级、Skills/MCP 同步和进度播报。安装与诊断读取 `../microi-codex-installer/SKILL.md`;更新失败延后重试,不阻断当前工作。
|
|
7
9
|
|
|
8
10
|
# Microi 模块引擎
|
|
@@ -44,6 +46,10 @@ PC 卡片优先选择当前终端 Card 视图,没有时复用 Mobile Card;
|
|
|
44
46
|
与展开图标,不能只剩三点;卡片高度由内容与密度决定,不用大段留白代替缺失字段。
|
|
45
47
|
普通与树形列表的显式查询列均须补齐视图依赖字段,未配置/星号全列查询不能被窄化;
|
|
46
48
|
空白与空多选在展示态隐藏,`0/false` 保留,行内编辑空字段继续可录入。
|
|
49
|
+
复合列 `TrailingFields` 同样隐藏无值、空字符串及仅空白的标签;不能渲染空 tag,`0/false`
|
|
50
|
+
是有效值。普通列单元格使用 `diy_field.TableAlign=auto/left/center/right`;空/auto 自动按
|
|
51
|
+
控件语义对齐,显式复合列 `Layout.List.Columns[].Align` 独立优先。字段说明模式归属
|
|
52
|
+
`diy_table.FieldDescriptionMode`,不新增同义模块属性,详见 `../microi-form-engine/SKILL.md`。
|
|
47
53
|
验收覆盖小/标准/大密度、长文本、多个行外按钮、明暗主题与桌面/移动布局。
|
|
48
54
|
|
|
49
55
|
## 必读参考
|
|
@@ -83,7 +89,7 @@ PC 卡片优先选择当前终端 Card 视图,没有时复用 Mobile Card;
|
|
|
83
89
|
`TableChild`、28 个以上字段且含大型子表,或 7 个以上子表/富文本/代码编辑/上传/地图等
|
|
84
90
|
重型控件。达到阈值仍应先用 `diy_table.Tabs` 与 CollapseGroup 整理信息架构。
|
|
85
91
|
- 用户显式指定 `Dialog/Drawer/Page` 或宽度时以用户配置为准。Drawer 是贴边直角容器;
|
|
86
|
-
Dialog
|
|
92
|
+
Dialog 使用当前宿主统一壳、可拖动、居中弹层,圆角遵循 ui-design 的紧凑适度默认,遮罩服从正向开关 `sys_config.FormMaskBlur`,缺失或 `0/false` 默认关闭毛玻璃。
|
|
87
93
|
7. 为管理员/目标角色分配菜单权限,并以真实登录用户验收。
|
|
88
94
|
|
|
89
95
|
## AI 开发菜单先行与占位切换(强制)
|
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: page-engine
|
|
3
|
-
description: 生成和审查 Microi 界面引擎 Page Engine
|
|
3
|
+
description: 生成和审查 Microi 界面引擎 Page Engine 与内置 GoView 数据大屏 JSON。用于 mic_page 页面、mic_data_dashboard 可编辑大屏、图表、表格、画布布局与真实渲染验收。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
> **Microi吾码基础规范(强制):** 任何 AI 模型与宿主每次新建或接续吾码任务,先完整读取 `../workspace-conventions/SKILL.md`,必须执行版本播报、`@microi.net/cli` 后台自动升级、Skills/MCP 同步和进度播报。安装与诊断读取 `../microi-codex-installer/SKILL.md`;更新失败延后重试,不阻断当前工作。
|
|
7
7
|
|
|
8
8
|
# Microi 界面引擎(Page Engine)页面 JSON 生成
|
|
9
9
|
|
|
10
|
+
## 先区分 Page Engine 与内置 GoView
|
|
11
|
+
|
|
12
|
+
用户指定 GoView、数据大屏或提供科技风自由画布截图时,先读取 [GoView 原生 JSON、MCP 与完整示例](references/go-view-json.md)。吾码已将 GoView 集成在前端,不需要独立 GoView Docker、端口或后端;不能根据容器清单或菜单名称断言未安装。先调用 `microi_get_go_view_schema`、`microi_list_go_view_projects` 发现实际能力,旧 MCP 没有这些工具时核对工具版本与 `mic_data_dashboard` 实时 Schema,不得改用 `mic_page` 冒充 GoView。
|
|
13
|
+
|
|
14
|
+
两种 JSON 不可混用:Page Engine 是 `mic_page` 的 `formConfig/widgetList`;GoView 是 `mic_data_dashboard.ContentData` 的 `editCanvasConfig/componentList/requestGlobalConfig`。下文继续描述 Page Engine。
|
|
15
|
+
|
|
10
16
|
MCP 的生成/保存入口包含 `microi_build_page_design` 与 `microi_save_page_design`;版本治理入口见下文。保存工具写入后仍需回读 `mic_page`,不能把生成成功当作持久化成功。
|
|
11
17
|
|
|
12
18
|
## 完整 AI 开发默认报表(强制)
|