Files
crawler-plugin/frontend-vue/DESIGN.md
2026-06-09 21:07:50 +08:00

6.3 KiB

Design

Source of truth

  • Status: Active
  • Last refreshed: 2026-06-09
  • Primary product surfaces:
    • image-video.html
    • src/pages/image-video/ImageVideoPage.vue
  • Evidence reviewed:
    • src/pages/image-video/ImageVideoPage.vue
    • src/styles/main.css
    • src/styles/tokens.css
    • src/components/layout/PageShell.vue
    • ../yaoyaoAI/aiclientpureui/src/styles/main.css
    • ../yaoyaoAI/aiclientpureui/src/components/dashboard/DashboardCard.vue
    • ../yaoyaoAI/aiclientpureui/src/components/workflow/Step02AudioVideo.vue
    • ../yaoyaoAI/aiclientpureui/src/components/workflow/Step03VideoEdit.vue

Brand

  • Personality:
    • Quiet, tool-oriented, high-density AI workflow workspace
    • Dark professional console rather than marketing landing page
  • Trust signals:
    • Structured step cards
    • Stable layout grid
    • Clear state summaries and output preview areas
  • Avoid:
    • Light hero-page styling
    • Decorative floating cards wrapped inside larger cards
    • Tailwind or PrimeVue-specific visual copies that do not fit Element Plus

Product goals

  • Goals:
    • Add a real 带货视频 module inside frontend-vue
    • Put 视频复刻 and 图生视频 on one page with tab switching
    • Match the visual tone of aiclientpureui
    • Extract reusable workflow components for future media modules
  • Non-goals:
    • Backend API integration in this phase
    • Rebuilding the entire aiclientpureui navigation shell
  • Success signals:
    • The page is screenshot-ready
    • Form sections are organized and legible at desktop widths
    • Shared components are reusable beyond this one page

Personas and jobs

  • Primary personas:
    • Internal operators creating or editing commerce videos
    • Content operations staff iterating scripts, scenes, and avatars quickly
  • User jobs:
    • Upload source material
    • Configure video generation parameters
    • Adjust scene, face, script, and product settings
    • Review an output summary before starting generation
  • Key contexts of use:
    • Desktop-heavy internal tool usage
    • Repeated daily workflows with dense settings

Information architecture

  • Primary navigation:
    • Keep a lightweight page header with module switch and back link
  • Core routes/screens:
    • image-video.html as the image/video workspace entry
  • Content hierarchy:
    • Page header and module switch
    • Delivery-video tabs
    • Step-oriented configuration grid
    • Preview and submission area

Design principles

  • Principle 1:
    • Reuse structure, not framework-specific implementation. Port the dashboard/card language from aiclientpureui into Element Plus-native components.
  • Principle 2:
    • Keep the screen directly operable. The first viewport should show the active workflow, not a placeholder entrance.
  • Tradeoffs:
    • Prefer a compact dark console layout over a literal flowchart reconstruction from the requirement images.

Visual language

  • Color:
    • Deep neutral background with restrained blue-indigo highlights
    • High-contrast text, low-contrast secondary copy
  • Typography:
    • Existing sans-serif stack from tokens.css
    • Compact section headings and dense form labels
  • Spacing/layout rhythm:
    • 20px to 24px outer spacing
    • 16px card padding
    • Multi-column grid with stable min widths
  • Shape/radius/elevation:
    • 14px to 18px radii
    • Soft border glow, minimal shadow depth
  • Motion:
    • Short hover and focus transitions only
  • Imagery/iconography:
    • Use media preview boxes and upload placeholders
    • Avoid decorative illustrations

Components

  • Existing components to reuse:
    • src/components/layout/PageShell.vue
  • New/changed components:
    • Shared dark workflow shell
    • Shared module switch
    • Shared section card
    • Shared choice-pill selector
    • Shared asset dropzone / preview block
  • Variants and states:
    • Active/inactive tabs
    • Active/inactive pills
    • Empty vs selected asset states
    • Hover/focus for cards and action buttons
  • Token/component ownership:
    • Theme tokens in src/styles/tokens.css
    • Global workflow styles in src/styles/main.css
    • Shared components under src/shared/components/ai-workflow/

Accessibility

  • Target standard:
    • Practical keyboard and screen-readable form semantics for internal desktop usage
  • Keyboard/focus behavior:
    • Visible focus ring on pills, buttons, upload areas, and tabs
  • Contrast/readability:
    • Maintain strong foreground/background contrast in dark mode
  • Screen-reader semantics:
    • Preserve labels for upload regions and tab panels
  • Reduced motion and sensory considerations:
    • No large-scale animation

Responsive behavior

  • Supported breakpoints/devices:
    • Primary target desktop >= 1280px
    • Secondary support tablet widths >= 768px
  • Layout adaptations:
    • Collapse multi-column workspace into two columns, then one column
    • Preview area stops being sticky on narrow screens
  • Touch/hover differences:
    • Controls remain usable without hover-only affordances

Interaction states

  • Loading:
    • Reserved for future backend integration
  • Empty:
    • Show upload placeholders and muted guidance text
  • Error:
    • Use Element Plus messaging if upload type or action constraints fail
  • Success:
    • Local draft actions can confirm save/export interactions
  • Disabled:
    • Non-active modules appear disabled but visible
  • Offline/slow network, if applicable:
    • Not applicable in the current local-only draft

Content voice

  • Tone:
    • Direct and operational
  • Terminology:
    • Prefer commerce-video workflow language: 素材, 场景, 人脸, 话术, 产品, 输出
  • Microcopy rules:
    • Short labels
    • Guidance belongs in helper text, not long paragraphs

Implementation constraints

  • Framework/styling system:
    • Vue 3 + TypeScript + Element Plus
  • Design-token constraints:
    • Extend current CSS variables instead of introducing Tailwind
  • Performance constraints:
    • Keep the page static and local-first until API wiring is required
  • Compatibility constraints:
    • Must work within the existing Vite multi-page build
  • Test/screenshot expectations:
    • Build must pass
    • Local dev server should render a screenshot-ready page at image-video.html

Open questions

  • 图二和图三的字段是否需要完全一致,目前按“共用主流程 + 源素材差异化”实现
  • 后续是否需要直接接入生成任务接口,目前仅实现本地工作台和交互草稿