@microi.net/cli 4.6.2
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/LICENSE +21 -0
- package/README.md +66 -0
- package/dist/mcp-codex-stdio-adapter.js +189 -0
- package/dist/mcp-server.js +972 -0
- package/dist/mcp-trae-windows-launcher.cmd +21 -0
- package/dist/microi-cli-mcp.js +7 -0
- package/dist/microi-cli.js +1645 -0
- package/dist/microi-skills.meta.json +335 -0
- package/dist/microi.skills/.microi-skills-version.json +6 -0
- package/dist/microi.skills/README.md +276 -0
- package/dist/microi.skills/ai-engine/SKILL.md +140 -0
- package/dist/microi.skills/ai-engine/agents/openai.yaml +4 -0
- package/dist/microi.skills/app-store/SKILL.md +105 -0
- package/dist/microi.skills/app-store/agents/openai.yaml +4 -0
- package/dist/microi.skills/business-blueprint/SKILL.md +184 -0
- package/dist/microi.skills/datasource-engine/SKILL.md +89 -0
- package/dist/microi.skills/datasource-engine/agents/openai.yaml +4 -0
- package/dist/microi.skills/dos-orm/SKILL.md +76 -0
- package/dist/microi.skills/dos-orm/references/api-reference.md +229 -0
- package/dist/microi.skills/job-engine/SKILL.md +141 -0
- package/dist/microi.skills/job-engine/agents/openai.yaml +4 -0
- package/dist/microi.skills/message-notification/SKILL.md +113 -0
- package/dist/microi.skills/message-notification/agents/openai.yaml +6 -0
- package/dist/microi.skills/message-notification/references/contracts.md +99 -0
- package/dist/microi.skills/microi-ai-app-auth.js +651 -0
- package/dist/microi.skills/microi-ai-application/SKILL.md +80 -0
- package/dist/microi.skills/microi-ai-application/agents/openai.yaml +4 -0
- package/dist/microi.skills/microi-ai-application/references/frontend-baseline.md +164 -0
- package/dist/microi.skills/microi-client-frontend/SKILL.md +562 -0
- package/dist/microi.skills/microi-datasource-mapping/SKILL.md +108 -0
- package/dist/microi.skills/microi-db-schema/SKILL.md +170 -0
- package/dist/microi.skills/microi-db-schema/agents/openai.yaml +4 -0
- package/dist/microi.skills/microi-db-schema/references/core-tables.md +695 -0
- package/dist/microi.skills/microi-db-schema/references/form-component-options.md +256 -0
- package/dist/microi.skills/microi-db-schema/references/schema-overview.md +203 -0
- package/dist/microi.skills/microi-db-schema/references/schema.md +647 -0
- package/dist/microi.skills/microi-db-schema/references/table-catalog.md +1607 -0
- package/dist/microi.skills/microi-deployment/SKILL.md +117 -0
- package/dist/microi.skills/microi-deployment/references/deployment-matrix.md +94 -0
- package/dist/microi.skills/microi-docs-coverage/SKILL.md +91 -0
- package/dist/microi.skills/microi-docs-coverage/references/capability-map.md +65 -0
- package/dist/microi.skills/microi-docs-coverage/scripts/audit-doc-skill-coverage.mjs +887 -0
- package/dist/microi.skills/microi-form-engine/SKILL.md +159 -0
- package/dist/microi.skills/microi-form-engine/references/component-catalog.md +116 -0
- package/dist/microi.skills/microi-form-engine/references/data-source-events.md +117 -0
- package/dist/microi.skills/microi-form-layout/SKILL.md +373 -0
- package/dist/microi.skills/microi-frontend-sdk/SKILL.md +304 -0
- package/dist/microi.skills/microi-left-right-layout/SKILL.md +132 -0
- package/dist/microi.skills/microi-microservice/SKILL.md +115 -0
- package/dist/microi.skills/microi-microservice/references/runtime-delivery.md +145 -0
- package/dist/microi.skills/microi-mobile-app-quality/SKILL.md +436 -0
- package/dist/microi.skills/microi-solution-quotation/SKILL.md +76 -0
- package/dist/microi.skills/microi-solution-quotation/agents/openai.yaml +4 -0
- package/dist/microi.skills/microi-solution-quotation/scripts/build_solution_quote.py +296 -0
- package/dist/microi.skills/microi-system-delivery/SKILL.md +446 -0
- package/dist/microi.skills/microi-ui/SKILL.md +321 -0
- package/dist/microi.skills/microi-uniapp-frontend/SKILL.md +483 -0
- package/dist/microi.skills/microi.v8.js +1758 -0
- package/dist/microi.skills/module-engine/SKILL.md +131 -0
- package/dist/microi.skills/module-engine/references/module-config.md +174 -0
- package/dist/microi.skills/page-engine/SKILL.md +397 -0
- package/dist/microi.skills/performance-testing/SKILL.md +207 -0
- package/dist/microi.skills/playwright-e2e/SKILL.md +769 -0
- package/dist/microi.skills/print-engine/SKILL.md +237 -0
- package/dist/microi.skills/production-readonly-audit/SKILL.md +39 -0
- package/dist/microi.skills/report-engine/SKILL.md +69 -0
- package/dist/microi.skills/report-engine/agents/openai.yaml +4 -0
- package/dist/microi.skills/search-engine/SKILL.md +73 -0
- package/dist/microi.skills/search-engine/agents/openai.yaml +4 -0
- package/dist/microi.skills/spider-engine/SKILL.md +188 -0
- package/dist/microi.skills/translate-engine/SKILL.md +91 -0
- package/dist/microi.skills/translate-engine/agents/openai.yaml +4 -0
- package/dist/microi.skills/ui-design/SKILL.md +1575 -0
- package/dist/microi.skills/ui-design/assets/pattern-showcase/app.js +54 -0
- package/dist/microi.skills/ui-design/assets/pattern-showcase/index.html +163 -0
- package/dist/microi.skills/ui-design/assets/pattern-showcase/styles.css +311 -0
- package/dist/microi.skills/ui-design/assets/templates/MCI-DESIGN.md +98 -0
- package/dist/microi.skills/ui-design/references/design-pattern-library.md +171 -0
- package/dist/microi.skills/ui-design/references/mci-design-contract.md +84 -0
- package/dist/microi.skills/ui-design/references/motion-and-media.md +71 -0
- package/dist/microi.skills/ui-design/references/product-flow-recipes.md +94 -0
- package/dist/microi.skills/uniapp-mall-assets/SKILL.md +105 -0
- package/dist/microi.skills/v8-api-config/SKILL.md +272 -0
- package/dist/microi.skills/v8-cache-pattern/SKILL.md +286 -0
- package/dist/microi.skills/v8-crud-api/SKILL.md +398 -0
- package/dist/microi.skills/v8-debugging/SKILL.md +279 -0
- package/dist/microi.skills/v8-explorer-tree/SKILL.md +224 -0
- package/dist/microi.skills/v8-export-import/SKILL.md +590 -0
- package/dist/microi.skills/v8-file-upload/SKILL.md +497 -0
- package/dist/microi.skills/v8-formengine-http/SKILL.md +218 -0
- package/dist/microi.skills/v8-frontend-events/SKILL.md +349 -0
- package/dist/microi.skills/v8-frontend-events/references/bluetooth-print-api.md +107 -0
- package/dist/microi.skills/v8-frontend-events/references/bluetooth-print.md +185 -0
- package/dist/microi.skills/v8-http-integration/SKILL.md +379 -0
- package/dist/microi.skills/v8-image-processing/SKILL.md +187 -0
- package/dist/microi.skills/v8-image-processing/agents/openai.yaml +4 -0
- package/dist/microi.skills/v8-image-processing/references/api-reference.md +620 -0
- package/dist/microi.skills/v8-menu-buttons/SKILL.md +661 -0
- package/dist/microi.skills/v8-mongodb/SKILL.md +149 -0
- package/dist/microi.skills/v8-mq-mqtt/SKILL.md +227 -0
- package/dist/microi.skills/v8-saas-multi-tenant/SKILL.md +193 -0
- package/dist/microi.skills/v8-security/SKILL.md +417 -0
- package/dist/microi.skills/v8-sql-query/SKILL.md +290 -0
- package/dist/microi.skills/v8-table-event/SKILL.md +385 -0
- package/dist/microi.skills/v8-template-engine/SKILL.md +165 -0
- package/dist/microi.skills/v8-utilities/SKILL.md +79 -0
- package/dist/microi.skills/v8-utilities/references/client-api-index.md +136 -0
- package/dist/microi.skills/v8-utilities/references/platform-http-routes.md +80 -0
- package/dist/microi.skills/v8-utilities/references/server-api-index.md +129 -0
- package/dist/microi.skills/v8-workflow/SKILL.md +322 -0
- package/dist/microi.skills/workspace-conventions/SKILL.md +479 -0
- package/package.json +40 -0
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: microi-ui
|
|
3
|
+
description: 用于构建或编写 Microi.UI / MCI-UI 文档,覆盖 Vue 3 网站、响应式站点、uni-app 移动端、主题色板、形态模式、高品质移动端界面、骨架屏、安全区、动效和 Microi 品牌前端组件。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Microi.UI / MCI-UI
|
|
7
|
+
|
|
8
|
+
Microi.UI 是 Microi 产品共享前端设计系统。Vue 3 网站、响应式站点、H5 和 uni-app 移动端项目都应使用它。PC 后台页面仍可使用 Element Plus,但视觉变量、加载状态、空状态、动效和品牌色应与 `--mci-*` 变量保持一致。
|
|
9
|
+
|
|
10
|
+
当用户要求制作 Microi 移动端应用、H5、小程序、客户门户、员工端、会员中心、官网、产品站、活动页、仪表盘或报告页,且没有指定其它设计系统时,默认使用 Microi.UI。
|
|
11
|
+
|
|
12
|
+
这是自动规则。不要等用户明确说“遵循 `microi.skills/microi-ui/SKILL.md`”。只要仓库、需求、文件路径或项目上下文属于 Microi 生态,且工作涉及前端界面、网站界面、H5、uni-app、小程序、客户/员工/会员页面、报告、仪表盘或视觉打磨,就默认读取并应用本 skill。
|
|
13
|
+
|
|
14
|
+
## 核心承诺
|
|
15
|
+
|
|
16
|
+
Microi.UI 不只是组件集合,它是 AI 构建软件的视觉交付标准:
|
|
17
|
+
|
|
18
|
+
- 每个首屏都必须有明确视觉锚点。
|
|
19
|
+
- 每个页面都必须使用有品牌意识的色彩和组件层级。
|
|
20
|
+
- 每个重要操作都必须明显、美观且容易触达。
|
|
21
|
+
- 每个列表、详情、表单都应基于可复用场景模式构建,而不是复制一次性 CSS。
|
|
22
|
+
- 每个移动端页面都必须处理安全区、加载状态、按下反馈和底部操作。
|
|
23
|
+
|
|
24
|
+
## 内置设计模式
|
|
25
|
+
|
|
26
|
+
当需求只说“主流、高级、好看”时,先为页面确定一种主模式,再开始选组件和写样式:
|
|
27
|
+
|
|
28
|
+
| 主模式 | 首要目标 | 推荐组合 |
|
|
29
|
+
| --- | --- | --- |
|
|
30
|
+
| 品牌叙事 | 用单一观点和章节节奏建立记忆 | `MciPage + MciSection + MciButton` |
|
|
31
|
+
| 真实产品流程 | 让登录、创建、支付、权限、设置等任务完整可恢复 | `MciFormField + MciButton + MciDataState` |
|
|
32
|
+
| 趋势构图 | 用编辑式留白、字号和不对称栅格建立视觉张力 | `MciSection + MciCard + 项目级 mci-*` |
|
|
33
|
+
| 沉浸互动 | 用产品对象、Canvas/WebGL 或空间层次辅助理解 | `MciPage + MciHeroPanel + 静态降级资源` |
|
|
34
|
+
| 动态首屏 | 用 0—1200ms 时间线组织标题、说明和主操作 | `MciHeroPanel + MciButton + reduced-motion` |
|
|
35
|
+
| 数据工作台 | 优先异常、趋势、明细和筛选回显 | `MciMetricCard + MciFilterBar + MciDataState` |
|
|
36
|
+
|
|
37
|
+
- 一页只能有一个主模式,辅助能力最多两项;禁止把六种风格堆成拼盘。
|
|
38
|
+
- 先完成默认、加载、空、错误、禁用、权限、成功状态,再增加装饰和动效。
|
|
39
|
+
- 涉及完整产品设计时,读取 [设计模式库](../ui-design/references/design-pattern-library.md);涉及登录、订阅、支付、权限、搜索和设置时读取 [产品流程配方](../ui-design/references/product-flow-recipes.md);涉及动效、Canvas/WebGL、图片或视频时读取 [动效与媒体规范](../ui-design/references/motion-and-media.md)。
|
|
40
|
+
- 整站或长期维护项目必须在项目根目录维护 `MCI-DESIGN.md`,按 [设计契约规范](../ui-design/references/mci-design-contract.md) 描述 token、组件状态、动效、响应式和降级策略;可复制 [契约模板](../ui-design/assets/templates/MCI-DESIGN.md)。
|
|
41
|
+
- [原创模式案例](../ui-design/assets/pattern-showcase/index.html) 只用于理解结构、状态和视觉差异,业务项目应替换为自己的信息架构和合法资产。
|
|
42
|
+
|
|
43
|
+
## 源码结构
|
|
44
|
+
|
|
45
|
+
- `Microi.UI/src/theme/tokens.css`:设计变量、色板、圆角、阴影、动效、移动端场景变量。
|
|
46
|
+
- `Microi.UI/src/theme/index.css`:基础类、页面壳、移动端高品质基础能力、骨架屏、动效、底部导航、富内容卡片、面板、表单选项。
|
|
47
|
+
- `Microi.UI/src/theme/runtime.js`:`initMciDesign`、`applyMciDesign`、`getMciDesign`、`toggleMciTheme`、`setMciTheme`、`setMciPalette`、`setMciShape`、`setMciMotion`。
|
|
48
|
+
- `Microi.UI/src/web`:Vue 3 Web 组件。
|
|
49
|
+
- `Microi.UI/src/uniapp`:uni-app Vue 3 组件。
|
|
50
|
+
|
|
51
|
+
## 默认要求
|
|
52
|
+
|
|
53
|
+
- 应用启动时调用 `initMciDesign()`,或提供等效的项目级主题服务。
|
|
54
|
+
- 支持 `theme: light | dark`、`palette: black | white | red | orange | yellow | green | cyan | blue | purple`、`shape: rounded | flat`、`motion: full | reduced`。
|
|
55
|
+
- Microi.UI 页面或嵌入式界面区域使用 `.mci-page` 或 `[data-mci-ui-root]` 包裹。
|
|
56
|
+
- 使用 `MciPage` 作为页面壳。移动端客户/员工/会员页面通常应使用 `premium`。
|
|
57
|
+
- 业务页面不要硬编码颜色、阴影、圆角、渐变或安全区间距。使用 `--mci-*` 变量或 `mci-*` 类。
|
|
58
|
+
- 只允许使用 `mci-` 前缀的公开共享类。不要引入外部 UI 库名称、复制来的类名,或 `.card`、`.list`、`button {}` 这类泛化全局选择器。
|
|
59
|
+
- 如果某个界面模式出现在两个及以上页面中,要抽取成 Microi.UI 组件或项目级 `mci-*` 封装。
|
|
60
|
+
- 动态页面首次加载必须显示骨架屏,不能只有 spinner,也不能过早显示空状态。
|
|
61
|
+
- 醒目按钮必须使用图标加文字,flex 居中,固定高度,具备加载态和按下反馈。
|
|
62
|
+
- `open-type="getPhoneNumber"` 这类小程序原生按钮必须样式化为 Microi 主按钮,并移除默认边框。
|
|
63
|
+
- API 请求头必须把 `OsClient` 作为单一运行期值传递,例如 `demo`,不得出现 `demo, demo` 这类重复值。
|
|
64
|
+
- `MciPage` 必须统一注入运行时安全区变量。微信小程序不能只使用 CSS `env()`;自定义导航页还必须读取胶囊矩形并为 `.mci-topbar` 预留右侧空间。
|
|
65
|
+
- 页面安全区验收以 `pages.json` 全路由为清单,至少覆盖 iPhone、Android 和微信开发者工具;首页、详情、表单、底部弹层及 fixed 操作栏必须全部通过。
|
|
66
|
+
|
|
67
|
+
## 组件选择
|
|
68
|
+
|
|
69
|
+
- `MciPage`:页面壳、安全区、动效、高品质移动端背景。
|
|
70
|
+
- `MciHeroPanel`:带品牌感的首屏/状态面板。
|
|
71
|
+
- `MciBottomNav`:自定义底部导航,支持图标、角标、激活态和可选凸起中间项。
|
|
72
|
+
- `MciButton`:主按钮、朴素按钮、金色按钮、冷色按钮、幽灵按钮。
|
|
73
|
+
- `MciCard`:通用内容容器。
|
|
74
|
+
- `MciCell`:设置、菜单、列表行。
|
|
75
|
+
- `MciSection`:主要分区。
|
|
76
|
+
- `MciTabs`:分段导航和内容切换。
|
|
77
|
+
- `MciMetricCard` / `MciAssetCard`:数字、资产、汇总。
|
|
78
|
+
- `MciOrderCard`:订单、工单、任务、维修申请。
|
|
79
|
+
- `MciActionBar`:安全区底部操作。
|
|
80
|
+
- `MciAvatar`:会员、客户、员工身份。
|
|
81
|
+
- `MciProductCard`:商品/内容网格。
|
|
82
|
+
- `MciFormField`:表单和数据录入。
|
|
83
|
+
- `MciFilterBar`:列表搜索/筛选区域。
|
|
84
|
+
- `MciModal`:弹窗和确认。
|
|
85
|
+
- `MciUploader`:图片/文件上传。
|
|
86
|
+
- `MciTimeline`:服务记录、维修进度、审批记录。
|
|
87
|
+
- `MciSteps`:流程和状态阶段。
|
|
88
|
+
- `MciSkeleton`:加载占位。
|
|
89
|
+
- `MciDataState`:空、错、成功状态。
|
|
90
|
+
- `MciRichText`:报告、文章、说明。
|
|
91
|
+
|
|
92
|
+
## 高品质移动端视觉标准
|
|
93
|
+
|
|
94
|
+
移动端应用必须像经过打磨的产品,而不是把后台表单硬塞进手机视口。
|
|
95
|
+
|
|
96
|
+
写页面局部 CSS 前,优先使用这些基础能力:
|
|
97
|
+
|
|
98
|
+
- `.mci-page--mobile-premium`
|
|
99
|
+
- `.mci-mobile-hero`
|
|
100
|
+
- `.mci-mobile-panel`
|
|
101
|
+
- `.mci-mobile-bubble-grid`
|
|
102
|
+
- `.mci-mobile-stat-grid`
|
|
103
|
+
- `.mci-mobile-titlebar`
|
|
104
|
+
- `.mci-mobile-chip-row`
|
|
105
|
+
- `.mci-mobile-bottom-nav`
|
|
106
|
+
- `.mci-mobile-rich-card`
|
|
107
|
+
- `.mci-mobile-meta-grid`
|
|
108
|
+
- `.mci-mobile-option-grid`
|
|
109
|
+
- `.mci-mobile-photo-grid`
|
|
110
|
+
- `.mci-mobile-sheet`
|
|
111
|
+
- `.mci-mobile-chart-card`
|
|
112
|
+
- `.mci-mobile-kpi-strip`
|
|
113
|
+
- `.mci-mobile-empty-result`
|
|
114
|
+
|
|
115
|
+
### 首屏规则
|
|
116
|
+
|
|
117
|
+
首屏必须展示以下任一视觉锚点:
|
|
118
|
+
|
|
119
|
+
- 带品牌感的首屏面板和 CTA
|
|
120
|
+
- 身份/会员头部
|
|
121
|
+
- 工作台状态卡
|
|
122
|
+
- 报告/状态总览
|
|
123
|
+
- 搜索加分类面板
|
|
124
|
+
- 图片主导的内容首屏
|
|
125
|
+
- KPI 仪表盘摘要
|
|
126
|
+
|
|
127
|
+
移动端页面不要只用平铺标题和普通列表开头。
|
|
128
|
+
|
|
129
|
+
### 层次规则
|
|
130
|
+
|
|
131
|
+
高品质移动端页面通常由以下层次组成:
|
|
132
|
+
|
|
133
|
+
1. 氛围背景或首屏
|
|
134
|
+
2. 悬浮快捷操作或统计面板
|
|
135
|
+
3. 带操作的标题栏
|
|
136
|
+
4. 富业务卡片
|
|
137
|
+
5. 底部导航或固定操作栏
|
|
138
|
+
|
|
139
|
+
避免单调堆叠相同白卡。
|
|
140
|
+
|
|
141
|
+
### 图标规则
|
|
142
|
+
|
|
143
|
+
底部导航、首页快捷操作、个人中心快捷项、九宫格操作、悬浮操作、空状态操作、设置/信息行、主题选项和主按钮必须使用可识别图标。`租`、`版`、`客`、`我` 这类单个汉字是占位,不是图标。
|
|
144
|
+
|
|
145
|
+
彩色圆形、胶囊或浮动快捷入口必须把“圆底色”和“图标色”作为一组主题 token 处理。红、绿、蓝、灰等深色底必须使用白色或高对比浅色图标;黄色、白色、浅灰底必须使用深色图标。主题覆盖不能只改背景不改 `color`,尤其要覆盖 `.mci-bubble:nth-child(n)`、`.entry:nth-child(n)` 这类更高优先级规则。
|
|
146
|
+
|
|
147
|
+
主题图标色覆盖必须有足够 CSS 优先级,并检查构建产物。若压缩器把同值 `color` 合并/移除,导致旧主题色胜出,可以对图标对比度兜底规则使用 `!important`,但不要把它扩散到普通布局样式。
|
|
148
|
+
|
|
149
|
+
### 动效规则
|
|
150
|
+
|
|
151
|
+
使用克制动效:页面入场、卡片错落出现、点击反馈、骨架屏流光、可选首屏闲置动效/高光。动效不能导致布局位移、文字裁切或操作干扰。尊重 `motion: reduced`。
|
|
152
|
+
|
|
153
|
+
## 移动端场景蓝图
|
|
154
|
+
|
|
155
|
+
### 登录/注册
|
|
156
|
+
|
|
157
|
+
- 除非业务明确有独立登录系统,否则不要强制用户切换角色。
|
|
158
|
+
- H5/App 登录通常应是一个账号或手机号 + 密码表单,不要把账号登录块和手机号登录块并列展示。
|
|
159
|
+
- 微信小程序登录默认使用 `<button open-type="getPhoneNumber">` 手机号授权;需要员工登录时,账号/密码兜底可以作为折叠或次级选项存在。
|
|
160
|
+
- Microi 账号登录要正确使用平台登录流程,不要调用不存在的方法。
|
|
161
|
+
- Microi 账号登录成功必须同时拿到成功码、有效 token 和有效用户 `Id`。token 可能在响应头,用户信息可能在响应体 `Data`;任一缺失都要清理本地会话并展示失败,不能留下“显示用户名但仍未登录”的半登录状态。
|
|
162
|
+
- 登录状态、头像姓名、角色文本、未登录提示和页面权限必须来自统一 session store。不要让单个页面直接读取旧 storage 显示用户名称。
|
|
163
|
+
- 微信小程序客户登录要支持手机号授权和注册/绑定。
|
|
164
|
+
- 登录页/个人中心不要向终端用户展示当前租户、OsClient、API host、移动端版本或调试元数据块。
|
|
165
|
+
- 使用顶部氛围加悬浮表单面板。
|
|
166
|
+
- 输入框要厚实、圆润、清晰,并成组呈现。
|
|
167
|
+
- 主登录、去登录、手机号登录按钮必须图标加文字,高对比,并在合适场景下满宽。
|
|
168
|
+
- 只有真实可用时才显示社交/快捷登录入口。
|
|
169
|
+
|
|
170
|
+
### 首页/工作台
|
|
171
|
+
|
|
172
|
+
- 首屏展示下一步操作:待处理订单、到期计划、报告、报修、审批或快捷操作。
|
|
173
|
+
- 使用 `MciHeroPanel` 或 `.mci-mobile-hero`。
|
|
174
|
+
- 使用带图标的悬浮快捷操作。
|
|
175
|
+
- 使用指标卡展示数量和状态。
|
|
176
|
+
- 使用富卡片展示近期任务或报告。
|
|
177
|
+
- 首屏文字必须适配 375px 和 430px 宽度。出现难看换行前,先减小标题字号。
|
|
178
|
+
- 悬浮面板不得覆盖首屏按钮。
|
|
179
|
+
|
|
180
|
+
### 个人中心/我的
|
|
181
|
+
|
|
182
|
+
- 使用身份头部,包含头像、姓名、角色/客户、状态和至少一个视觉徽章。
|
|
183
|
+
- 未登录时不得展示旧缓存用户名;头像、姓名和状态必须同时回到未登录态。
|
|
184
|
+
- 使用两个以上高亮快捷卡或服务宫格。
|
|
185
|
+
- 设置项和业务入口要分组成面板。
|
|
186
|
+
- 主题切换可以放在这里;如果未登录也能访问个人中心,则登录前也必须可用。
|
|
187
|
+
- 设置/信息行必须使用真实图标。租户、版本、主题或账号入口不要用单字徽章当图标。
|
|
188
|
+
- 公司简介、关于我们、资质介绍等内容如果不是页面主内容,在个人中心只放一个紧凑图标 + 标题 + 简短说明的导航项,点击进入详情。不要在“我的”首页直接铺大标题、摘要和预览图,避免和身份卡、主题、快捷入口抢视觉层级。
|
|
189
|
+
- 除非产品明确是极简工具型,否则不要把个人中心渲染成纯列表。
|
|
190
|
+
|
|
191
|
+
### 主题选项
|
|
192
|
+
|
|
193
|
+
- 如果客户在已接受旧设计后要求新视觉风格,除非用户明确要求移除,否则要把旧设计保留为一个命名主题。
|
|
194
|
+
- 主题名称应描述视觉意图,例如 `清新绿红`、`品牌经典`、`专业深色`。
|
|
195
|
+
- 如果产品定义默认主题,主题运行时的默认值必须与之匹配;用户切换过后优先读取本地持久化主题,不能启动后强行覆盖用户选择。
|
|
196
|
+
- 持久化已选主题,并应用到页面根、固定底部导航、按钮、卡片、空状态、骨架屏、加载过渡、表单、报告详情和 H5 桌面手机壳。
|
|
197
|
+
- uni-app 和微信小程序不能只依赖 `document.documentElement`;小程序端要通过项目级主题服务在每个页面根绑定主题类或变量。H5 端优先把主题写到 `html/body` 的属性、class 和 CSS 变量,再让页面、`uni-page-body` 与 fixed 组件继承变量。
|
|
198
|
+
- 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` 错误。
|
|
199
|
+
- 固定底部导航、固定提交栏、悬浮操作条等 fixed 组件在 H5 中优先使用 `--mci-*` 变量,不要为了换主题让组件自己订阅 store 并动态切换根 class;小程序端可以绑定稳定主题 class,但要避免主题切换时改变路由根节点结构。
|
|
200
|
+
- 个人中心/设置页上的主题切换应是紧凑操作,打开底部面板或弹窗。除非页面明确是完整设置页,否则不要把所有主题选项直接渲染在个人中心首页。
|
|
201
|
+
- H5 uni-app 主题切换不能破坏路由补丁。如果切主题后导航出现 `parentNode`、`scheduler flush`、`updateSlots`、`read only property '_'` 或 `null (reading 'type')` 错误,先停止改写 Vue/uni 托管节点,保持页面 class 稳定,并改为 `html/body` 变量驱动。
|
|
202
|
+
- 切换主题后,底部导航仍必须正常路由。要拦截当前路由点击、对重复点击防抖,并在必要时短暂延迟导航。
|
|
203
|
+
- 每个命名主题都要对 `pages.json` 中每个路由截图。快捷卡片、报告卡片、报告详情、骨架屏、加载过渡、空状态、弹窗和底部导航中的文字必须保持高对比。
|
|
204
|
+
|
|
205
|
+
### 列表
|
|
206
|
+
|
|
207
|
+
- 移动端列表应使用业务卡片,而不是表格式行。
|
|
208
|
+
- 每张卡片需要标题、状态胶囊、关键元数据、时间和主操作。
|
|
209
|
+
- 数据类型不同的列表上方要增加筛选/搜索/标签。
|
|
210
|
+
- 加载时使用骨架卡片,空数据时使用有意义的空状态。
|
|
211
|
+
- 长标题和元数据要有意截断或换行,不能撑坏卡片高度。
|
|
212
|
+
|
|
213
|
+
### 详情/报告
|
|
214
|
+
|
|
215
|
+
- 从概览首屏/状态块开始。
|
|
216
|
+
- 然后展示事实信息、时间线/步骤、媒体、富报告内容和操作区。
|
|
217
|
+
- 重要状态必须无需滚动即可看到。
|
|
218
|
+
- 报告应使用 `MciRichText`、可读行高、图片最大宽度,以及分享/阅读/确认操作。
|
|
219
|
+
- 报告详情的封面、英文标识(如 `INSPECTION REPORT`)、状态胶囊、印章/水印、摘要卡和正文容器必须全部使用主题变量,不能把浅色文字固定在浅色背景上。
|
|
220
|
+
- 如果页面预期有操作,使用 `MciActionBar` 或固定安全区提交栏。
|
|
221
|
+
- 从列表到详情要保留查看者身份:员工报告卡打开员工鉴权详情数据,客户卡片打开 CustomerToken 详情数据,分享链接打开 ShareToken 详情数据。不要让已登录用户点击本来可见的卡片后被重定向到登录。
|
|
222
|
+
|
|
223
|
+
### 表单/上传
|
|
224
|
+
|
|
225
|
+
- 使用带小图标标记的分区标题。
|
|
226
|
+
- 使用大而清爽的输入区域和足够垂直间距。
|
|
227
|
+
- 重要选项使用彩色选项胶囊或选项卡片。
|
|
228
|
+
- 上传区域必须支持重新选择/替换、预览、关闭预览、进度、重试和失败提示。
|
|
229
|
+
- 长表单需要固定安全区提交栏。
|
|
230
|
+
|
|
231
|
+
### 底部导航
|
|
232
|
+
|
|
233
|
+
- 当原生 tabbar 限制视觉质量或造成运行时问题时,优先使用 `MciBottomNav`。
|
|
234
|
+
- 必须包含图标、文字、激活态和稳定点击区域。
|
|
235
|
+
- 创建、扫码、报修、报告等操作允许使用凸起中间按钮。
|
|
236
|
+
- 不要使用纯文字导航。
|
|
237
|
+
|
|
238
|
+
### 弹窗/底部面板/对话框
|
|
239
|
+
|
|
240
|
+
- 使用暗色遮罩、明确的面板圆角、底部面板拖拽线和紧凑操作层级。
|
|
241
|
+
- 底部面板不应在没有确认的情况下遮住不可逆操作。
|
|
242
|
+
- 确认对话框应显示清晰图标/状态和一个主操作。
|
|
243
|
+
|
|
244
|
+
### 图表/仪表盘
|
|
245
|
+
|
|
246
|
+
- 数字优先于图表。
|
|
247
|
+
- 首屏使用 2-4 个高信号指标。
|
|
248
|
+
- 使用少量配色,不要把每张图都做成彩虹。
|
|
249
|
+
- 密集仪表盘应选择清爽浅色分析风格或深色指挥中心风格,不要随意混搭。
|
|
250
|
+
|
|
251
|
+
### 消息/社交/资讯
|
|
252
|
+
|
|
253
|
+
- 消息需要头像/图标、类型、标题、摘要、时间、未读标记,以及必要操作。
|
|
254
|
+
- 社交/内容流需要稳定媒体比例、作者身份、标签和互动操作。
|
|
255
|
+
- 资讯/内容页需要分类标签、首屏或精选故事,以及可读卡片。
|
|
256
|
+
|
|
257
|
+
### 商城/活动
|
|
258
|
+
|
|
259
|
+
- 使用图片主导卡片、价格/状态锚点、促销标签和底部购买/操作区。
|
|
260
|
+
- 购物车/订单页需要可见选择状态、数量控件、合计和固定结算栏。
|
|
261
|
+
- 活动页需要活动首屏、进度/状态、奖励/操作面板和规则面板。
|
|
262
|
+
|
|
263
|
+
## 网站/PC 站标准
|
|
264
|
+
|
|
265
|
+
- 构建真实产品/站点体验,不要做通用落地页外壳。
|
|
266
|
+
- 首屏必须让品牌、产品、地点或对象足够明确。
|
|
267
|
+
- 落地页首屏在合适时使用真实/生成位图或沉浸式互动场景,不要只依赖装饰渐变。
|
|
268
|
+
- 首屏文字不要放在卡片里。
|
|
269
|
+
- SaaS/CRM/运营站点应安静、密集、易扫读、聚焦工作。
|
|
270
|
+
- 产品/场馆/作品集站点可以更视觉化,但主要对象必须可检查。
|
|
271
|
+
- 写页面局部 CSS 前优先使用 `MciHeroPanel`、`MciSection`、`MciCard`、`MciMetricCard` 和 `MciButton`。
|
|
272
|
+
|
|
273
|
+
## 后台菜单配套
|
|
274
|
+
|
|
275
|
+
创建 Microi 低代码系统时,后台菜单不应全部是一层菜单。真实系统至少使用两级:
|
|
276
|
+
|
|
277
|
+
- 客户中心:客户、联系人、绑定。
|
|
278
|
+
- 资产/设备中心:设备、资产。
|
|
279
|
+
- 运营中心:计划、订单、记录、报修。
|
|
280
|
+
- 报告中心:报告、阅读日志。
|
|
281
|
+
- 系统/配置中心:字典、设置、模板。
|
|
282
|
+
|
|
283
|
+
移动端信息架构在可行时应与这些业务域匹配。
|
|
284
|
+
|
|
285
|
+
## AI 实施清单
|
|
286
|
+
|
|
287
|
+
- Microi 前端、网站、H5、uni-app、小程序、客户门户、员工端、会员中心、仪表盘、报告、活动和视觉重设计任务要自动识别本 skill。
|
|
288
|
+
- 设计界面前读取本 skill 和 `microi.skills/ui-design/SKILL.md`。
|
|
289
|
+
- 写页面前检查 logo/品牌色,并推导色板。
|
|
290
|
+
- 先选场景蓝图,再选组件,最后写 CSS。
|
|
291
|
+
- 优先使用 Microi.UI 组件或项目级 `mci-*` 封装,而不是直接套第三方视觉样式。
|
|
292
|
+
- 当可复用模式跨项目出现时,更新 `Microi.UI`。
|
|
293
|
+
- 当 Microi.UI 行为或标准变化时,更新 `microi.doc/docs/doc/system-engine/microi-ui.md`。
|
|
294
|
+
- 可行时用 `npm run check`、`npm run pack:check` 和文档构建验证。
|
|
295
|
+
- 对 UI/前端工作,只要有浏览器/H5/devtools 目标,就使用截图视觉验证。
|
|
296
|
+
- 对命名主题,在每个主题下截图验证所有 `pages.json` 路由,并在切换主题再导航后检查控制台日志。
|
|
297
|
+
- 使用真实账号登录后截图验证“我的”页姓名、角色和状态一致;不得出现缓存用户名和“未登录”同时存在。
|
|
298
|
+
- 截图必须包含底部导航和首页快捷入口,确认容器背景、选中态、未选中态、圆形图标底色和内部图标色都随主题变化且高对比。
|
|
299
|
+
- 移动端页面检查 375px 和 430px 宽度。
|
|
300
|
+
- 检查首屏标题换行、操作可见性、悬浮面板重叠、底部导航图标、空状态、表单提交栏和按钮居中。
|
|
301
|
+
- 检查未登录/未授权提示卡片是否在 header 与 tabBar/底栏之间的可用内容区上下左右居中,不能贴在顶部。
|
|
302
|
+
|
|
303
|
+
## 禁止输出
|
|
304
|
+
|
|
305
|
+
- Microi.UI 文件或文档内不得出现外部 UI 库身份或复制来的类名前缀。
|
|
306
|
+
- 不得使用纯文字底部导航。
|
|
307
|
+
- 设置/个人中心/主题/信息入口不得使用单字假图标。
|
|
308
|
+
- 不得使用泛化全局 CSS 选择器。
|
|
309
|
+
- 不得出现重复 `OsClient` 请求头值。
|
|
310
|
+
- 不得让未登录/授权提示只贴在 header 下方;它必须在剩余可用区域居中。
|
|
311
|
+
- 不得调用未定义的登录接口。
|
|
312
|
+
- 不得把缺 token 或缺用户 `Id` 的返回当作登录成功,也不得留下半登录缓存。
|
|
313
|
+
- 除非明确要求,一个登录页不得同时展示重复登录系统。
|
|
314
|
+
- 不得向用户展示当前租户、API host 或移动端版本调试块。
|
|
315
|
+
- 不得做只影响单页、导航或重启后消失的主题切换。
|
|
316
|
+
- 当“切换按钮 + 面板/弹窗”更清爽时,不得在个人中心页内联堆出所有主题选项。
|
|
317
|
+
- 不得在个人中心把公司简介/关于我们做成大资讯卡,除非该页面明确是资讯流或品牌介绍页。
|
|
318
|
+
- 主题切换不得在底部导航后造成 uni-app 路由/scheduler 错误。
|
|
319
|
+
- 报告/列表详情路由不得丢失员工/客户/分享鉴权上下文,并把可见项目重定向到登录。
|
|
320
|
+
- 业务系统后台菜单不得全部规划为一级菜单。
|
|
321
|
+
- 面向客户/员工的产品页面不得只有普通列表、普通按钮且没有视觉锚点。
|