openyida 2026.9.21 → 2026.9.22-beta.1
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 +14 -20
- package/bin/yida.js +6 -11
- package/lib/app/app-list.js +3 -7
- package/lib/app/canvas-compile.js +12 -22
- package/lib/app/check-prd-completeness.js +0 -7
- package/lib/app/create-app.js +1 -4
- package/lib/app/create-form/args.js +12 -37
- package/lib/app/create-form/batch.js +11 -86
- package/lib/app/create-form.js +86 -193
- package/lib/app/create-page.js +17 -84
- package/lib/app/custom-theme.js +0 -11
- package/lib/app/form-field-validator.js +41 -26
- package/lib/app/form-open-guard.js +10 -97
- package/lib/app/get-form-config.js +0 -1
- package/lib/app/inline-css-guard.js +31 -1
- package/lib/app/services/form-compiler.js +4 -2
- package/lib/app/theme-from-design.js +41 -144
- package/lib/app/theme-presets.js +1 -1
- package/lib/app/update-app.js +13 -63
- package/lib/asset/ai-image.js +9 -59
- package/lib/asset/asset-cmd.js +7 -18
- package/lib/asset/asset-plan.js +9 -102
- package/lib/asset/asset-resolve.js +10 -55
- package/lib/asset/asset-status.js +4 -5
- package/lib/asset/host-capabilities.js +2 -11
- package/lib/asset/url-verify.js +4 -19
- package/lib/auth/dws-sync.js +145 -0
- package/lib/auth/token-auth.js +73 -9
- package/lib/auth/token-store.js +50 -0
- package/lib/connector/connector-test.js +5 -19
- package/lib/connector/contract.js +1 -3
- package/lib/core/agent-capabilities.js +16 -19
- package/lib/core/command-manifest.js +40 -329
- package/lib/core/locales/en.js +17 -74
- package/lib/core/locales/zh.js +16 -73
- package/lib/core/redact.js +10 -15
- package/lib/core/sample.js +30 -72
- package/lib/core/utils.js +4 -0
- package/lib/design-plan/design-plan.js +4 -51
- package/lib/design-plan/init.js +26 -121
- package/lib/design-plan/materialize.js +348 -451
- package/lib/design-plan/normalize.js +29 -74
- package/lib/design-plan/parallel.js +16 -71
- package/lib/design-plan/patch.js +16 -63
- package/lib/design-plan/preview.js +8 -6
- package/lib/design-plan/validate.js +11 -71
- package/lib/process/create-process.js +50 -84
- package/lib/samples/openyida-scaffold/canvas-form-drawer.canvas.jsx +90 -20
- package/lib/samples/openyida-scaffold/canvas-nav/content.jsx +13 -93
- package/lib/samples/openyida-scaffold/canvas-nav/data.jsx +18 -100
- package/lib/samples/openyida-scaffold/canvas-nav/mixed.jsx +4 -6
- package/lib/samples/openyida-scaffold/canvas-nav/shared.jsx +5 -5
- package/lib/samples/openyida-scaffold/canvas-nav/side.jsx +2 -1
- package/lib/samples/openyida-scaffold/canvas-nav/sidebar.jsx +1 -1
- package/lib/samples/openyida-scaffold/canvas-nav/top.jsx +9 -15
- package/lib/samples/yida-canvas-table-form/table-form-batch-submit.canvas.jsx +83 -9
- package/lib/samples/yida-rechart/trend-combo.canvas.jsx +87 -14
- package/package.json +1 -3
- package/scripts/postinstall.js +3 -3
- package/yida-skills/SKILL.md +16 -19
- package/yida-skills/references/official-example-schema-patterns.md +1 -1
- package/yida-skills/references/yida-api.md +0 -4
- package/yida-skills/skills/yida-app/SKILL.md +23 -46
- package/yida-skills/skills/yida-app/workflow/parallel-work.md +6 -15
- package/yida-skills/skills/yida-app/workflow/plan/step-1-understand.md +1 -1
- package/yida-skills/skills/yida-app/workflow/plan/step-2-confirm.md +1 -1
- package/yida-skills/skills/yida-app/workflow/plan/step-4-deliver.md +15 -29
- package/yida-skills/skills/yida-app/workflow/plan/workflow.md +11 -29
- package/yida-skills/skills/yida-app/workflow/step-1-resource-context.md +2 -4
- package/yida-skills/skills/yida-app/workflow/step-2-design.md +9 -23
- package/yida-skills/skills/yida-app/workflow/step-3-create-or-reuse-app.md +4 -6
- package/yida-skills/skills/yida-app/workflow/step-4-forms-processes.md +4 -15
- package/yida-skills/skills/yida-app/workflow/step-6-main-page.md +4 -6
- package/yida-skills/skills/yida-app/workflow/step-7-page-code.md +9 -15
- package/yida-skills/skills/yida-app/workflow/step-8-publish-navigation.md +11 -25
- package/yida-skills/skills/yida-app/workflow/step-9-output-finish.md +28 -68
- package/yida-skills/skills/yida-canvas-custom-page/SKILL.md +43 -42
- package/yida-skills/skills/yida-canvas-custom-page/references/canvas-style-implementation-guide.md +44 -60
- package/yida-skills/skills/yida-canvas-custom-page/references/canvas-theme-provider.md +50 -72
- package/yida-skills/skills/yida-canvas-custom-page/references/component-library-guide.md +1 -13
- package/yida-skills/skills/yida-canvas-custom-page/references/data-bridge-guide.md +1 -140
- package/yida-skills/skills/yida-canvas-custom-page/references/navigation-and-entry-guide.md +72 -101
- package/yida-skills/skills/yida-canvas-custom-page/references/page-generation-guide.md +32 -35
- package/yida-skills/skills/yida-canvas-custom-page/scripts/build-canvas-theme.js +3 -29
- package/yida-skills/skills/yida-canvas-custom-page/scripts/canvas-theme-provider.template.jsx +6 -69
- package/yida-skills/skills/yida-canvas-data-binding/SKILL.md +0 -26
- package/yida-skills/skills/yida-create-app/SKILL.md +0 -2
- package/yida-skills/skills/yida-create-form-page/SKILL.md +58 -72
- package/yida-skills/skills/yida-create-form-page/references/advanced-form-modes.md +5 -5
- package/yida-skills/skills/yida-create-form-page/references/association-form-field.md +4 -4
- package/yida-skills/skills/yida-create-form-page/references/batch-forms.md +5 -6
- package/yida-skills/skills/yida-create-form-page/references/field-definition-guide.md +19 -7
- package/yida-skills/skills/yida-create-form-page/references/form-field-properties.md +44 -62
- package/yida-skills/skills/yida-create-page/SKILL.md +6 -14
- package/yida-skills/skills/yida-create-process/SKILL.md +2 -13
- package/yida-skills/skills/yida-custom-page/SKILL.md +0 -2
- package/yida-skills/skills/yida-custom-page/references/design-system.md +1 -1
- package/yida-skills/skills/yida-dashboard/SKILL.md +4 -5
- package/yida-skills/skills/yida-data-management/SKILL.md +2 -4
- package/yida-skills/skills/yida-data-management/references/data-format-guide.md +4 -4
- package/yida-skills/skills/yida-design/SKILL.md +14 -29
- package/yida-skills/skills/yida-design/references/app/blueprint.md +70 -0
- package/yida-skills/skills/yida-design/references/app/navigation-patterns.md +43 -0
- package/yida-skills/skills/yida-design/references/app/role-journey.md +30 -0
- package/yida-skills/skills/yida-design/references/ask-human-interaction-contract.md +42 -67
- package/yida-skills/skills/yida-design/references/asset-workflow.md +2 -6
- package/yida-skills/skills/yida-design/references/design-mode.md +4 -4
- package/yida-skills/skills/yida-design/references/page-quality-gates.md +38 -26
- package/yida-skills/skills/yida-design/references/style-design-selection.md +137 -0
- package/yida-skills/skills/yida-design/references/style-designs/_design-md-template.md +185 -0
- package/yida-skills/skills/yida-design/references/style-designs/aqua-service-progress-dashboard.md +242 -0
- package/yida-skills/skills/yida-design/references/style-designs/blue-insight-operations-dashboard.md +243 -0
- package/yida-skills/skills/yida-design/references/style-designs/blue-productivity-insight-workbench.md +242 -0
- package/yida-skills/skills/yida-design/references/style-designs/command-filter-card-console.md +304 -0
- package/yida-skills/skills/yida-design/references/style-designs/contrast-command-analytics-workbench.md +261 -0
- package/yida-skills/skills/yida-design/references/style-designs/dark-stage-analytic-dashboard.md +369 -0
- package/yida-skills/skills/yida-design/references/style-designs/filterable-card-catalog.md +354 -0
- package/yida-skills/skills/yida-design/references/style-designs/green-timeline-progress-workbench.md +250 -0
- package/yida-skills/skills/yida-design/references/style-designs/registry.md +117 -0
- package/yida-skills/skills/yida-design/references/style-designs/soft-analytic-workbench.md +348 -0
- package/yida-skills/skills/yida-design/references/style-designs/soft-blue-grid-analytic-dashboard.md +658 -0
- package/yida-skills/skills/yida-design/references/style-designs/soft-bordered-analytic-workbench.md +385 -0
- package/yida-skills/skills/yida-design/references/style-designs/soft-curated-filter-gallery.md +300 -0
- package/yida-skills/skills/yida-design/references/style-designs/soft-modular-analytic-workbench.md +404 -0
- package/yida-skills/skills/yida-design/references/style-designs/soft-progress-analytics-workbench.md +382 -0
- package/yida-skills/skills/yida-design/references/style-designs/soft-timeline-analytics-workbench.md +367 -0
- package/yida-skills/skills/yida-design/references/style-designs/teal-rail-analytics-workbench.md +341 -0
- package/yida-skills/skills/yida-design/references/theme/app-custom-theme-template.css +432 -350
- package/yida-skills/skills/yida-design/references/visual-decision-engine.md +143 -19
- package/yida-skills/skills/yida-design/references/visual-scaffold-recipes.md +27 -15
- package/yida-skills/skills/yida-design/sub_skill/page-design/SKILL.md +0 -4
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/SKILL.md +8 -22
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/assets/README.md +10 -14
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/assets/build-plan-template.html +4 -9
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/build-plan-compact-schema.md +27 -49
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/build-plan-schema.md +154 -33
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/visual-design.md +127 -48
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/references/visual-theme-selection.md +51 -37
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/scripts/render_build_plan.py +48 -43
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/scripts/validate_design_themes.py +190 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/README.md +98 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/airy-media-grid.md +339 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/airy-modular-clarity.md +348 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/airy-structured-clarity.md +344 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/ambient-halo-layered.md +345 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/dark-focus-layered.md +355 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/dark-luminous-modular.md +377 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/deep-stage-duotone.md +352 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/hairline-runway-clarity.md +389 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/high-contrast-modular.md +364 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/index.json +329 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/interlocked-vivid-modules.md +348 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/matrix-grid-focus.md +345 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/media-rail-inspector.md +379 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/mist-layered-signal.md +347 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/modular-rail-signal.md +352 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/mono-grid-signal.md +386 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/ribbon-ledger-lift.md +384 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/segmented-meter-clarity.md +388 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/split-rail-precision.md +341 -0
- package/yida-skills/skills/yida-design/sub_skill/yida-design-plan/templates/design-themes/status-framed-media-grid.md +361 -0
- package/yida-skills/skills/yida-design/workflow/output-design.md +375 -117
- package/yida-skills/skills/yida-design/workflow/output-prd.md +185 -0
- package/yida-skills/skills/yida-design/workflow/step-1-read-brief.md +1 -1
- package/yida-skills/skills/yida-design/workflow/step-2-theme-system.md +29 -33
- package/yida-skills/skills/yida-design/workflow/step-4-wireframe-interaction.md +1 -3
- package/yida-skills/skills/yida-design/workflow/step-5-visual-states.md +106 -22
- package/yida-skills/skills/yida-design/workflow/step-6-handoff.md +22 -15
- package/yida-skills/skills/yida-form-permission/SKILL.md +0 -6
- package/yida-skills/skills/yida-image-assets/SKILL.md +50 -73
- package/yida-skills/skills/yida-image-assets/references/manifest-contract.md +52 -82
- package/yida-skills/skills/yida-image-assets/references/source-policy.md +15 -14
- package/yida-skills/skills/yida-integration/SKILL.md +0 -1
- package/yida-skills/skills/yida-login/SKILL.md +0 -2
- package/yida-skills/skills/yida-nav-group/SKILL.md +2 -4
- package/yida-skills/skills/yida-nav-shell/SKILL.md +12 -36
- package/yida-skills/skills/yida-nav-shell/references/nav-shell-patterns.md +136 -79
- package/yida-skills/skills/yida-page-config/SKILL.md +4 -13
- package/yida-skills/skills/yida-prd/SKILL.md +3 -5
- package/yida-skills/skills/yida-prd/references/app/blueprint.md +4 -4
- package/yida-skills/skills/yida-prd/references/app/navigation-patterns.md +3 -6
- package/yida-skills/skills/yida-prd/references/app/role-journey.md +3 -5
- package/yida-skills/skills/yida-prd/references/plan-content.md +0 -4
- package/yida-skills/skills/yida-prd/workflow/output-prd.md +11 -18
- package/yida-skills/skills/yida-prd/workflow/plan-business.md +4 -4
- package/yida-skills/skills/yida-prd/workflow/step-2-information-architecture.md +8 -11
- package/yida-skills/skills/yida-publish-page/SKILL.md +1 -9
- package/yida-skills/skills/yida-requirement-analysis/SKILL.md +39 -10
- package/yida-skills/skills/yida-requirement-analysis/workflow/prepare-brief.md +71 -40
- package/yida-skills/skills-index.json +16 -36
- package/lib/app/application-entry-urls.js +0 -31
- package/lib/app/application-style.js +0 -69
- package/lib/app/canvas-icon-exports.json +0 -6160
- package/lib/app/canvas-icon-guard.js +0 -87
- package/lib/app/canvas-navigation-guard.js +0 -84
- package/lib/app/canvas-path-guard.js +0 -78
- package/lib/app/canvas-theme-guard.js +0 -184
- package/lib/app/form-data-response-guard.js +0 -57
- package/lib/asset/asset-execution.js +0 -79
- package/lib/core/css-structure.js +0 -37
- package/lib/design/check-design.js +0 -51
- package/lib/design/document.js +0 -458
- package/lib/design/icon-contrast.js +0 -85
- package/lib/design/page-content.js +0 -11
- package/lib/design-plan/artifact-updates.js +0 -117
- package/lib/design-plan/confirmation.js +0 -13
- package/lib/design-plan/entry-navigation.js +0 -97
- package/lib/design-plan/navigation-policy.js +0 -38
- package/lib/design-plan/rebase.js +0 -60
- package/lib/design-plan/themes.js +0 -101
- package/lib/design-plan/visual-policy.js +0 -42
- package/lib/samples/openyida-scaffold/canvas-admin-entry.jsx +0 -62
- package/lib/samples/openyida-scaffold/canvas-navigation.jsx +0 -56
- package/lib/samples/openyida-scaffold/canvas-view-state.jsx +0 -74
- package/yida-skills/skills/yida-app/references/entry-navigation.md +0 -193
- package/yida-skills/skills/yida-canvas-custom-page/references/view-state-recovery.md +0 -52
- package/yida-skills/skills/yida-canvas-data-binding/references/business-action-permissions.md +0 -31
- package/yida-skills/skills/yida-design/references/application-style-library.md +0 -93
- package/yida-skills/skills/yida-design/references/application-theme-consistency.md +0 -150
- package/yida-skills/skills/yida-design/references/native-form-styles.md +0 -208
- package/yida-skills/skills/yida-design/references/navigation-decision.md +0 -53
- package/yida-skills/skills/yida-design/references/page-continuity.md +0 -42
- package/yida-skills/skills/yida-design/references/theme/application-style-recipes.css +0 -58
- package/yida-skills/skills/yida-design/references/theme-selection.md +0 -67
- package/yida-skills/skills/yida-design/scripts/validate_design_themes.py +0 -302
- package/yida-skills/skills/yida-design/templates/application-styles.json +0 -398
- package/yida-skills/skills/yida-design/templates/design-themes/README.md +0 -73
- package/yida-skills/skills/yida-design/templates/design-themes/app-amber/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-amber/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-amber/form-layout.json +0 -15
- package/yida-skills/skills/yida-design/templates/design-themes/app-editorial/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-editorial/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-editorial/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/app-executive/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-executive/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-executive/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/app-finance/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-finance/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-finance/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/app-glass/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-glass/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-glass/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/app-graphite/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-graphite/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-graphite/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/app-line/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-line/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-line/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/app-neon/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-neon/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-neon/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/app-nordic/app_theme.css +0 -754
- package/yida-skills/skills/yida-design/templates/design-themes/app-nordic/design.md +0 -279
- package/yida-skills/skills/yida-design/templates/design-themes/app-nordic/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/app-paper/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-paper/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-paper/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/app-platinum/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-platinum/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-platinum/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/app-plum/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-plum/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-plum/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/app-pop/app_theme.css +0 -758
- package/yida-skills/skills/yida-design/templates/design-themes/app-pop/design.md +0 -281
- package/yida-skills/skills/yida-design/templates/design-themes/app-pop/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/app-sage/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-sage/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-sage/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/app-teal/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-teal/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-teal/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/app-terminal/app_theme.css +0 -754
- package/yida-skills/skills/yida-design/templates/design-themes/app-terminal/design.md +0 -279
- package/yida-skills/skills/yida-design/templates/design-themes/app-terminal/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/app-ticket/app_theme.css +0 -752
- package/yida-skills/skills/yida-design/templates/design-themes/app-ticket/design.md +0 -278
- package/yida-skills/skills/yida-design/templates/design-themes/app-ticket/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/app-wire/app_theme.css +0 -748
- package/yida-skills/skills/yida-design/templates/design-themes/app-wire/design.md +0 -274
- package/yida-skills/skills/yida-design/templates/design-themes/app-wire/form-layout.json +0 -14
- package/yida-skills/skills/yida-design/templates/design-themes/basic-tokens.json +0 -118
- package/yida-skills/skills/yida-design/templates/design-themes/dark-inset-hairline/app_theme.css +0 -690
- package/yida-skills/skills/yida-design/templates/design-themes/dark-inset-hairline/design.md +0 -382
- package/yida-skills/skills/yida-design/templates/design-themes/dark-inset-hairline/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-fine-lines/app_theme.css +0 -691
- package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-fine-lines/design.md +0 -380
- package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-fine-lines/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-signal-panels/app_theme.css +0 -696
- package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-signal-panels/design.md +0 -378
- package/yida-skills/skills/yida-design/templates/design-themes/dark-rail-signal-panels/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/free-creative/app_theme.css +0 -689
- package/yida-skills/skills/yida-design/templates/design-themes/free-creative/design.md +0 -238
- package/yida-skills/skills/yida-design/templates/design-themes/free-creative/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/graphite-bevel-grid/app_theme.css +0 -692
- package/yida-skills/skills/yida-design/templates/design-themes/graphite-bevel-grid/design.md +0 -375
- package/yida-skills/skills/yida-design/templates/design-themes/graphite-bevel-grid/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/hairline-shared-bands/app_theme.css +0 -691
- package/yida-skills/skills/yida-design/templates/design-themes/hairline-shared-bands/design.md +0 -362
- package/yida-skills/skills/yida-design/templates/design-themes/hairline-shared-bands/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/hairline-soft-blocks/app_theme.css +0 -691
- package/yida-skills/skills/yida-design/templates/design-themes/hairline-soft-blocks/design.md +0 -409
- package/yida-skills/skills/yida-design/templates/design-themes/hairline-soft-blocks/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/index.json +0 -464
- package/yida-skills/skills/yida-design/templates/design-themes/ink-glow-soft-panels/app_theme.css +0 -701
- package/yida-skills/skills/yida-design/templates/design-themes/ink-glow-soft-panels/design.md +0 -379
- package/yida-skills/skills/yida-design/templates/design-themes/ink-glow-soft-panels/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/inset-frame-pixel-rhythm/app_theme.css +0 -691
- package/yida-skills/skills/yida-design/templates/design-themes/inset-frame-pixel-rhythm/design.md +0 -404
- package/yida-skills/skills/yida-design/templates/design-themes/inset-frame-pixel-rhythm/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/outlined-texture-duotone/app_theme.css +0 -698
- package/yida-skills/skills/yida-design/templates/design-themes/outlined-texture-duotone/design.md +0 -389
- package/yida-skills/skills/yida-design/templates/design-themes/outlined-texture-duotone/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/soft-inset-surfaces/app_theme.css +0 -691
- package/yida-skills/skills/yida-design/templates/design-themes/soft-inset-surfaces/design.md +0 -372
- package/yida-skills/skills/yida-design/templates/design-themes/soft-inset-surfaces/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/soft-outline-rhythm/app_theme.css +0 -690
- package/yida-skills/skills/yida-design/templates/design-themes/soft-outline-rhythm/design.md +0 -455
- package/yida-skills/skills/yida-design/templates/design-themes/soft-outline-rhythm/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/soft-rail-bold-band/app_theme.css +0 -698
- package/yida-skills/skills/yida-design/templates/design-themes/soft-rail-bold-band/design.md +0 -394
- package/yida-skills/skills/yida-design/templates/design-themes/soft-rail-bold-band/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/soft-spectral-panels/app_theme.css +0 -692
- package/yida-skills/skills/yida-design/templates/design-themes/soft-spectral-panels/design.md +0 -391
- package/yida-skills/skills/yida-design/templates/design-themes/soft-spectral-panels/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/warm-canvas-contrast-panels/app_theme.css +0 -711
- package/yida-skills/skills/yida-design/templates/design-themes/warm-canvas-contrast-panels/design.md +0 -408
- package/yida-skills/skills/yida-design/templates/design-themes/warm-canvas-contrast-panels/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/design-themes/warm-rail-muted-panels/app_theme.css +0 -692
- package/yida-skills/skills/yida-design/templates/design-themes/warm-rail-muted-panels/design.md +0 -383
- package/yida-skills/skills/yida-design/templates/design-themes/warm-rail-muted-panels/form-layout.json +0 -13
- package/yida-skills/skills/yida-design/templates/navigation-styles.json +0 -769
- package/yida-skills/skills/yida-requirement-analysis/references/experience-groups.md +0 -79
- package/yida-skills/skills/yida-requirement-analysis/references/handoff.md +0 -68
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
# 输出:prd.md(兼容入口,owner 已迁移)
|
|
2
|
+
|
|
3
|
+
> 完整应用的 PRD 由 `yida-prd/workflow/output-prd.md` 负责。本文件只保留旧引用兼容,不得由 `yida-design` 工作流加载或写入 `prd.md`。
|
|
4
|
+
|
|
5
|
+
> 本文件定义完整应用的 `prd/<项目名>/prd.md` 输出格式。`prd.md` 记录业务语义、产品设计、页面结构、资源创建顺序、页面实现交付顺序和导航顺序。PRD 不写 UI 视觉设计规范,只写应用主题色和风格摘要,并引用 `design.md` 章节。
|
|
6
|
+
|
|
7
|
+
## PRD 输出格式
|
|
8
|
+
|
|
9
|
+
```markdown
|
|
10
|
+
# <应用名> PRD
|
|
11
|
+
|
|
12
|
+
## 1. 应用基本信息
|
|
13
|
+
|
|
14
|
+
| 项目 | 内容 |
|
|
15
|
+
| --- | --- |
|
|
16
|
+
| 应用名称 | <业务名称> |
|
|
17
|
+
| 应用类型 | <企业管理 / 经营分析 / 流程审批 / 数据采集 / 客户服务 / 库存进销存 / 项目协作 / 资产设备 / 教育培训 / 知识内容 / 监控指挥 / 官网门户 / 活动报名 / 轻量工具> |
|
|
18
|
+
| 业务目标 | <一句话说明这个应用解决什么问题> |
|
|
19
|
+
| 核心用户 | <角色 1 / 角色 2 / 管理员等> |
|
|
20
|
+
| 使用场景 | <PC 办公 / 移动录入 / 大屏查看 / 外部官网等> |
|
|
21
|
+
| 核心对象 | <客户 / 订单 / 商品 / 工单 / 审批单等> |
|
|
22
|
+
| 主题色 | <当前应用主题色 / 用户指定品牌色 / 待创建后回填;写清色值或主题 key> |
|
|
23
|
+
| 权限口径 | <谁能看、谁能填、谁能审批、谁能管理> |
|
|
24
|
+
|
|
25
|
+
## 2. 应用配置
|
|
26
|
+
|
|
27
|
+
| 配置项 | 值 |
|
|
28
|
+
| --- | --- |
|
|
29
|
+
| appType | <已有应用填真实 appType;从零创建时写“待创建后回填”> |
|
|
30
|
+
| corpId | <目标组织 corpId;未知时写“待登录态确认”> |
|
|
31
|
+
| baseUrl | <平台地址,如 https://www.aliwork.com 或私有化域名> |
|
|
32
|
+
| 是否隐藏平台导航 | <否 / 是;默认否。仅自绘应用级导航或用户明确要求隐藏时写“是”,并配置 `hideAppNav='y'`;`isRenderNav=false` 只隐藏当前页面导航> |
|
|
33
|
+
|
|
34
|
+
## 3. 数据结构(业务语义,不含细节 ID)
|
|
35
|
+
|
|
36
|
+
### <表单 / 数据对象名称>
|
|
37
|
+
|
|
38
|
+
| 字段名 | 字段类型 | 必填 | 默认值 / 选项 | 关联关系 | 分组 | 说明 |
|
|
39
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
40
|
+
| <字段> | <文本 / 数字 / 日期 / 单选 / 多选 / 子表单 / 关联表> | <是/否> | <默认值或选项> | <关联对象> | <基础信息 / 状态 / 明细> | <业务说明> |
|
|
41
|
+
|
|
42
|
+
### 初始示例数据计划
|
|
43
|
+
|
|
44
|
+
完整应用默认在表单创建后、页面实现前,为核心业务普通表单写入 1-3 条业务化示例记录。这里写业务语义,真实 fieldId 由实现阶段通过 `openyida get-schema` 回填。
|
|
45
|
+
|
|
46
|
+
| 表单 | 默认写入数量 | 示例记录语义 | 是否允许跳过 | 跳过条件 |
|
|
47
|
+
| --- | --- | --- | --- | --- |
|
|
48
|
+
| <核心业务表单> | <1-3> | <记录 1:关键字段和值;记录 2:关键字段和值;记录 3:关键字段和值> | <否 / 是> | <用户明确不要造数 / 配置字典表 / 敏感数据 / 字段缺少可安全构造值> |
|
|
49
|
+
|
|
50
|
+
要求:示例记录必须贴合当前业务,不写“测试1/测试2”;日期字段在实现阶段必须转成 13 位毫秒时间戳;普通表单逐条 `openyida data create form` 写入并 query 抽查。流程表单只有 processCode 已确认且页面需要流程实例时才发起。
|
|
51
|
+
|
|
52
|
+
流程表单需要补充:
|
|
53
|
+
|
|
54
|
+
| 节点 | 处理人 | 流转条件 | 表单动作 |
|
|
55
|
+
| --- | --- | --- | --- |
|
|
56
|
+
| 提交 | <角色> | <条件> | <填写/校验> |
|
|
57
|
+
|
|
58
|
+
## 4. 页面与功能设计
|
|
59
|
+
|
|
60
|
+
### <页面名>
|
|
61
|
+
|
|
62
|
+
- 页面类型:<display-page / form-page / process-form / report / detail-entry>
|
|
63
|
+
- 页面定位:<主入口页面 / 核心业务页 / 详情页 / 报表页 / 配置页;说明为什么需要这个页面>
|
|
64
|
+
- 页面目标:<这个页面帮助用户完成什么判断或操作>
|
|
65
|
+
- 页面关系:<从哪里进入、下一步去列表 / 看板 / 表单提交 / 详情 / 报表中的哪一个>
|
|
66
|
+
- 设计文件:<display-page 填 `prd/<项目名>/design.md`;普通表单 / 流程表单填写表单结构与填写路径引导>
|
|
67
|
+
- 设计引用:<引用 design.md 中的章节 ID,例如 themeProfile、sceneRecipes.workbench、components.table、states.empty>
|
|
68
|
+
- 风格理由:<一句话说明该页面为什么采用 design.md 中的对应场景规则>
|
|
69
|
+
- 主题关系:<跟随当前应用主题 / 平台预置主题 / 应用自定义主题文件;只写摘要,具体 token 与 UI 规则见 design.md>
|
|
70
|
+
- 关联资源:
|
|
71
|
+
- 表单:<表单名称;用于新增、编辑、查询或作为列表数据来源>
|
|
72
|
+
- 流程:<流程名称;用于提交、审批、处理或状态流转>
|
|
73
|
+
- 报表 / 数据源:<报表或数据来源;用于指标、图表或大屏>
|
|
74
|
+
- 详情页:<原生 formDetail / 自定义详情页 / 抽屉详情>
|
|
75
|
+
- 需要设计的区块:
|
|
76
|
+
- <区块名称>:<区块目的;数据来源;主操作;状态>
|
|
77
|
+
- 工作台、首页、门户、看板、展示页和业务入口页推荐逐条列出 8-10 个 `contentBlocks` 以上,但这不是硬门槛。KPI 组、快捷入口组、列表组各只算 1 个区块,不能用子项或列表行凑数;窄场景可以更少,并说明取舍理由。
|
|
78
|
+
- 自定义页面需要逐个写清首屏、筛选、列表/卡片、图表、表单入口、详情抽屉、空态等区块。
|
|
79
|
+
- 布局骨架:<顶部概览 / 筛选区 / 表格 / 卡片列表 / 图表区 / 右侧详情等>
|
|
80
|
+
- 核心组件:<KPI / 快捷入口 / 表格 / 图表 / 表单入口 / 状态标签等>
|
|
81
|
+
- 主操作:<新增 / 提交 / 查看 / 审批 / 编辑 / 跳转>
|
|
82
|
+
- PC / 移动端差异:<PC 抽屉 / 移动端整页 / 卡片堆叠 / 隐藏低频列>
|
|
83
|
+
- pageSpecHandoff:
|
|
84
|
+
- pageStructure:<workbench / dashboard-overview / business-list / detail-profile / split-pane-detail / portal-shell-home / official-homepage / data-screen>
|
|
85
|
+
- scene:<workbench / dashboard / list / detail / landing / screen>
|
|
86
|
+
- contentBlocks:<推荐列出 8-10 个业务区块以上;KPI/快捷入口/列表/图表子项不分别计数>
|
|
87
|
+
- themeSummary:<应用主题色 / 风格关键词 / 主题交付方式摘要;必须与 design.md 一致,不写 token 和视觉规则>
|
|
88
|
+
- designFile:<prd/<项目名>/design.md>
|
|
89
|
+
- designRefs:<themeProfile / sceneRecipes.<scene> / components.<name> / states.<name>>
|
|
90
|
+
- dataBinding:<form / report / connector / static-empty;真实资源 ID 由实现阶段回填>
|
|
91
|
+
- primaryAction:<主操作和打开方式>
|
|
92
|
+
|
|
93
|
+
## 5. 应用主题与风格摘要
|
|
94
|
+
|
|
95
|
+
| 项目 | 内容 |
|
|
96
|
+
| --- | --- |
|
|
97
|
+
| 设计文件 | `prd/<项目名>/design.md` |
|
|
98
|
+
| 应用主题色 | <平台预置 key 或自定义色盘名称;必须与 design.md 的 Theme Profile 一致> |
|
|
99
|
+
| 风格摘要 | <2-3 个业务风格关键词,例如高效协同、稳重可信、经营洞察;完整 UI 设计见 design.md> |
|
|
100
|
+
| 主题交付 | <平台预置 / 应用自定义主题文件 / 继承当前应用;具体 themeProfile、token、主题文件交付策略见 design.md> |
|
|
101
|
+
| 明暗模式 | <light 默认;dark 只在明确暗色/夜间/高对比/黑金时使用;具体色阶见 design.md> |
|
|
102
|
+
| 页面设计引用 | <逐页列出 designRefs,不复制 design.md 内容> |
|
|
103
|
+
| 素材策略摘要 | <官网/品牌页是否需要真实图片或生成图片;具体视觉表达见 design.md> |
|
|
104
|
+
| 一致性要求 | <PRD 中主题色和风格摘要必须与 design.md 保持一致;冲突时以 design.md 为准并修正 PRD 摘要> |
|
|
105
|
+
|
|
106
|
+
## 6. 业务逻辑与交互状态
|
|
107
|
+
|
|
108
|
+
| 类型 | 规则 |
|
|
109
|
+
| --- | --- |
|
|
110
|
+
| 表单提交后 | <刷新列表 / 回到当前工作台 / 触发流程 / 更新状态> |
|
|
111
|
+
| 新增/提交入口 | <PC 侧边抽屉 iframe 承载页面级隐藏导航的 `submission/{formUuid}?isRenderNav=false`,抽屉默认半屏 `50vw`;移动端整页或新页打开;必要时用 `update-form-config` 持久化表单设置 `isRenderNav=false`> |
|
|
112
|
+
| 详情查看 | <PC 侧边抽屉 iframe 承载页面级隐藏导航的 `formDetail/{formUuid}?formInstId={formInstId}&navConfig.layout=1180&isRenderNav=false`,抽屉默认半屏 `50vw`;移动端整页或新页打开;formInstId 来自真实数据记录并优先取 row.formInstId,缺失时禁用详情入口> |
|
|
113
|
+
| 数据变更 | <自动计算、状态流转、通知或提醒> |
|
|
114
|
+
| 权限规则 | <角色能看、能改、能审批的边界> |
|
|
115
|
+
| 空状态 | <无数据时的说明、主操作入口和下一步> |
|
|
116
|
+
| 加载状态 | <骨架屏 / 表格 loading / 图表 loading> |
|
|
117
|
+
| 错误状态 | <错误提示、重试、回退入口> |
|
|
118
|
+
|
|
119
|
+
## 7. 资源蓝图
|
|
120
|
+
|
|
121
|
+
| 资源 | 类型 | 用途 | 关键字段 / 功能 | 创建策略 |
|
|
122
|
+
| --- | --- | --- | --- | --- |
|
|
123
|
+
| <主页面> | display-page / main | <入口和概览> | <contentBlocks:推荐 8-10 个区块以上,如标题上下文、筛选、摘要、主操作、待办、最近记录、动态、提醒、右侧上下文、空态行动等;不作为硬门槛> | <复用 / 创建> |
|
|
124
|
+
| <业务表单> | normal-form | <数据录入和列表管理> | <核心字段> | <复用 / 创建 / 更新> |
|
|
125
|
+
| <审批表单> | process-form | <流程闭环> | <节点和条件> | <复用 / 创建 / 更新> |
|
|
126
|
+
| <报表> | report | <汇总分析> | <指标口径> | <复用 / 创建 / 更新> |
|
|
127
|
+
|
|
128
|
+
默认不创建自定义列表页;用户明确要求时才新增 `display-page / list`。
|
|
129
|
+
|
|
130
|
+
## 8. 资源创建顺序
|
|
131
|
+
|
|
132
|
+
资源创建顺序服务于依赖关系;表单/流程在自定义页面之前创建,便于页面消费表单 URL、字段语义和数据来源。
|
|
133
|
+
|
|
134
|
+
| 顺序 | 资源 | 依赖原因 | 创建后记录 |
|
|
135
|
+
| --- | --- | --- | --- |
|
|
136
|
+
| 1 | 应用 | 承载所有页面、表单、流程和导航 | `appType` |
|
|
137
|
+
| 2 | 普通表单 / 流程表单 | 自定义页面需要表单 URL、字段语义和数据来源 | `formUuid`、字段映射 |
|
|
138
|
+
| 3 | 应用主题与导航配置 | 在应用级统一配置主题,并明确是否隐藏平台导航 | `themeFile`、`themeColor`、`navTheme`、`logoSource`、`layoutDirection`、`hideAppNav` |
|
|
139
|
+
| 4 | 初始示例数据 | 页面需要读取真实表单记录,完整应用默认写入 1-3 条核心业务记录 | 写入数量、抽查结果 |
|
|
140
|
+
| 5 | 主自定义页面 / 业务自定义页面 | 页面消费表单入口和表单数据 | `displayPageFormUuid` |
|
|
141
|
+
| 6 | 报表 / 数据看板数据源 | 看板或大屏需要汇总指标时创建 | `reportId` 或数据源信息 |
|
|
142
|
+
| 7 | 发布与导航排序 | 页面发布成功后再调整导航展示 | 发布 URL、导航状态 |
|
|
143
|
+
|
|
144
|
+
## 9. 页面实现交付顺序
|
|
145
|
+
|
|
146
|
+
页面实现交付顺序是页面开发和验收顺序,不等同于资源创建顺序,也不等同于导航顺序。
|
|
147
|
+
|
|
148
|
+
| 顺序 | 页面 | 实现重点 | 依赖资源 | 验收点 |
|
|
149
|
+
| --- | --- | --- | --- | --- |
|
|
150
|
+
| 1 | <主页面 / 工作台 / 官网首页> | <首屏、核心入口、主题风格> | <表单入口 / 空态 / 指标口径> | <打开后能完成核心判断> |
|
|
151
|
+
| 2 | <数据管理入口> | <默认使用表单数据管理页;用户要求时实现自定义列表> | <核心业务表单> | <可新增或查看详情> |
|
|
152
|
+
| 3 | <详情 / 看板 / 大屏> | <对象叙事、图表、状态、洞察> | <表单数据 / 报表> | <能解释业务状态> |
|
|
153
|
+
| 4 | <辅助页面> | <配置、说明、低频入口> | <相关表单或链接> | <不阻断主链路> |
|
|
154
|
+
|
|
155
|
+
## 10. 导航顺序
|
|
156
|
+
|
|
157
|
+
导航顺序是用户在平台导航中看到的顺序,按业务入口和使用频率排列。
|
|
158
|
+
|
|
159
|
+
| 分组 | 页面顺序 | 导航呈现 | 放置原则 |
|
|
160
|
+
| --- | --- | --- | --- |
|
|
161
|
+
| 门户 / 首页 | <主页面 / 工作台 / 官网首页> | <平台导航 / 顶部导航 / 侧边导航 / 单页入口> | 第一入口放最前 |
|
|
162
|
+
| 业务办理 | <流程表单 / 新增入口 / 待办相关页面> | <平台导航或页面内快捷入口> | 高频动作靠前 |
|
|
163
|
+
| 数据管理 | <表单数据管理页 / 用户要求的自定义列表页 / 详情页> | <平台导航分组> | 数据录入、查询和维护集中 |
|
|
164
|
+
| 经营分析 | <看板 / 报表 / 大屏> | <平台导航 / 大屏全屏入口 / 页面级隐藏导航 isRenderNav=false> | 管理者查看,放在业务操作之后或独立分组 |
|
|
165
|
+
| 系统配置 | <配置表 / 字典表 / 权限说明> | <平台导航靠后分组> | 低频维护靠后 |
|
|
166
|
+
|
|
167
|
+
## 11. 验收标准
|
|
168
|
+
|
|
169
|
+
| 场景 | 验收标准 |
|
|
170
|
+
| --- | --- |
|
|
171
|
+
| 主页面访问 | <页面发布成功,打开后首屏能完成核心判断> |
|
|
172
|
+
| 数据录入 | <表单能提交,提交后页面能刷新或回到正确入口> |
|
|
173
|
+
| 主题配置与页面消费 | <应用主题文件已配置,自定义页面已消费对应主题变量> |
|
|
174
|
+
| 初始示例数据 | <完整应用默认已为核心普通表单写入 1-3 条业务化示例记录并 query 抽查;跳过时说明原因> |
|
|
175
|
+
| 数据查看 | <默认使用表单数据管理页;自定义列表 / 看板 / 详情显示真实数据或空态> |
|
|
176
|
+
| 权限 / 流程 | <权限规则或流程节点生效> |
|
|
177
|
+
| 视觉一致性 | <主题色、布局密度、状态、图标和当前业务一致> |
|
|
178
|
+
| 导航可用 | <导航顺序符合 PRD,主入口靠前,配置/低频资源靠后> |
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## 交给实现阶段
|
|
182
|
+
|
|
183
|
+
- `yida-app` 读取 `prd/<项目名>/prd.md` 和 `prd/<项目名>/design.md` 后创建或复用资源。
|
|
184
|
+
- 真实 ID 写入 `.cache/<项目名>-schema.json`。
|
|
185
|
+
- 页面实现阶段读取 `prd.md` 的业务内容,并直接读取 `design.md` 的主题、布局、材质、圆角、密度、呼吸感、组件和状态规则;只有走页面生成器或需要稳定交接时才派生 `page-spec.json`,再交给 `yida-canvas-custom-page` 实现。
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
1. 文件存在且 JSON 可解析,`schemaVersion=1`。
|
|
8
8
|
2. 读取行业、目标用户、业务目标、核心功能、业务对象、页面场景、品牌和色彩偏好。
|
|
9
|
-
3.
|
|
9
|
+
3. 按已确认范围设计;自定义页面生成逐页场景规则,表单与流程沿用应用主题。
|
|
10
10
|
4. 会改变视觉方向的 `openQuestions` 未解决时,暂停生成视觉设计并交回 `yida-app` 处理。
|
|
11
11
|
|
|
12
12
|
## 产出
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
# 选择主题色和 token
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> 这一步选择应用主色、辅助色、字体层级、组件基调和宜搭 token 作用域。
|
|
4
4
|
|
|
5
5
|
视觉方向要从“高级 / 简洁 / 商务”继续落细。PRD 只写应用主题色和风格摘要;`design.md` 写完整 `themeProfile`、主题 token、主色、辅助色、中性色、字体层级和组件基调。
|
|
6
6
|
|
|
7
7
|
已有应用里的单页重构/美化读取并沿用当前应用主题。用户要求更换主色时,更新应用级主题文件,不在页面代码中创建或向上层写入另一套主题。
|
|
8
8
|
|
|
9
|
-
先按[设计方向比较](../references/theme-selection.md#设计方向比较)确定本项目的构图、层级、材质和色彩关系,复用已经完成的选择。
|
|
10
|
-
|
|
11
9
|
## 选择主题色
|
|
12
10
|
|
|
13
11
|
先确定主题色来源,再生成应用主题文件。用户确认“自然绿意”等整体风格时,页面浅底、卡片、填充、边界和交互一起协调,不能只改主按钮;字体保持清晰中性层级,状态保持语义色。模板固定雾白/灰阶不能覆盖该选择。完整规则见 [用户配色与模板的优先级](output-design.md#用户配色与模板的优先级)。主题色来源优先级如下:
|
|
@@ -15,14 +13,14 @@
|
|
|
15
13
|
| 优先级 | themeColorSource | 触发条件 | 输出规则 |
|
|
16
14
|
| --- | --- | --- | --- |
|
|
17
15
|
| 1 | `user-specified` | 用户明确给出色值、品牌色、主题 key 或换肤要求 | 原样记录用户意图;命中平台 key 才允许传 `--theme`,任意色值写 token |
|
|
18
|
-
| 2 | `application-theme` | 已有应用或工作区中能读到当前 `theme`、`colour`、`themeColor` 或 `navTheme` |
|
|
16
|
+
| 2 | `application-theme` | 已有应用或工作区中能读到当前 `theme`、`colour`、`themeColor` 或 `navTheme` | 单页美化和已有应用改造默认跟随;页面主按钮、链接、选中态和图表主序列跟随应用主题 |
|
|
19
17
|
| 3 | `business-inferred` | 无明确主题证据,需要根据行业、品牌气质、业务情绪和视觉目标推导 | 设计任意合法的自定义品牌色盘,写应用主题 token 和文件交付方案 |
|
|
20
|
-
|
|
18
|
+
| 4 | `template-default` | 没有任何主题证据且无法稳定推导业务色彩 | 临时使用 UI 视觉设计阶段所选 style-design 的默认 brand token,并明确标记为兜底 |
|
|
21
19
|
|
|
22
20
|
1. 先判断业务气质:行业、目标用户、品牌关键词、业务情绪、视觉目标,以及是否需要亲和/专业/活力/稳重/科技/自然感。
|
|
23
|
-
2. 在 `design.md` 中记录主题色、`navTheme`、`logoSource`
|
|
21
|
+
2. 在 `design.md` 中记录主题色、`navTheme`、`logoSource` 和 `layoutDirection`。
|
|
24
22
|
3. 主题文件按 [生成与更新规则](output-design.md#cli-token-契约fast--plan-共用) 准备;Plan 复用已生成的主题 CSS。
|
|
25
|
-
4. 主题 CSS
|
|
23
|
+
4. 主题 CSS 生成后只用 `Read` 查看目标 token、用小范围 `Edit` 逐组修改;不得用 Python、Node、Shell 或 `run_workspace_script` 脚本生成、复制、整文件重写、正则替换或 retheme `app-theme.css`,校验脚本只能读取并报告问题,不能改写主题文件。
|
|
26
24
|
5. 整体暗色时,按 [浮层适配](../references/theme/theme-token-presets.md#暗色主题浮层适配) 补齐组件 token 和必要的 classname 覆盖。
|
|
27
25
|
6. `podBlue`、`podGreen`、`podOrange` 只是常用浅底候选,不是固定默认。不要因为没有特别说明就自动回到 #1677ff,也不要套用“科技=蓝、宠物=橙、法律=蓝”这类行业刻板配色。
|
|
28
26
|
7. 主题色只作为后续所选设计风格的换肤输入;除用户明确要求深色/夜间/高对比外,不用主题色反向决定风格。
|
|
@@ -33,13 +31,13 @@
|
|
|
33
31
|
|
|
34
32
|
| token | 语义 | 典型用途 |
|
|
35
33
|
| --- | --- | --- |
|
|
36
|
-
| `--color-brand1-1` |
|
|
34
|
+
| `--color-brand1-1` | 明亮品牌浅色或浅 hover 色 | 列表 hover、菜单 hover、轻量背景,不直接当深色文字 |
|
|
37
35
|
| `--color-brand1-2` | 品牌浅底 | 标签浅底、提示块、选中底、弱强调背景 |
|
|
38
|
-
| `--color-brand1-3` |
|
|
39
|
-
| `--color-brand1-5` |
|
|
36
|
+
| `--color-brand1-3` | 品牌透明/浅边界 | 选中边框、禁用/弱化品牌态、浅描边 |
|
|
37
|
+
| `--color-brand1-5` | 主色 hover 档 | 主按钮 hover、链接 hover、可点击强调 hover |
|
|
40
38
|
| `--color-brand1-6` | 主品牌色 | 主按钮、链接、选中态、重点标签、图表主序列 |
|
|
41
|
-
| `--color-brand1-9` |
|
|
42
|
-
| `--color-brand1-10` |
|
|
39
|
+
| `--color-brand1-9` | 深主色 | 深色强调、深底按钮、强调标题、深色场景锚点 |
|
|
40
|
+
| `--color-brand1-10` | 深色或透明强调档 | 深色 hover、强强调背景、深色主题补充 |
|
|
43
41
|
| `--color-brand-1` | 移动端品牌浅/透明档 1 | 移动端壳层、移动端表单、移动组件浅品牌态 |
|
|
44
42
|
| `--color-brand-2` | 移动端品牌浅/中档 2 | 移动端 hover、轻量强调、移动端组件浅色面 |
|
|
45
43
|
| `--color-brand-3` | 移动端主品牌档 3 | 移动端主操作、选中态、原生表单移动主色 |
|
|
@@ -48,24 +46,23 @@
|
|
|
48
46
|
|
|
49
47
|
自定义色盘生成时,先确定 `--color-brand1-6` 主色,再推导平台实际消费的浅底、hover、深色和移动端桥接色阶。移动端 `--color-brand-1` ~ `--color-brand-4` 必须保留,不能只输出 `--color-brand1-*`。
|
|
50
48
|
|
|
51
|
-
|
|
49
|
+
AI 默认直接使用模板内 coffee 咖啡色色阶和大圆角层级。若 `design.md` 选择其他主色,必须成套替换品牌色阶、基础品牌色阶、`--color-group`,以及按钮、表单、选中态、导航和日期组件中的品牌相关直接色值;成功、警告、错误、通知等语义色保持独立。除非 `roundedRule` 明确改变,不得拆散模板的页面/卡片/抽屉 20px、组件 8-12px、按钮胶囊形圆角层级。
|
|
52
50
|
|
|
53
51
|
## 处理应用主题和页面风格
|
|
54
52
|
|
|
55
|
-
-
|
|
56
|
-
- `design.md`
|
|
57
|
-
-
|
|
58
|
-
-
|
|
53
|
+
- 平台导航、顶部壳层或应用菜单可见时,应用主题色是页面主色来源;页面主按钮、链接、选中态、重点标签、图表主序列和表单入口都使用应用主题 `--color-brand1-*`。
|
|
54
|
+
- `design.md` 负责布局配方、信息密度、卡片形态、图表语言和视觉 DNA;当 `design.md` 色相与应用主题不同,把 `design.md` 色相降为辅助色、浅背景、分组色或装饰色。
|
|
55
|
+
- 需要主色明显不同于当前应用主题时,PRD 记录业务原因;`design.md` 写 `themeRelation`、token 和应用主题文件。
|
|
56
|
+
- 若截图或预览中出现左侧导航选中态与页面主操作颜色不一致,优先把页面主操作和高频强调色改回应用主题;只有用户确认要改变整个应用主题时,再调用应用主题配置能力。
|
|
59
57
|
|
|
60
58
|
## 写颜色角色
|
|
61
59
|
|
|
62
60
|
- 主色:先按行业、品牌、业务情绪和视觉目标做创意判断,可选择平台预置主题,也可设计自定义品牌色盘;不得固定为 `podBlue` / #1677ff,不得套用行业刻板配色。
|
|
63
|
-
-
|
|
61
|
+
- 辅助色:用于按钮强调、状态提示、图表分组和重点指标。
|
|
64
62
|
- 中性色:背景、文字、边框、分割线,默认保持浅底业务风。
|
|
65
63
|
- 语义色:成功、警告、错误、信息保持稳定,不随意改成品牌色。
|
|
66
64
|
- 界面明暗:默认浅色;用户选择暗色、黑色或夜间主题时,按 [暗色主题浮层适配](../references/theme/theme-token-presets.md#暗色主题浮层适配) 确定浮层 token 与必要的 class 覆盖。
|
|
67
|
-
- 导航明暗:`themeProfile.navTheme`
|
|
68
|
-
- 明暗双轴:按[主题明暗双轴](../references/application-style-library.md#主题明暗双轴)分别填写 `themeProfile.contentTone` 与 `themeProfile.navTheme`。`contentTone` 默认 `light`;自由创意的导航明暗由项目设计明确填写,并配套导航 Token。
|
|
65
|
+
- 导航明暗:`themeProfile.navTheme` 单独按导航方案记录;深色导航可以搭配浅色界面。
|
|
69
66
|
- `design.md` 的 `themeProfile.colorMode` 是宜搭配色模式,例如 `gradient`,不表示暗黑模式。
|
|
70
67
|
|
|
71
68
|
主题 CSS 就绪后,将主题文件路径、`navTheme`、`logoSource` 和 `layoutDirection` 写入 `design.md`。获取真实 `appType` 后,必须执行 `openyida update-app <appType> --theme-file <CSS路径>` 更新应用基础设置,并以 `themeVerification.verified=true` 确认资源已绑定;后续修改 CSS 也须重新上传保存。平台负责整套应用的主题一致性;只有 `YidaCodeCanvas` 页面源码需要在组件内部使用主题 token。
|
|
@@ -90,12 +87,6 @@
|
|
|
90
87
|
|
|
91
88
|
统一按钮、卡片、表格、标签、抽屉、弹窗、图标、空态、加载态和错误态,并写入 `design.md` 与应用主题 CSS。
|
|
92
89
|
|
|
93
|
-
包含表单时,按 [表单样式与提交页背景](../references/native-form-styles.md) 从已选应用风格推导提交、编辑和详情的字体、控件、密度、布局、标签节奏、背景及底栏。修改详情页时,同时设计只读字段数据框的背景、文字、圆角、指示线、阴影、字号、行高、最小高度、内距和元素间距,并将对应 `--pod-field-preview-*` 与 `--form-element-medium-font-size` 写入设计源。布局决策写入 `design.md` 并落实到表单配置;主题变量和经核实的样式规则归同一份应用主题 CSS。应用主题覆盖导航、自定义页面、表单、编辑和详情,形成一致的视觉语言。
|
|
94
|
-
|
|
95
|
-
指标卡与按钮按[配色规则](../references/application-theme-consistency.md#指标卡与按钮配色)成组设计,明确普通信息、重点信息、主操作与次操作的颜色关系,不能仅写“深色强调”或“跟随主题”。
|
|
96
|
-
|
|
97
|
-
表单主题同时显式确定 `--pod-page-footer-bg-color` 和 `--pod-sticky-footer-box-shadow`,写入设计源的 token 并生成到应用 CSS;背景及阴影随应用材质选择,不一律透明,也不漏配后沿用默认阴影。
|
|
98
|
-
|
|
99
90
|
## 产出
|
|
100
91
|
|
|
101
92
|
```markdown
|
|
@@ -104,15 +95,20 @@
|
|
|
104
95
|
- 风格摘要:<2-3 个业务风格关键词>
|
|
105
96
|
- 主题交付摘要:<平台预置 / 应用自定义主题文件 / 继承当前应用>
|
|
106
97
|
|
|
107
|
-
design.md
|
|
108
|
-
- themeProfile
|
|
109
|
-
-
|
|
110
|
-
-
|
|
98
|
+
design.md Theme Profile:
|
|
99
|
+
- themeProfile.name:<平台预置 key 或自定义色盘名称>
|
|
100
|
+
- themeColorSource:<user-specified / application-theme / business-inferred / template-default>
|
|
101
|
+
- themeColorToken:<CSS 中 --color-brand1-6 的字面量值>
|
|
102
|
+
- themeDelivery:<app-custom-theme-file / current-app-theme>
|
|
103
|
+
- customThemeTemplate:yida-design/references/theme/app-custom-theme-template.css
|
|
104
|
+
- customThemeFile:<复制模板并修改 token 后的 .css 路径;平台预置时留空>
|
|
105
|
+
- themeColor:<#RRGGBB>
|
|
106
|
+
- navTheme:<light / dark / white / gray>
|
|
107
|
+
- colorMode:<宜搭配色模式,如 gradient;不表示暗黑>
|
|
108
|
+
- typography:<标题/正文/数字层级>
|
|
109
|
+
- componentTone:<按钮/卡片/表格/标签/抽屉风格>
|
|
111
110
|
```
|
|
112
111
|
|
|
113
112
|
## 下一步
|
|
114
113
|
|
|
115
114
|
→ [页面结构和交互设计](step-4-wireframe-interaction.md)
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
应用整体设计可使用[应用风格模板或自由创意](../references/application-style-library.md)。导航、自定义页面、表单与详情继承同一设计语言;自由创意从业务推演,不强制选模板。模板中的表单布局 JSON 提供结构起点,使用时填入真实字段并核对间距和响应式。
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
|
|
14
14
|
## 自定义导航设计
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
沿用需求阶段用户选择的导航归属,以及根据场景确定或用户指定的布局;不再询问顶部、侧边等布局选项。参考 [导航壳形态目录](../../yida-nav-shell/references/nav-shell-patterns.md) 设计位置、比例、留白与选中态,代码示例只按需参考。顶部默认浮导;侧导及顶部+侧边布局写清折叠/展开、恢复宽度、拖拽边界、内容区联动和移动端收起方式。已有满意的导航保留外观,只补缺失交互。
|
|
17
17
|
|
|
18
18
|
区分三种操作:本页视图切换、保留导航并更新主内容 iframe、当前标签跨页跳转。管理入口使用 workbench,办理入口使用 submission;不要把应用级办理导航设计为每次弹抽屉。页面内新增/详情按钮才采用下面的抽屉规则。设计结果写入当前 `design.md`;Plan 模式先更新计划源事实再物化。
|
|
19
19
|
|
|
@@ -32,8 +32,6 @@
|
|
|
32
32
|
- 主操作:按钮、行点击、抽屉、跳转或原生表单入口。
|
|
33
33
|
- 状态:空态、加载、错误、无权限、无数据。
|
|
34
34
|
|
|
35
|
-
每页同时确定[分组标题与分割线](../references/application-theme-consistency.md#分组标题与分割线)的样式和理由,记录在本页说明中。同页同层级尽量一致,不同业务页面优先选择不同且合适的类型;不要直接复制上一页的分割线。
|
|
36
|
-
|
|
37
35
|
## 写操作路径
|
|
38
36
|
|
|
39
37
|
- 列表下钻默认保留上下文,PC 用详情抽屉或主从分栏。
|
|
@@ -1,35 +1,119 @@
|
|
|
1
1
|
# UI 视觉和状态设计
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
> 这一步写 `design.md` 草稿。`design.md` 规定所有页面共同遵守的 UI 视觉、组件样式、状态样式和响应式规则。
|
|
4
4
|
|
|
5
|
-
## 1.
|
|
5
|
+
## 1. 生成 design.md 基准系统
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
2. 从需求、主题系统和页面结构确认业务任务、信息拓扑、交互重心与视觉焦点;主题不决定新增哪些业务模块。
|
|
9
|
-
3. 计算项目主色对应的 token 值,保留全局与页面局部变量,按已确认导航处理外观。主题的形状、材质和层次关系保持可识别,明确的项目差异写成最终规则。
|
|
10
|
-
4. 以共享主题五章为底稿写项目设计。清除主题身份、占位符、推导指令与作者编写说明;项目配色和导航融入对应章节。
|
|
7
|
+
先为完整应用生成一套主设计契约,再为不同页面场景写局部变体。自定义展示页、工作台、列表管理页、处理台、看板和首页门户都遵守同一个 `prd/<项目名>/design.md`。
|
|
11
8
|
|
|
12
|
-
|
|
9
|
+
1. 读取 [design.md 生成规则](../references/style-design-selection.md)。
|
|
10
|
+
2. 读取 [style-design 风格注册表](../references/style-designs/registry.md),再读取 `_design-md-template.md`。
|
|
11
|
+
3. 从整理后的用户需求、主题系统和页面结构推演 `inferredUserTask`、`inferredInformationTopology`、`interactionFocus` 和 `requiredVisualDNA`。用户通常不会主动描述视觉结构,agent 必须从业务对象、数据形态、页面区块和操作路径中推演。
|
|
12
|
+
4. 按 `业务任务匹配 30% + 信息拓扑匹配 25% + 视觉 DNA 命中 30% + 实现稳定性 10% - 风险扣分 5%` 选择唯一设计风格,并把对应 `style-designs/*.md` 记录为 `baseDesignSource`;纯表单、长文、品牌营销、移动端单任务、未要求暗色时要过滤明显不合适的风格。
|
|
13
|
+
5. 读取被选中的 style-design 风格文件,抽取 `visual_dna`、`theme_adaptation`、`layout_stability`、`quality_anchors`、`components` 和 `modules`。
|
|
14
|
+
6. 根据主题系统中的主题色来源和主题色输入执行换肤:替换风格文件中的 `theme_adaptation.replace_tokens`,派生 `derive_tokens`,保留不与用户整体配色冲突的 `preserve_tokens` 和结构性 `visual_dna.invariant`。主题色只换 hue,不换 DNA,不改结构。
|
|
15
|
+
7. 需要判断详略时读取唯一示例 `generated-business-design.example.md`;只学习结构和粒度,不复制示例业务、色盘、字段、页面顺序或组件组合。
|
|
16
|
+
8. 读取 [视觉结构配方库](../references/visual-scaffold-recipes.md),把应用内各类页面映射到统一 `visualScaffold` 规则。
|
|
17
|
+
9. 读取 [页面质量门禁](../references/page-quality-gates.md),把质量门禁补进 `acceptanceChecks`。
|
|
18
|
+
10. 写清 `roundedRule`、`densityRule` 与 `breathingRule` 的具体数值;默认业务页是圆润高密且有呼吸感,不得只写“圆润 / 舒适 / 留白合理 / 有呼吸感”。
|
|
19
|
+
11. 完整应用内默认保持同一套主设计系统;页面场景差异很大时,在同一份 `design.md` 里写页面场景变体,不为每个页面另起独立设计文件。
|
|
13
20
|
|
|
14
|
-
|
|
21
|
+
输出字段:
|
|
15
22
|
|
|
16
|
-
|
|
23
|
+
```markdown
|
|
24
|
+
- designFile:prd/<项目名>/design.md
|
|
25
|
+
- baseDesignSource:references/style-designs/<selected-style>.md;所有内置风格都不适用时才写 generated-from-business-context
|
|
26
|
+
- styleDesignSelection:<推演任务 / 信息拓扑 / requiredVisualDNA / 选中风格 / 排除风格 / 置信度>
|
|
27
|
+
- themeAdaptationResult:<输入主题色 / 换肤策略 / replaced tokens / preservedVisualDNA / preservedMechanisms>
|
|
28
|
+
- styleReason:<为什么适合当前应用和页面组合>
|
|
29
|
+
- Visual DNA:<所有页面都必须保留的 2-5 个视觉 DNA>
|
|
30
|
+
- sceneRecipes:<workbench/list/detail/dashboard/landing/screen 各自如何遵守同一 design.md>
|
|
31
|
+
- themeRelation:<继承当前应用主题 / 平台预置主题 / 应用自定义主题文件>
|
|
32
|
+
```
|
|
17
33
|
|
|
18
|
-
|
|
19
|
-
- 同色画布与面板通过主题的边界、共容器或留白建立层次;玻璃、渐变、纹理及动效按需启用。背景可以不规则,内容保持稳定栅格、对齐和可读对比。
|
|
20
|
-
- 没有真实内容的侧栏、指标、图形或特色配方不渲染。内容不足时压缩高度或给出实际下一步动作,不用空白卡和额外 margin 填满页面。
|
|
21
|
-
- 现有页美化保留数据源、字段映射、按钮、筛选、提交 URL、权限与业务状态;业务变动交回 PRD。
|
|
34
|
+
## 2. 写 UI 视觉规则
|
|
22
35
|
|
|
23
|
-
|
|
36
|
+
在应用级 `design.md` 中写清:
|
|
24
37
|
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
38
|
+
- 2-3 个气质关键词:稳重可信、轻盈现代、克制高端、温暖亲和、前沿科技等。
|
|
39
|
+
- 3-5 条业务专属设计原则:结合业务对象和用户任务写具体规则。
|
|
40
|
+
- 差异化 5 维:色彩、构图、密度、组件语言、动线;这些规则必须来自业务推演和所选风格视觉 DNA 的融合。
|
|
41
|
+
- 基础版式:全应用视觉锚点、区块节奏、密度、操作位置和响应式规则。
|
|
42
|
+
- `visualScaffold`:给所有页面实现使用的硬骨架,写清 `layoutRecipe`、`surfaceMap`、`sectionRhythm`、`densityRule`、`breathingRule`、`componentRecipe`、`emptyStateRecipe`、`responsiveSlots` 和 `acceptanceChecks`。这些字段属于 `design.md`,PRD 只引用。
|
|
43
|
+
- 默认业务工具页采用圆润高密且有呼吸感的规则:卡片 padding 默认 22-28px 且必须大于 20px,卡片与卡片的 gap 默认 12-18px 且必须小于 20px,卡片圆角范围 0-32px,控件 10-14px;状态摘要 64-88px,动作条 40-56px,列表行 44-56px,空态 88-120px 内。官网、品牌页或用户明确要求舒展时才放宽。
|
|
30
44
|
|
|
31
|
-
|
|
45
|
+
`visualScaffold` 的最低要求:
|
|
32
46
|
|
|
33
|
-
|
|
47
|
+
- `layoutRecipe` 写成明确版式,例如「左 2/3 主工作区 + 右 1/3 上下文栏」「上方紧凑摘要条 + 中部双列表 + 右侧提醒」。
|
|
48
|
+
- `surfaceMap` 写清每个区块的容器形态:无框区、细线面板、浅底条、表格、列表行、右侧栏、抽屉;不要全写卡片。
|
|
49
|
+
- `sectionRhythm` 写清区块间距、首屏主次和阅读顺序。
|
|
50
|
+
- `densityRule` 写清页面边距、卡片 gap、卡片 padding、状态摘要高度、列表行高和空态高度,避免靠额外 margin 或空白高度撑页面。
|
|
51
|
+
- `breathingRule` 写清主区/右栏/工具条/列表之间的呼吸节奏、组内内距、贴边修正和内容不足时的压缩/补充策略。
|
|
52
|
+
- `roundedRule` 写清业务面板、主面板、控件、标签、抽屉和弹层圆角;卡片圆角必须在 0-32px 范围内。
|
|
53
|
+
- `componentRecipe` 写清按钮、入口、标签、列表、图表和空态的具体形态。
|
|
54
|
+
- 源码槽位写清 `rootShell`、`prioritySurface`、`statusPrimitive`、`actionPrimitive`、`contentPrimitive`、`contextPrimitive`、`statePrimitive` 和 `responsiveRule`。
|
|
55
|
+
- 视觉层次写清 `backgroundLayer`、`surfaceMaterial`、`surfaceContrast`、`colorRoles` 和 `depthRule`;需要玻璃感时,明确半透明表面、`backdrop-filter`、细边框、柔和阴影和背景层。
|
|
56
|
+
- `backgroundLayer` 写清基础画布和推荐装饰方式,可选 `softTintCanvas`、`topIrregularWash`、`radialGlowWash`、`flowLight` 或 `organicNoise`。工作台、看板、门户、官网、登录页和空状态页推荐使用非纯空白的画布;如果选择近白画布,要说明渐变、细线、星芒、插图、局部光影或内容密度如何形成背景感。
|
|
57
|
+
- `surfaceContrast` 写清页面背景与卡片背景的层次搭配:白色/浅色背景配有边框卡片,浅灰背景(如 `#F3F4F6`)配白色无边框卡片,浅彩色背景配白色无边框卡片,渐变背景配玻璃感卡片;禁止背景和卡片相近或相同。
|
|
58
|
+
- 不规则背景只作用于页面壳、顶部首屏、功能引导卡或空状态安全区;内容布局继续使用规则栅格、稳定分栏和清晰对齐,做到“背景自由、内容严谨”。
|
|
59
|
+
- `flowLight`、流动线条或光影动效必须低饱和、低对比、低速,并写 `prefers-reduced-motion` 静态降级;禁止离散装饰圆球、bokeh 或干扰文字阅读的背景动效。
|
|
60
|
+
- 这些字段要能直接指导实现,而不是形容词;实现者应能按 `design.md` 写出根容器、分栏、背景层、表面材质、按钮状态和空态。
|
|
61
|
+
- `acceptanceChecks` 建议包含:`contentBlocks` 推荐 8-10 个区块以上、KPI/快捷入口子项不计数、首屏至少两层信息、没有大空白卡、主色跟随应用主题、背景或装饰层不干扰前景对比度。区块数量不作为准出硬门槛。
|
|
34
62
|
|
|
35
|
-
|
|
63
|
+
## 3. 写组件和状态规则
|
|
64
|
+
|
|
65
|
+
- 按主题统一按钮、输入、卡片、表格、标签、弹窗、抽屉和图标样式;图标输出 `iconSystem`,只选择 `lucide-react` 或 `@ant-design/icons` 的具体组件,默认选择 `lucide-react`。
|
|
66
|
+
- 页面美感提升、重构和改 UI 时保留当前功能契约:数据源、字段映射、按钮动作、筛选逻辑、提交 URL、权限和业务状态继续有效。
|
|
67
|
+
- 明确正常、hover/active、禁用、加载、空态、错误、无权限、无数据状态。
|
|
68
|
+
- 表单验证、成功/失败提示使用平台语义色和原生能力。
|
|
69
|
+
- 下拉刷新、上拉加载、轮询刷新等只在真实场景需要时设计。
|
|
70
|
+
|
|
71
|
+
## 4. 选择素材和图标
|
|
72
|
+
|
|
73
|
+
- 官网、产品首页、品牌页、视觉化工作台默认要有真实图片或生成图片。
|
|
74
|
+
- 强视觉官网至少形成“场景 Hero + 产品/服务 + 过程/空间”的素材故事。
|
|
75
|
+
- 素材暂缺时标注 `draft`,并按 `slotId` 写清缺口。
|
|
76
|
+
- 逐页写 `imageNeed: required|beneficial|none`;需要图片时列出槽位、比例、尺寸、焦点、填充方式和生成许可。
|
|
77
|
+
- 图标只使用 `lucide-react` 或 `@ant-design/icons`,默认使用 `lucide-react`。在 `design.md` 中输出 `iconSystem`、尺寸、描边/Outlined 风格、`actionIconMap`、`statusIconMap`、`navigationIconMap` 和 `emptyStateIconMap`,把新增、查询、刷新、查看、入库、出库、组织、告警、完成等业务语义映射到具体图标组件。emoji 不能退成 CSS 形状、字母占位、Unicode 符号或临时 SVG。
|
|
78
|
+
|
|
79
|
+
## 5. 检查页面是否像真实产品
|
|
80
|
+
|
|
81
|
+
检查:
|
|
82
|
+
|
|
83
|
+
1. 页面是否有当前业务专属信息,而不是示例品牌名、默认指标和通用卖点。
|
|
84
|
+
2. 首屏是否只有一个明确主张或核心判断。
|
|
85
|
+
3. 每个区块是否有不同的信息目的和构图节奏。
|
|
86
|
+
4. 颜色是否服务业务语义,语义色是否稳定。
|
|
87
|
+
5. 图标是否来自 `lucide-react` 或 `@ant-design/icons` 的具体组件映射,页面渲染文案是否使用纯文本。
|
|
88
|
+
6. 空态、加载态、错误态是否符合当前业务。
|
|
89
|
+
7. 列表、看板、详情是否保留用户当前上下文。
|
|
90
|
+
8. 新增/提交/编辑是否使用原生表单入口。
|
|
91
|
+
9. 首屏是否有视觉锚点、主操作、关键状态和至少两个信息层。
|
|
92
|
+
10. 自定义展示页是否在 PRD 中引用 `designFile` 和 `designRefs`,且 `design.md` 已写清视觉 DNA 和页面场景规则。
|
|
93
|
+
11. 工作台 / 业务首页是否避开“4 个等宽大 KPI 卡 + 图标快捷卡 + 大空态白卡”的低密套路;空数据是否用薄空态行和主操作入口承接。
|
|
94
|
+
12. 工作台、首页、门户、看板、展示页和业务入口页是否推荐有 8-10 个有业务目的的区块以上,并且不是靠重复卡片或空白容器凑数;窄场景可以更少并说明取舍。KPI 子项、快捷入口子项和列表行不能分别计数。
|
|
95
|
+
13. 页面是否已考虑 `backgroundLayer`:优先选择淡色背景、顶部不规则色块、柔和光洗、低速流光、微噪点、细线装饰、插图或局部渐变之一;近白画布可以保留,但不能呈现为未设计的空白底。
|
|
96
|
+
14. 不规则背景是否只服务氛围和视觉焦点,内容区是否仍保持规则栅格、稳定对齐、可读对比度和 reduced motion 静态降级。
|
|
97
|
+
15. 页面背景与卡片背景是否形成明显层次对比,并按白色/浅色背景配边框、浅灰/浅彩背景配白色无边框、渐变背景配玻璃卡片的方案落地。
|
|
98
|
+
16. 圆角、padding、gap 是否同时满足现代感和信息密度:卡片 padding >20px,卡片 gap <20px,卡片圆角 0-32px,状态摘要、任务列表、右侧上下文和空态没有被撑成大空白容器。
|
|
99
|
+
17. `styleDesignSelection` 是否能从业务任务、信息拓扑和 requiredVisualDNA 解释风格选择,而不是按行业、颜色或主观喜好套风格。
|
|
100
|
+
18. `themeAdaptationResult` 是否遵守所选风格的 `theme_adaptation`:换 hue,不换 DNA;换 token,不换结构;保留不与用户整体配色冲突的 `preserve_tokens` 和结构性 `visual_dna.invariant`。
|
|
101
|
+
|
|
102
|
+
## 产出
|
|
103
|
+
|
|
104
|
+
```markdown
|
|
105
|
+
- designFile:<prd/<项目名>/design.md>
|
|
106
|
+
- styleDesignSelection:<推演任务 / 信息拓扑 / requiredVisualDNA / selectedStyleDesign / rejectedStyleDesigns>
|
|
107
|
+
- themeAdaptationResult:<inputThemeColor / strategy / replaced / preservedVisualDNA / preservedMechanisms>
|
|
108
|
+
- designSystem:<themeProfile / Visual DNA / 基础版式 / visualScaffold / sceneRecipes>
|
|
109
|
+
- componentSpec:<按钮/表格/卡片/标签/抽屉/图标>
|
|
110
|
+
- iconSystem:<defaultLibrary / allowedLibraries / sizes / actionIconMap / statusIconMap>
|
|
111
|
+
- stateSpec:<正常/禁用/加载/空态/错误/无权限>
|
|
112
|
+
- assetStrategy:<图片/图标/素材缺口/materialStatus>
|
|
113
|
+
- pageDesignRefs:<每个 display 页面在 PRD 中引用 design.md 的章节 ID>
|
|
114
|
+
- deAiChecks:<通过项和需要修正项>
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## 下一步
|
|
118
|
+
|
|
119
|
+
→ [写入 design.md](step-6-handoff.md)
|
|
@@ -1,22 +1,29 @@
|
|
|
1
|
-
#
|
|
1
|
+
# 写入 design.md
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
本步骤只写入 `prd/<项目名>/design.md`。完整应用的 `prd.md` 由同时运行的 `yida-prd` 生成;本技能不得等待、读取或覆盖本轮 PRD。
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 必填内容
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
- frontmatter:version、design_id、themeProfile、tokens、visual_dna、scenes、density、layout、tone;
|
|
8
|
+
- 设计风格选择依据、主题色与换肤结果、视觉 DNA;
|
|
9
|
+
- `visualScaffold`、`backgroundLayer`、`surfaceMaterial`、`surfaceContrast`;
|
|
10
|
+
- `colorRoles`、`depthRule`、`roundedRule`、`densityRule`、`breathingRule`;
|
|
11
|
+
- 组件 default/hover/active/focus/disabled/loading/selected/error 状态;
|
|
12
|
+
- 各 `pageScenes` 对应的 `sceneRecipes` 和稳定 `designRefs`;
|
|
13
|
+
- loading、empty、error、mobile、reduced motion、焦点与对比度;
|
|
14
|
+
- CSS 变量和 Yida Application Theme Delivery Contract。
|
|
8
15
|
|
|
9
|
-
|
|
10
|
-
2. 保留选中主题的基础语言和完整变量,按 [整体主题规则](../references/application-theme-consistency.md#导航与应用框架) 合入导航、应用框架、表单、记录详情和自定义页面设计,清除模板身份和编写说明。
|
|
11
|
-
3. frontmatter 仅维护机器数据与 anchor 索引,完整规则只写在正文一次。每个实际自定义页覆盖输出契约的八项要点,场景和页面标识与共享需求/计划一致。
|
|
12
|
-
4. 检查 [页面质量门禁](../references/page-quality-gates.md),确认数据、动作、导航、权限与业务事实一致;主题、状态、素材和响应式均可实现。
|
|
16
|
+
## 写入前检查
|
|
13
17
|
|
|
14
|
-
|
|
18
|
+
1. 已读取整理后的用户需求及 [design.md 输出格式](output-design.md)。
|
|
19
|
+
2. 已读取 [页面质量门禁](../references/page-quality-gates.md)。
|
|
20
|
+
3. 视觉规则只覆盖 `explicitScope` 或需求文件中的页面场景,不添加业务资源。
|
|
21
|
+
4. `designRefs` 使用稳定章节 ID,供 `yida-app` 校验和页面实现阶段引用。
|
|
15
22
|
|
|
16
|
-
|
|
23
|
+
## 完成条件
|
|
17
24
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
25
|
+
- `prd/<项目名>/design.md` 存在且非空。
|
|
26
|
+
- frontmatter 包含 version、design_id、baseDesignSource、styleDesignSelection、themeProfile、themeAdaptationResult、yidaThemeDelivery、tokens、visual_dna、scenes、density、layout、tone。
|
|
27
|
+
- 主题、应用主题文件交付、视觉、布局、材质、圆角、密度、呼吸感、组件、状态和响应式契约完整。
|
|
28
|
+
- 每个目标 display 页面场景都有 `sceneRecipes` 或可定位 `designRefs`。
|
|
29
|
+
- 没有写入 `prd.md`、页面源码或真实资源 ID。
|
|
@@ -103,12 +103,6 @@ openyida save-permission <appType> <formUuid> --create --name <名称> [选项]
|
|
|
103
103
|
}
|
|
104
104
|
```
|
|
105
105
|
|
|
106
|
-
### 匿名提交的 FREE_LOGIN 门禁
|
|
107
|
-
|
|
108
|
-
公开访问自定义页面向普通表单匿名提交时,目标表单 `DEFAULT` 权限组的 `dataPermit.rule` 必须包含 `{"type":"FREE_LOGIN","value":"y"}`。它只是三项前置门禁之一;显示页和目标表单还必须分别满足 `isOpen === 'y'`。完整运行时契约见[公开访问(匿名态)提交](../yida-canvas-custom-page/references/data-bridge-guide.md#公开访问匿名态提交)。
|
|
109
|
-
|
|
110
|
-
配置时必须先查询并锁定 `DEFAULT` 组的 `packageUuid`,复制其完整 `dataPermit`,只在原有 `rule` 中补入 `FREE_LOGIN`,保留 `ORIGINATOR` 及其他已有规则、`customDepartmentData`、`formulaData` 等非目标内容;不得用固定的 `ORIGINATOR + FREE_LOGIN` 模板覆盖现网规则。保存后按同一 `packageUuid` 回读,确认 `FREE_LOGIN` 存在且其他规则未漂移。
|
|
111
|
-
|
|
112
106
|
## 操作权限
|
|
113
107
|
|
|
114
108
|
`operations` 至少有一个值为 true 的操作。当前 CLI 白名单为:
|