openyida 2026.9.11 → 2026.9.13
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/README.md +7 -5
- package/bin/yida.js +1 -0
- package/lib/ai/ai.js +2 -0
- package/lib/app/canvas-compile.js +29 -26
- package/lib/app/compile.js +39 -1
- package/lib/app/services/canvas-page-compiler.js +3 -3
- package/lib/app/update-app.js +17 -2
- package/lib/asset/ai-image.js +37 -65
- package/lib/asset/asset-cmd.js +151 -110
- package/lib/asset/asset-plan.js +105 -0
- package/lib/asset/asset-resolve.js +343 -225
- package/lib/asset/asset-status.js +20 -31
- package/lib/asset/attachment-upload.js +29 -0
- package/lib/asset/host-capabilities.js +91 -0
- package/lib/asset/image-metadata.js +104 -0
- package/lib/asset/url-verify.js +90 -130
- package/lib/core/agent-capabilities.js +11 -0
- package/lib/core/command-manifest.js +25 -11
- package/lib/core/locales/en.js +6 -2
- package/lib/core/locales/zh.js +6 -2
- package/lib/design-plan/materialize.js +7 -9
- package/lib/design-plan/normalize.js +11 -1
- package/lib/process/services/process-actions.js +145 -0
- package/lib/process/services/process-compiler.js +4 -30
- package/lib/process/services/process-view-verifier.js +31 -0
- package/package.json +1 -1
- package/scripts/postinstall.js +1 -1
- package/yida-skills/SKILL.md +3 -2
- package/yida-skills/skills/yida-app/SKILL.md +1 -1
- package/yida-skills/skills/yida-app/workflow/step-2-design.md +11 -1
- package/yida-skills/skills/yida-app/workflow/step-3-create-or-reuse-app.md +21 -1
- package/yida-skills/skills/yida-app/workflow/step-5-seed-records.md +11 -7
- package/yida-skills/skills/yida-app/workflow/step-7-page-code.md +4 -0
- package/yida-skills/skills/yida-canvas-custom-page/SKILL.md +5 -3
- package/yida-skills/skills/yida-canvas-custom-page/references/component-library-guide.md +1 -1
- package/yida-skills/skills/yida-canvas-custom-page/references/page-generation-guide.md +3 -27
- package/yida-skills/skills/yida-canvas-table-form/SKILL.md +1 -1
- package/yida-skills/skills/yida-create-app/SKILL.md +4 -4
- package/yida-skills/skills/yida-create-process/SKILL.md +2 -0
- package/yida-skills/skills/yida-custom-page/references/assets-guide.md +9 -12
- package/yida-skills/skills/yida-design/SKILL.md +1 -0
- package/yida-skills/skills/yida-design/references/ask-human-interaction-contract.md +4 -4
- package/yida-skills/skills/yida-design/references/asset-workflow.md +14 -53
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/build-plan-compact-schema.md +1 -1
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/build-plan-schema.md +21 -4
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/scripts/render_build_plan.py +1 -2
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/scripts/validate_design_themes.py +1 -1
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/README.md +1 -1
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/airy-media-grid.md +1 -1
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/airy-modular-clarity.md +1 -1
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/airy-structured-clarity.md +1 -1
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/ambient-halo-layered.md +1 -1
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/dark-focus-layered.md +1 -1
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/dark-luminous-modular.md +1 -1
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/deep-stage-duotone.md +1 -1
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/hairline-runway-clarity.md +1 -1
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/high-contrast-modular.md +1 -1
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/interlocked-vivid-modules.md +1 -1
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/matrix-grid-focus.md +1 -1
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/media-rail-inspector.md +1 -1
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/mist-layered-signal.md +1 -1
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/modular-rail-signal.md +1 -1
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/mono-grid-signal.md +2 -2
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/ribbon-ledger-lift.md +1 -1
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/segmented-meter-clarity.md +1 -1
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/split-rail-precision.md +1 -1
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/status-framed-media-grid.md +1 -1
- package/yida-skills/skills/yida-design/workflow/output-design.md +4 -0
- package/yida-skills/skills/yida-design/workflow/step-4-wireframe-interaction.md +1 -1
- package/yida-skills/skills/yida-design/workflow/step-5-visual-states.md +2 -1
- package/yida-skills/skills/yida-image-assets/SKILL.md +91 -0
- package/yida-skills/skills/yida-image-assets/references/manifest-contract.md +87 -0
- package/yida-skills/skills/yida-image-assets/references/source-policy.md +19 -0
- package/yida-skills/skills/yida-nav-shell/references/nav-shell-patterns.md +1 -1
- package/yida-skills/skills/yida-prd/workflow/output-prd.md +2 -2
- package/yida-skills/skills/yida-process-rule/SKILL.md +6 -1
- package/yida-skills/skills/yida-process-rule/references/approval-actions.md +48 -0
- package/yida-skills/skills/yida-publish-page/SKILL.md +5 -4
- package/yida-skills/skills/yida-rechart/SKILL.md +1 -1
- package/yida-skills/skills/yida-requirement-analysis/SKILL.md +1 -1
- package/yida-skills/skills/yida-requirement-analysis/workflow/prepare-brief.md +22 -13
- package/yida-skills/skills-index.json +18 -1
|
@@ -40,7 +40,27 @@
|
|
|
40
40
|
|
|
41
41
|
## 应用导航配置
|
|
42
42
|
|
|
43
|
-
按 PRD 的 [导航类型](../../yida-prd/workflow/output-prd.md
|
|
43
|
+
按 PRD 的 [导航类型](../../yida-prd/workflow/output-prd.md#agent-导航实施映射) 设置布局。已有应用切换平台导航时执行 `openyida update-app <appType> --layout <l_shape|top|side> --show-app-nav`;自定义导航执行 `openyida update-app <appType> --hide-app-nav`,并将逐页隐藏清单交给 Step 4 与 Step 6,在各页面创建后立即配置,Step 8 只做发布后核对。新建应用也在主题文件生成后的同一次 `update-app --theme-file` 中传入布局和 `--hide-app-nav` / `--show-app-nav`,不要提前单独更新导航或在创建时传入布局。用户已确认的应用导航隐藏随这次设置更新一起生效,不等待自定义页面创建、代码开发或发布。
|
|
44
|
+
|
|
45
|
+
### 平台导航参数
|
|
46
|
+
|
|
47
|
+
与 `yida-next` 的 ThemeNavSetting 一致:`updateApp.json` 接收的字段名是 **`layoutDirection`**。CLI 使用 `--layout` 传入,按下表逐项对应:
|
|
48
|
+
|
|
49
|
+
| PRD 导航方案 | CLI 参数 | 请求中的 `layoutDirection` | 请求中的 `hideAppNav` |
|
|
50
|
+
| --- | --- | --- | --- |
|
|
51
|
+
| 平台顶部导航 | `--layout top --show-app-nav` | `top` | `n` |
|
|
52
|
+
| 平台侧边导航 | `--layout side --show-app-nav` | `side` | `n` |
|
|
53
|
+
| 平台 L 型导航 | `--layout l_shape --show-app-nav` | `l_shape` | `n` |
|
|
54
|
+
|
|
55
|
+
例如,仅将已有应用切换为平台顶部导航:`openyida update-app <appType> --layout top --show-app-nav`。联合更新主题时,将这两个参数合并到同一次 `update-app --theme-file` 调用。
|
|
56
|
+
|
|
57
|
+
Agent 必须显式传入场景选择对应的布局,不依赖 CLI 默认值。`navigationType=platform-top` 是计划内部标识,不能作为 `--layout` 的值;也不能用旧 Shell 的 `navType`、`hoz/ver/slide` 或 `top_fold/top_side/side_only` 代替上述参数。`navTheme` 只控制导航配色,不控制布局。自定义导航的 `variant=top/side/mixed/dock` 描述页面内菜单,不用于设置平台布局;自定义导航仍使用 `--hide-app-nav`。
|
|
58
|
+
|
|
59
|
+
`navType` 仍是兼容字段:与 `yida-next` 一致,CLI 查询应用后将已有值原样带回;缺失时不补造,也不根据新布局改写。没有新增 `--nav-type` 参数。未传 `--layout` 时,CLI 按 `yc-utils` 的应用配置规则保留原布局:现代 `side/top/l_shape` 优先;旧 `hoz + top_side` 为 L 型,其他 `hoz` 为顶部,`ver` 为侧边;布局缺失时用 `navType=top_fold/top_side` 分别恢复顶部/L 型,其余回退侧边。
|
|
60
|
+
|
|
61
|
+
Shell 渲染阶段才把顶部、侧边、L 型转换为 `top_fold`、`side_only`、`top_side`。详情/提交页的 `top_fold` 强制顶部、`none` 保持无导航属于页面运行态规则,不能反向写入应用配置。
|
|
62
|
+
|
|
63
|
+
保存后核对应用详情中的 `layoutDirection` 与 `hideAppNav` 是否等于目标值,可通过应用设置页或 `/<appType>/query/app/getAppIncludingAecpInfo.json` 回读。CLI 输出的 `updatedFields` 是提交值,`themeVerification` 只验证主题资源,两者都不能单独证明导航配置已生效。发布后再刷新应用,检查实际布局;未完成回读时明确标记未验证。
|
|
44
64
|
|
|
45
65
|
## 产出
|
|
46
66
|
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
# Step 5:写入初始表单数据
|
|
2
2
|
|
|
3
|
-
完整应用默认给本轮新建或页面数据源依赖的核心普通表单写入 1-3 条业务化 seed records
|
|
3
|
+
完整应用默认给本轮新建或页面数据源依赖的核心普通表单写入 1-3 条业务化 seed records。流程表单仅在已确认真实 `processCode` 后按独立命令写入。
|
|
4
4
|
|
|
5
5
|
## 输入
|
|
6
6
|
|
|
7
7
|
- 真实 `appType`;
|
|
8
|
-
-
|
|
8
|
+
- 核心表单 `formUuid`、真实表单类型;
|
|
9
|
+
- 流程表单已确认的真实 `processCode`;
|
|
9
10
|
- `.cache/<项目名>-schema.json` 或字段 schema;
|
|
10
11
|
- PRD 中的业务对象和示例数据语义。
|
|
11
12
|
|
|
@@ -14,27 +15,30 @@
|
|
|
14
15
|
1. 执行 `use_skill("yida-data-management", "为核心业务表单写入 1-3 条示例记录")`。
|
|
15
16
|
2. 先执行 `openyida get-schema <appType> <formUuid> --field-map-json` 获取真实字段 ID。
|
|
16
17
|
3. 生成当前业务语义的字段值,不写“测试1 / demo / mock”。
|
|
17
|
-
4.
|
|
18
|
+
4. 每个核心表单 1-3 条即可;列表/工作台通常 2 条,看板/排行/状态分布通常 3 条。
|
|
18
19
|
5. `DateField` / `CascadeDateField` 使用 13 位毫秒时间戳。
|
|
19
|
-
6.
|
|
20
|
-
7.
|
|
20
|
+
6. 普通表单每条记录单独执行 `openyida data create form <appType> <formUuid> --expect-form-name <真实名称> --expect-form-type receipt --data-file ...` 或 `--data-json ...`;最后执行 `openyida data query form` 抽查至少 1 条。
|
|
21
|
+
7. 流程表单只有在已确认真实 `processCode` 后,才执行 `openyida data create process <appType> <formUuid> --process-code <真实 processCode> --expect-form-name <真实名称> --expect-form-type process --data-file ...` 或 `--data-json ...`;最后执行 `openyida data query process` 抽查至少 1 条。
|
|
22
|
+
8. 名称、UUID、类型或 `processCode` 不一致时停止,不得在 `form` 与 `process` 命令之间盲目重试。
|
|
21
23
|
|
|
22
24
|
以下情况可以跳过,并在 final 说明原因:
|
|
23
25
|
|
|
24
26
|
- 用户明确要求不要造数;
|
|
25
27
|
- 表单是配置字典、权限表、敏感个人数据表或纯附件表;
|
|
26
28
|
- 字段缺少可安全构造的有效值;
|
|
27
|
-
- 流程表单没有确认 `processCode
|
|
29
|
+
- 流程表单没有确认 `processCode` 时禁止写入实例;若页面依赖流程实例,先补齐真实 `processCode`,否则说明跳过原因并保留空态。
|
|
28
30
|
|
|
29
31
|
## 产出
|
|
30
32
|
|
|
31
|
-
- 1-3
|
|
33
|
+
- 1-3 条真实普通表单或流程表单记录;
|
|
32
34
|
- query 抽查结果;
|
|
33
35
|
- 或明确跳过原因和页面空态方案。
|
|
34
36
|
|
|
35
37
|
## Checklist
|
|
36
38
|
|
|
37
39
|
- [ ] seed records 使用真实 `fieldId`;
|
|
40
|
+
- [ ] 普通表单使用 `data create form`,流程表单使用 `data create process`;
|
|
41
|
+
- [ ] 流程实例创建前已确认真实 `processCode`;
|
|
38
42
|
- [ ] 每条记录单独创建;
|
|
39
43
|
- [ ] query 抽查已确认 `formData` 非空;
|
|
40
44
|
- [ ] 跳过时已写明原因和页面空态方案。
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
- 真实 `appType`、当前页面 `formUuid`;
|
|
14
14
|
- `.cache/<项目名>-schema.json`;
|
|
15
15
|
- Step 5 写入的 seed records 或跳过原因。
|
|
16
|
+
- 需要图片时读取 `prd/<项目名>/asset-manifest.json`。
|
|
16
17
|
|
|
17
18
|
## 操作
|
|
18
19
|
|
|
@@ -20,6 +21,8 @@
|
|
|
20
21
|
|
|
21
22
|
先读取 `constraints.prohibitedActions`。命中 `page-source` 时,本步骤只能做 Read、编译/静态检查等只读诊断,不得 Write/Edit/Create 页面源码,也不得用脚本、格式化器或生成器间接改写;输出应明确“源码未修改”并跳过依赖源码变更的发布。未命中时才执行下列源码实现动作。
|
|
22
23
|
|
|
24
|
+
当前页为 `required`,或为带槽位的 `beneficial` 时,先执行 `use_skill("yida-image-assets", "准备当前页图片")`。使用 `--design design.md --app-type <真实appType>` 核对槽位、默认上传宜搭图片附件,输出 `asset-manifest.json`;超过 20 MiB 的外链保留原地址。读取 manifest 中当前页 `pages[].materialStatus`;该页为 `final` 时只使用 `assets[].materialStatus=final` 的图片。必需槽位缺口只阻塞当前页,总状态 `draft` 不阻塞其他已就绪页面。
|
|
25
|
+
|
|
23
26
|
1. 自定义页面开发执行 `use_skill("yida-canvas-custom-page", "生成当前页面源码")`。根据 PRD 和 `design.md` 直接编写 `.canvas.jsx` / `.canvas.tsx`;允许从空文件实现完整 UI。内置整页示例按需用于理解数据接入和导航;表单抽屉片段必须按第 9 条整体合并,不要求复制整页,也不能用示例默认外观替代已确认的设计。已有符合设计的页面可继续迭代。
|
|
24
27
|
2. PRD 或页面名包含看板、工作台、驾驶舱、Dashboard 时,必须执行 `use_skill("yida-dashboard", "实现真实业务看板")`。
|
|
25
28
|
3. 页面读取任一表单数据时,必须执行 `use_skill("yida-canvas-data-binding", "为页面接入真实表单数据")`;不得以“页面已经能发布”为由跳过。
|
|
@@ -55,6 +58,7 @@ Plan 模式下,上表涉及 PRD/design 的修正均由对应技能更新 `buil
|
|
|
55
58
|
## Checklist
|
|
56
59
|
|
|
57
60
|
- [ ] 页面实现已读取 PRD 和 `design.md`;
|
|
61
|
+
- [ ] 需要图片时只使用 manifest 中已验证的素材;
|
|
58
62
|
- [ ] 新建页面或调整视觉前,实际实现者已完整读取 `canvas-style-implementation-guide.md`;检查记录包含文件路径、适用章节和页面落点,工具读取结果未遗漏截断部分;仅改数据逻辑时说明不适用原因;
|
|
59
63
|
- [ ] 页面没有默认自绘应用级侧边导航 / 顶部导航;如有页面内自绘导航,已有用户显式要求和 `yida-nav-shell` 依据;
|
|
60
64
|
- [ ] 自定义导航已提取 `canvas-nav-content` 并合并 `CanvasNavigationContent`;源码和 DOM 存在 `.openyida-nav-layout`、`.openyida-nav-content`,且实际测量内容撑满剩余空间、iframe 与视口等高、底部按钮可到达;只加类名不算通过;
|
|
@@ -170,7 +170,7 @@ openyida create-page <appType> "<页面名>"
|
|
|
170
170
|
|
|
171
171
|
# 使用 Provider 标记时,先按主题脚本指南生成 <页面名>.themed.canvas.jsx;以下快检与发布都改用该生成文件。
|
|
172
172
|
# 4. 本地快检
|
|
173
|
-
|
|
173
|
+
openyida compile project/pages/src/<页面名>.canvas.jsx --json
|
|
174
174
|
|
|
175
175
|
# 5. 发布(本轮修改源码后的远端完成证据)
|
|
176
176
|
openyida publish project/pages/src/<页面名>.canvas.jsx <appType> <formUuid>
|
|
@@ -179,9 +179,11 @@ openyida publish project/pages/src/<页面名>.canvas.jsx <appType> <formUuid>
|
|
|
179
179
|
openyida get-schema <appType> <formUuid> --field-map-json
|
|
180
180
|
```
|
|
181
181
|
|
|
182
|
-
`openyida
|
|
182
|
+
`openyida compile` 会自动识别 `.canvas.jsx` / `.canvas.tsx` 并调用 Canvas 编译器;`--json` 返回可机器读取的 hash 和依赖清单。该命令只读、无需登录、不访问网络、不发布页面,也不写入构建产物。`openyida publish` 仍是远端写入证据。
|
|
183
183
|
|
|
184
|
-
|
|
184
|
+
云端与本地 Agent 都使用同一条 `openyida compile <页面源码.canvas.jsx> --json` 快检命令,不依赖仅云端 Builder 提供的 `run_workspace_script`。
|
|
185
|
+
|
|
186
|
+
其他确需保存的云端 workspace 脚本放在项目根 `.cache/yida-agent/scripts/...`,不要写 `project/.cache/...`,否则运行时会解析成重复的 `project/project/.cache/...`;Canvas 快检本身不需要创建脚本。
|
|
185
187
|
|
|
186
188
|
如需保存完整 Schema,使用 create_file / Write / file edit tool 创建 `<projectRoot>/.cache/openyida/<页面名或任务名>/<页面名>-schema.json`;从 workspace 根执行后续 Bash 命令时路径加 `project/` 前缀。
|
|
187
189
|
|
|
@@ -95,7 +95,7 @@ OpenYida 禁止页面源码和 page-spec 中出现 emoji。遇到 `contains emoj
|
|
|
95
95
|
可直接按推荐组合编写页面并执行本地快检:
|
|
96
96
|
|
|
97
97
|
```bash
|
|
98
|
-
|
|
98
|
+
openyida compile project/pages/src/dashboard-starter.canvas.jsx --json
|
|
99
99
|
```
|
|
100
100
|
|
|
101
101
|
## 自查清单
|
|
@@ -104,35 +104,11 @@ design.md 存在“项目配色适配”时先应用该节,它高于模板默
|
|
|
104
104
|
|
|
105
105
|
表单提交/详情里的 `isRenderNav=false` 只隐藏原生表单页或详情页的页面导航,不用于隐藏自定义页应用导航。
|
|
106
106
|
|
|
107
|
-
##
|
|
107
|
+
## 官网与品牌页素材
|
|
108
108
|
|
|
109
|
-
|
|
109
|
+
按 `design.md.assetStrategy` 调用 `yida-image-assets`。读取 `asset-manifest.json` 中当前页面 `pages[].materialStatus`;当前页为 `final` 时,只读取该页 `assets[].materialStatus=final` 的图片 URL。总状态为 `draft` 不阻塞已就绪的页面;不手拼 URL,也不内嵌 data URI。
|
|
110
110
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
素材清单至少包含:
|
|
114
|
-
|
|
115
|
-
```json
|
|
116
|
-
{
|
|
117
|
-
"assets": {
|
|
118
|
-
"heroImage": "https://...",
|
|
119
|
-
"heroImageAlt": "品牌主视觉",
|
|
120
|
-
"productImages": [
|
|
121
|
-
{ "url": "https://...", "alt": "明星产品" }
|
|
122
|
-
]
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
素材来源优先级:
|
|
128
|
-
|
|
129
|
-
1. 用户提供或已有官网图片。若有防盗链,优先用 `openyida cdn-upload` 转存。
|
|
130
|
-
2. AI 生成图片。先生成本地图片,再确认 CDN 配置,之后上传并回填 URL。
|
|
131
|
-
3. 公开图库。只使用可公开访问且通过 HTTP 200 校验的图片 URL;生产交付优先转存到自有 CDN。
|
|
132
|
-
|
|
133
|
-
若 `openyida cdn-config --show` 显示缺少 `accessKeyId/accessKeySecret/cdnDomain/ossBucket`,交付状态标为“素材待上传”;可先用已验证公开 URL 测试,或提示用户补 CDN 配置。
|
|
134
|
-
|
|
135
|
-
离线展示在无 CDN 时允许内嵌经过压缩的 JPEG/WebP data URI,保证源码原样发布也有真实图片;建议 3-5 张、单张不超过 250 KB、总量不超过 800 KB。生产页面使用稳定 CDN 素材 URL。
|
|
111
|
+
联网搜图仅使用 Unsplash/Pexels。Unsplash 保留 API 热链和署名;Pexels 保留来源页和摄影师信息。
|
|
136
112
|
|
|
137
113
|
## 主题实现
|
|
138
114
|
|
|
@@ -125,7 +125,7 @@ openyida get-schema <appType> <formUuid> --field-map-json
|
|
|
125
125
|
# 未验证前保持 writeBridge.verified !== true
|
|
126
126
|
|
|
127
127
|
# 4. 本地快检
|
|
128
|
-
|
|
128
|
+
openyida compile project/pages/src/table-form-batch-submit.canvas.jsx --json
|
|
129
129
|
|
|
130
130
|
# 5. 真实交付时发布
|
|
131
131
|
openyida publish project/pages/src/table-form-batch-submit.canvas.jsx <appType> <displayPageFormUuid>
|
|
@@ -63,7 +63,7 @@ openyida update-app <appType> --theme-file <app-theme.css> --nav-theme light --l
|
|
|
63
63
|
|---------|------|
|
|
64
64
|
| `--colour` / `--theme` | 平台主题 key,例如 `podBlue`、`podGreen`、`podOrange`、`black`、`custom`;禁止填写 HEX、RGB 或自造名称 |
|
|
65
65
|
| `--nav-theme` | `light` / `dark` / `white` / `gray` |
|
|
66
|
-
| `--layout` |
|
|
66
|
+
| `--layout` | 顶部传 `top`、侧边传 `side`、L 型传 `l_shape`;CLI 写入接口字段 `layoutDirection`,使用平台导航时同时传 `--show-app-nav` |
|
|
67
67
|
| `--theme-file` | 上传主题 CSS,保存 `customThemeStyle` 资源及从 CSS 提取的 `themeColor` |
|
|
68
68
|
| `--theme-color` | 仅更新应用主色;与主题文件同传时以 CSS 主色为准 |
|
|
69
69
|
| `--logo-source` | `appIcon` / `customImage`;后者要求应用已有 `homepageLogo` |
|
|
@@ -77,7 +77,7 @@ openyida update-app <appType> --theme-file <app-theme.css> --nav-theme light --l
|
|
|
77
77
|
|
|
78
78
|
创建命令只提交名称、描述、图标和必要的创建标记,不推断或提交应用主题与导航配置。创建完整应用、使用 PRD/design.md 或用户要求配置主题时,主题更新命令默认传入主题文件;只有用户明确只创建空壳或暂不配置主题时才跳过主题更新。搭建流程必须采用先 `create-app`、再 `update-app --theme-file` 的两个步骤。`create-app` 不接受 `--theme-file` 和 `--logo-source`,也不接受 `--colour`、`--theme`、`--nav-theme`、`--layout` 或旧位置参数里的主题与布局,不隐式执行应用设置更新。
|
|
79
79
|
|
|
80
|
-
CLI 始终按“显式 `--icon` → 行业推断 → 随机系统图标”的顺序选择图标,只有未显式指定且未命中行业时才随机,与后续是否更新主题文件无关。主题文件生成后按 PRD 在 `update-app --layout`
|
|
80
|
+
CLI 始终按“显式 `--icon` → 行业推断 → 随机系统图标”的顺序选择图标,只有未显式指定且未命中行业时才随机,与后续是否更新主题文件无关。主题文件生成后按 PRD 在 `update-app --layout` 中显式设置布局;用户未指定布局时按业务场景选择,不固定使用 `l_shape`。参数映射与保存后核对遵守 [平台导航参数](../yida-app/workflow/step-3-create-or-reuse-app.md#平台导航参数)。在 `update-app --theme-file` 步骤中校验 CSS 并将图标颜色统一为 `--color-brand1-6` 转换后的 HEX;导航配置沿用 PRD,普通浅色方案显式传 `--nav-theme light --logo-source appIcon`。
|
|
81
81
|
|
|
82
82
|
**应用主题(colour)口径**:
|
|
83
83
|
|
|
@@ -93,8 +93,8 @@ openyida sample yida-design app-theme --output .cache/openyida/<项目名>/app-t
|
|
|
93
93
|
|
|
94
94
|
```bash
|
|
95
95
|
openyida create-app --name "<应用名>" --desc "<描述>"
|
|
96
|
-
# 从创建结果提取 appType
|
|
97
|
-
openyida update-app <appType> --theme-file <app-theme.css> --nav-theme light --logo-source appIcon --layout
|
|
96
|
+
# 从创建结果提取 appType 后执行;以下为 PRD 选择平台顶部导航的示例
|
|
97
|
+
openyida update-app <appType> --theme-file <app-theme.css> --nav-theme light --logo-source appIcon --layout top --show-app-nav
|
|
98
98
|
```
|
|
99
99
|
|
|
100
100
|
CLI 会先校验主题文件完整声明平台实际生成的 `--color-brand1-1/2/3/5/6/9/10`,并允许不存在 `--color-brand1-4/7/8`。`update-app --theme-file` 上传 CSS,再调用应用基础设置的 `updateApp` 接口联合保存从 `--color-brand1-6` 提取的 `themeColor`、`customThemeStyle`、`navTheme`、`logoSource` 和 `layoutDirection`。更新主题时,系统应用图标会同步保存为 `iconName%%主题色HEX`;外链或上传图片图标保持原值。
|
|
@@ -188,6 +188,7 @@ openyida create-process "APP_XXX" --formUuid "FORM-YYY" .cache/openyida/order/pr
|
|
|
188
188
|
1. **🔐 字段权限**:当字段 ≥ 3 且审批节点 ≥ 2 时,每个节点只允许编辑相关字段
|
|
189
189
|
2. **🔄 跳转规则**:存在回退/循环语义时,自动配置 `routeRules`
|
|
190
190
|
3. **🔀 并行/办理/高级组件**:需要并行会审、办理节点或连接器/数据/消息等官方组件节点时,流程定义格式直接参考 `yida-process-rule`
|
|
191
|
+
4. **加签/转交操作权限**:用户要求开启时,按 [操作权限配置](../yida-process-rule/references/approval-actions.md) 生成 `nodes[].actions.normalActions/appendActions`;未要求时保持默认关闭。`create-process` 与 `configure-process` 共用编译器,无需新增命令或手写运行字段。禁止仅修改 `hidden` 后提交原始运行 JSON。
|
|
191
192
|
|
|
192
193
|
需要流程规则细节时,调用 `use_skill("yida-process-rule", "配置已有流程节点、分支和字段权限")`。
|
|
193
194
|
|
|
@@ -198,6 +199,7 @@ openyida create-process "APP_XXX" --formUuid "FORM-YYY" .cache/openyida/order/pr
|
|
|
198
199
|
| 命令返回失败 | 检查 appType 和 formUuid 是否正确,确认登录态有效 |
|
|
199
200
|
| processCode 获取失败 | 确认表单已成功转为流程表单类型,重新执行 |
|
|
200
201
|
| 流程定义 JSON 格式错误 | 加载 `yida-process-rule` 子技能,按其中的 JSON 格式说明修正 |
|
|
202
|
+
| `PROCESS_COMPILE_ACTION_CONFIG_INVALID` | 本地编译已拦截无效操作权限,修正报错节点的加签位置、结果或按钮配置后再执行;不要通过删除校验或手动补运行 JSON 绕过 |
|
|
201
203
|
| 返回 JSON 中无 processCode | 不要猜测 processCode,重新执行命令获取 |
|
|
202
204
|
| 流程发布失败 | 检查流程定义中的 fieldId 是否为真实 ID(先 get-schema 获取) |
|
|
203
205
|
| 登录态失效 | 执行 `openyida login` 重新登录后再试 |
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
# 素材资源指南
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
图片只从指定图库采集;音频和图标按各自规则使用。
|
|
4
4
|
|
|
5
5
|
## 图片素材
|
|
6
6
|
|
|
7
7
|
| 素材库 | API | 授权方式 | 推荐场景 |
|
|
8
8
|
| --- | --- | --- | --- |
|
|
9
|
-
| [Unsplash](https://unsplash.com) | ✅ |
|
|
10
|
-
| [Pexels](https://pexels.com) | ✅ |
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
| [Wikimedia Commons](https://commons.wikimedia.org) | ⚠️ | 授权类型多样,需按条目核对 | 知识类/历史类配图 |
|
|
9
|
+
| [Unsplash](https://unsplash.com) | ✅ | 按官方许可使用 | 背景图、Banner、配图 |
|
|
10
|
+
| [Pexels](https://pexels.com) | ✅ | 按官方许可使用 | 人物、场景、商务配图 |
|
|
11
|
+
|
|
12
|
+
图片搜索与采集仅使用 Unsplash / Pexels。用户素材和生成图按来源规则处理。
|
|
14
13
|
|
|
15
14
|
## 音乐/音效素材
|
|
16
15
|
|
|
@@ -38,14 +37,12 @@
|
|
|
38
37
|
## 素材使用通用建议
|
|
39
38
|
|
|
40
39
|
### 稳定性
|
|
41
|
-
-
|
|
42
|
-
-
|
|
43
|
-
- 同一关键词可并行查 2-3 个库,失败自动切换;对外链下载做本地缓存
|
|
40
|
+
- 图片只从 Unsplash / Pexels 采集;音频按上方规则处理
|
|
41
|
+
- 上线前校验来源、可达性和授权;按条款使用官方 URL 或自有 CDN
|
|
44
42
|
|
|
45
43
|
### 合规性
|
|
46
|
-
-
|
|
47
|
-
-
|
|
48
|
-
- Wikimedia Commons / Freesound / FMA 等站点授权类型多样,务必按条目核对 License
|
|
44
|
+
- 图片记录来源、作者、许可和必要署名
|
|
45
|
+
- CC BY 素材必须署名;音频按条目核对许可
|
|
49
46
|
|
|
50
47
|
### 一致性
|
|
51
48
|
- 同一项目中统一使用一套主图标语言,默认 `lucide-react`;只有 antd 图标语境明确时使用 `@ant-design/icons`
|
|
@@ -64,6 +64,7 @@ description: >
|
|
|
64
64
|
15. **参考转成可执行选择**:参考 Dribbble / 优秀案例时,落到主色、背景素材、首屏构图、信息密度、动线、区块数量和反默认点。
|
|
65
65
|
16. **页面文案和图标使用专业表达**:渲染文案使用纯文本;图标只使用 `lucide-react` 或 `@ant-design/icons` 的具体组件,默认选择 `lucide-react`,并在 `design.md` 的 `iconSystem` 中写清业务动作、状态、导航和空态到图标组件的映射。emoji 不能改成 CSS 形状、字母占位、Unicode 符号或临时 SVG;如果需要图标,必须映射到上述两类库的具体组件。
|
|
66
66
|
17. **实现交接明确**:设计产物只定义页面结构、视觉系统和验收标准;常规业务图表使用 `yida-rechart`;ECharts 例外只用于用户明确要求复杂 ECharts option 或维护旧图表。
|
|
67
|
+
18. **素材按页面分级**:在 `assetStrategy` 中记录图片等级和槽位;需要素材时交给 `yida-image-assets`。
|
|
67
68
|
|
|
68
69
|
---
|
|
69
70
|
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
1. 进度消息使用业务结果和下一步动作。结构化问题紧随其后时,不额外发送内部分析结论;多个问题确需共同背景时,只在整组交互的引导中说明一次,不写入每个问题的 `title` 或 `prompt`。
|
|
61
61
|
2. `title`、`prompt`、`label`、`description` 和普通对话只使用用户能直接理解的业务词。
|
|
62
62
|
3. `interactionId`、`questionType`、`value`、`writeBackPath`、`reason`、状态字段和文件路径仅供内部执行,不进入用户可见内容。
|
|
63
|
-
4. `title` 只写确认主题,`prompt`
|
|
63
|
+
4. `title` 只写确认主题,`prompt` 只写用户当前需要回答的问题;搭建模式、导航归属保持中性,不标记“推荐”或“默认”,不预选、不按偏好排序,也不在引导或描述中推荐。导航布局和呈现样式根据场景确定,不进入提问选项;用户明确的布局和样式优先。其他问题存在合理默认值时可标记。只有某个选择会产生重要且难以撤销的影响时,才在对应选项的 `description` 中说明影响。
|
|
64
64
|
5. 用户已经提供的信息直接写入内部事实,不重复总结成“缺口分析”或再次追问。
|
|
65
65
|
6. PRD 的业务说明、HTML、进度消息和交付总结使用功能、体验和验收结果描述配置。接口参数、配置键值、内部 ID 和 CLI 选项保留在 Agent 实施交接中;访问链接使用业务名称,链接目标保留必需参数。用户明确询问实现细节时,再解释对应技术内容。
|
|
66
66
|
7. 规划写预期行为,进度写正在进行的动作,完成总结依据实际验证结果。导航方案写“采用自定义导航,支持各业务页面间切换”;完成配置并验证跳转后写“已启用自定义导航,可在各业务页面间切换”。
|
|
@@ -100,7 +100,7 @@ Fast / Plan 是面向用户的模式名称,可以展示。已有详细计划
|
|
|
100
100
|
| ---------------- | ---------------------------------------------- | ---------------------------- | ----------------------------- |
|
|
101
101
|
| 搭建方式 | `single_choice` | 按需求详细程度提供 PRD 是/否或 Fast/Plan | brief 的 `intake.designMode` |
|
|
102
102
|
| 业务模块与页面范围 | `multi_choice` | 具体业务模块、对应页面、表单及用途,可合为一题 | brief 的 `coreFunctions/businessObjects/pageScenes/explicitScope` |
|
|
103
|
-
|
|
|
103
|
+
| 导航归属 | `single_choice` | 仅“宜搭原生导航”和“自定义导航”两个选项;原生导航就是平台导航,布局根据场景确定 | brief 的 `navigation`(按场景补齐 `type`,自定义含 `variant`,`reason` 区分用户归属选择与布局依据) |
|
|
104
104
|
| 应用设计风格 | `single_choice` | 面向业务的风格选项与自定义偏好 | brief 的 `visualSelection` |
|
|
105
105
|
| 来源补齐 | `free_text` | 可读正文、链接或附件 | `meta.source` |
|
|
106
106
|
| 最新搭建计划确认 | `confirm` | 当前版本、确认生成、继续调整 | `meta.planState` |
|
|
@@ -124,9 +124,9 @@ Fast / Plan 是面向用户的模式名称,可以展示。已有详细计划
|
|
|
124
124
|
|
|
125
125
|
## 首次搭建确认
|
|
126
126
|
|
|
127
|
-
先完成需求分析,再按 [首次搭建确认表](../../yida-requirement-analysis/workflow/prepare-brief.md#2-确认首次搭建的未决事项)
|
|
127
|
+
先完成需求分析,再按 [首次搭建确认表](../../yida-requirement-analysis/workflow/prepare-brief.md#2-确认首次搭建的未决事项) 询问尚未明确的事项。该表统一维护详细计划复用、搭建方式、业务模块、导航归属、风格和页面范围;已有业务应用的局部增改按本次疑问澄清。
|
|
128
128
|
|
|
129
|
-
首次搭建的全部未决事项在一次结构化提问调用中呈现并一次性作答,Fast / Plan
|
|
129
|
+
首次搭建的全部未决事项在一次结构化提问调用中呈现并一次性作答,Fast / Plan、导航归属、业务模块和页面范围不得分轮收集。导航仅提供“宜搭原生导航”和“自定义导航”两个选项,按 [导航选项说明](../../yida-requirement-analysis/workflow/prepare-brief.md#导航选项说明) 附带实现方式说明;宜搭原生导航就是平台导航。支持 `description` 时写入该字段,否则在选项后括号备注。顶部、侧边、L 型、浮导、底部菜单等布局或样式不进入 `ask_human`;Agent 在已选归属内根据场景确定,记录布局依据并交给后续规划,不补问位置。用户已明确的归属、布局或样式直接沿用。工具限制问题数量时合并为复合问题,多选能力不足时使用同组自由输入;没有可用结构化工具时,在一条消息中展示全部问题。具体合并方式遵守首次搭建确认表,全部必要回答写回后才开始后续规划。
|
|
130
130
|
|
|
131
131
|
视觉映射统一写入 brief 的 `visualSelection`,由后续计划沿用 visualDirection、selectedTheme、colorStrategy、navigationStyle;未选候选保留在会话中。
|
|
132
132
|
|
|
@@ -1,59 +1,20 @@
|
|
|
1
|
-
#
|
|
1
|
+
# 图片素材落地
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
`yida-design` 定义页面等级和槽位,`yida-image-assets` 准备素材,`asset resolve` 生成清单。
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 规则
|
|
6
6
|
|
|
7
|
-
1.
|
|
8
|
-
2.
|
|
9
|
-
3.
|
|
10
|
-
4. **没有素材就诚实标注草稿**:用文字排版、数据图示或插画替代,并在交付说明中标注素材缺口。
|
|
7
|
+
1. 先用用户素材,再从 Unsplash/Pexels 搜图,仍有缺口时使用宿主生图。
|
|
8
|
+
2. 图片统一写入 manifest 草稿并通过 `asset resolve`。
|
|
9
|
+
3. 按 `pages[].materialStatus` 判断当前页:`final` 可继续,`draft` 要补必需素材,`none` 无需图片。只使用该页 `assets[].materialStatus=final` 的 URL;总状态 `draft` 不阻塞其他页面。
|
|
11
10
|
|
|
12
|
-
##
|
|
11
|
+
## 命令
|
|
13
12
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
| 命令 | 作用 |
|
|
14
|
+
| --- | --- |
|
|
15
|
+
| `openyida asset status --json` | 检测宿主和 CDN 能力 |
|
|
16
|
+
| `openyida asset sources --json` | 查看来源规则 |
|
|
17
|
+
| `openyida asset resolve --input <草稿> --manifest <清单> --design <design.md> --json` | 校验全部槽位并写清单 |
|
|
18
|
+
| `openyida asset resolve --slot <slotId>=<路径或URL> --json` | 快速检查单个槽位 |
|
|
18
19
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
| 子命令 | 作用 | 关键参数 |
|
|
22
|
-
|---|---|---|
|
|
23
|
-
| `openyida asset status` | 检测 CDN、上传和素材生成能力 | `--online`、`--json` |
|
|
24
|
-
| `openyida asset resolve` | 解析本地或外链素材,按能力转存并回填 | `--hero <url\|path>`、`--product <url\|path>`、`--require-hero`、`--upload-assets`、`--offline`、`--json` |
|
|
25
|
-
| `openyida asset generate` | 输出素材来源引导和免费素材库清单 | `--json` |
|
|
26
|
-
|
|
27
|
-
## 示例
|
|
28
|
-
|
|
29
|
-
有 CDN 时:
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
openyida asset status --json
|
|
33
|
-
openyida asset resolve --hero ./hero.webp --upload-assets --json
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
使用外链时:
|
|
37
|
-
|
|
38
|
-
```bash
|
|
39
|
-
openyida asset resolve --hero "https://images.unsplash.com/photo-xxxx" --json
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
暂无素材时:
|
|
43
|
-
|
|
44
|
-
```bash
|
|
45
|
-
openyida asset resolve --offline --require-hero --json
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
## 设计落地
|
|
49
|
-
|
|
50
|
-
真实图片应服务于品牌叙事,而不是只填充 Hero。强视觉官网通常需要场景、产品或服务、过程或空间三类素材。完整策略写入当前项目的 `design.md.assetStrategy`。
|
|
51
|
-
|
|
52
|
-
**严禁事项**:应用主题只在应用级配置,严禁页面代码向原生页面、父页面或平台容器写入主题样式。`YidaCodeCanvas` 的页面背景只在 `YidaComp` 内按 `design.md` 实现并消费应用 token。
|
|
53
|
-
|
|
54
|
-
## 离线展示
|
|
55
|
-
|
|
56
|
-
- 建议仅内嵌 3–5 张关键图,长边约 1600–2000 px、质量 70–82。
|
|
57
|
-
- 单张尽量不超过 250 KB,图片总量尽量不超过 800 KB。
|
|
58
|
-
- 发布前检查源码与 `runtimeCode` 体积。
|
|
59
|
-
- 生产项目应迁移到 CDN,禁止把所有图片都转成 base64。
|
|
20
|
+
`--offline` 禁止外链校验和上传。`--upload-assets` 只转存允许自托管的素材,Unsplash API 图片始终保留热链。
|
|
@@ -90,7 +90,7 @@ CLI 校验源事实,使用预置模板整批生成 `prd.md`、`design.md` 和
|
|
|
90
90
|
"pageApplications": [
|
|
91
91
|
{"pageId":"page-1","visualMemoryApplications":[{"name":"摘要拼接组","renderPolicy":"prd_match_only","target":"采购待办摘要","reason":"页面已有并列的待办状态"}]}
|
|
92
92
|
],
|
|
93
|
-
"assetStrategy": {"materialStatus":"none","missingAssets":[],"notes":"
|
|
93
|
+
"assetStrategy": {"materialStatus":"none","pages":[{"pageId":"page-1","imageNeed":"none","reason":"纯数据操作页","slots":[]}],"missingAssets":[],"notes":"无图片需求"}
|
|
94
94
|
},
|
|
95
95
|
"internal": {"selectedTheme":{"themeId":"airy-modular-clarity","source":"user_selected"}},
|
|
96
96
|
"forDesignMd": {"productTopologyApplication":"工作台与表单共享主题,视觉重点绑定已有采购任务"}
|
package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/build-plan-schema.md
CHANGED
|
@@ -142,7 +142,7 @@
|
|
|
142
142
|
|
|
143
143
|
约束:
|
|
144
144
|
|
|
145
|
-
-
|
|
145
|
+
- 计划生成前先确定应用范围与导航类型,再选择视觉方向。范围和导航归属不明时可合并询问,导航选项仅为“宜搭原生导航”和“自定义导航”;原生导航即平台导航,顶部、侧边、L 型等布局由 Agent 按场景确定,不进入 `ask_human`。回答后生成遵守导航决策的视觉候选;每个问题必须有 `interactionId` 和 `writeBackPath`。
|
|
146
146
|
- `questionType` 只取 `single_choice`、`multi_choice`、`free_text` 或最终计划使用的 `confirm`,不设置 AI 代填项中间确认类型。
|
|
147
147
|
- 只有宽泛应用名称且缺少模块、场景、任务、流程和可读需求时才问应用范围。
|
|
148
148
|
- 审批、角色权限、字段、首页、看板、页面和常规流程细节不进入 `ask_human`;用户已提供时承接,未提供时基于业务推断并在最终计划统一呈现。
|
|
@@ -390,10 +390,27 @@
|
|
|
390
390
|
"iconSummary": "使用统一线性图标体系,具体图标在开发阶段映射。",
|
|
391
391
|
"assetStrategy": {
|
|
392
392
|
"materialStatus": "final | draft | none",
|
|
393
|
-
"
|
|
394
|
-
|
|
393
|
+
"pages": [
|
|
394
|
+
{
|
|
395
|
+
"pageId": "page-home",
|
|
396
|
+
"imageNeed": "required | beneficial | none",
|
|
397
|
+
"reason": "<图片用途>",
|
|
398
|
+
"slots": [
|
|
399
|
+
{
|
|
400
|
+
"slotId": "home.hero",
|
|
401
|
+
"usage": "hero | background | product | scene | cover | empty-state",
|
|
402
|
+
"count": 1,
|
|
403
|
+
"aspectRatio": "16:9",
|
|
404
|
+
"minSize": "1600x900",
|
|
405
|
+
"focus": "主体靠右",
|
|
406
|
+
"objectFit": "cover | contain",
|
|
407
|
+
"generationAllowed": true
|
|
408
|
+
}
|
|
409
|
+
]
|
|
410
|
+
}
|
|
411
|
+
],
|
|
395
412
|
"missingAssets": [],
|
|
396
|
-
"notes": "
|
|
413
|
+
"notes": "素材交给 yida-image-assets;缺口保持草稿"
|
|
397
414
|
},
|
|
398
415
|
"designMdReady": "已同步生成 design.md,后续 AI 开发读取完整设计契约。"
|
|
399
416
|
},
|
package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/scripts/render_build_plan.py
CHANGED
|
@@ -922,8 +922,7 @@ def render_visual_details(data: dict[str, Any]) -> str:
|
|
|
922
922
|
("层次表达", visual.get("hierarchySummary")), ("组件形态", visual.get("componentToneSummary")),
|
|
923
923
|
("状态反馈", visual.get("stateSummary")), ("响应式布局", visual.get("responsiveSummary")),
|
|
924
924
|
("图标风格", visual.get("iconSummary")),
|
|
925
|
-
("素材现状", assets.get("materialStatus")), ("
|
|
926
|
-
("主视觉图片", assets.get("heroImage")), ("产品与案例图片", assets.get("productImages")),
|
|
925
|
+
("素材现状", assets.get("materialStatus")), ("页面素材", assets.get("pages")),
|
|
927
926
|
("素材缺口", assets.get("missingAssets")), ("素材说明", assets.get("notes")),
|
|
928
927
|
]
|
|
929
928
|
profile = visual.get("themeProfile") or {}
|
package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/README.md
CHANGED
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
| `{{PRODUCT_TOPOLOGY_APPLICATION}}` | `visualStyle.forDesignMd.productTopologyApplication` |
|
|
57
57
|
| `{{PAGE_PATTERN_SUMMARY}}` | `pages.customPageDetails[]` 的页面模式与内容丰富度摘要 |
|
|
58
58
|
| `{{PAGE_APPLICATIONS}}` | materialize 根据页面事实、主题标准和 `visualStyle.forUser.pageApplications[].visualMemoryApplications` 生成的完整逐页应用 |
|
|
59
|
-
| `{{
|
|
59
|
+
| `{{PAGE_IMAGE_NEEDS}}` | 页面图片等级和槽位摘要 |
|
|
60
60
|
| `{{ASSET_GAPS}}` | `visualStyle.forUser.assetStrategy.missingAssets` |
|
|
61
61
|
|
|
62
62
|
模板中的 `<基于……生成的实际色值>` 和 `<由……生成的实际色值>` 是 Token 推导指令。生成项目 `design.md` 时必须替换成具体 CSS 色值。
|
|
@@ -300,7 +300,7 @@ metric-secondary → tokens.custom-page.typography.metric-secondary
|
|
|
300
300
|
|
|
301
301
|
### 素材要求
|
|
302
302
|
|
|
303
|
-
-
|
|
303
|
+
- 页面图片需求:{{PAGE_IMAGE_NEEDS}}
|
|
304
304
|
- 素材缺口:{{ASSET_GAPS}}
|
|
305
305
|
- 图标、图表、对象缩略内容和辅助图形必须有真实来源;没有素材时使用结构化数据或中性占位,不编造客户、商品、指标、品牌或外部资源地址。
|
|
306
306
|
|