Files
ShowenV2/clients/docs/DESIGN.md
showen fa692cd873 feat: 新增客户端应用目录结构
新增 clients/ 目录:
- 外部控制应用的统一目录
- 支持多种客户端类型:
  - 移动端:iOS, Android, Flutter
  - 小程序:微信、支付宝、抖音
  - Web:响应式 Web 应用、桌面应用
  - 智能设备:手表、音箱、智能家居

目录结构:
- shared/ - 共享代码(API 客户端、数据模型)
- web/ - Web 应用
- flutter/ - Flutter 跨平台应用
- ios/ - iOS 原生应用
- android/ - Android 原生应用
- wechat-miniapp/ - 微信小程序
- desktop/ - Electron 桌面应用
- docs/ - 客户端开发文档

文档:
- clients/README.md - 客户端总览和开发计划
- clients/docs/API.md - HTTP API 完整文档
- clients/docs/DESIGN.md - 设计规范和组件库

更新 PLUGIN_DEPENDENCY.md:
- 明确 WiFi + BLE 双架构模型
- BLE 既可配置 WiFi,也可独立提供网络功能
- 新增双架构设计原则
2026-03-12 06:46:05 +08:00

5.1 KiB

ShowenV2 客户端设计规范

设计理念

核心价值

  • 简洁直观: 界面简洁,操作直观,用户一看就懂
  • 响应迅速: 操作反馈及时,状态更新实时
  • 一致体验: 跨平台体验一致,学习成本低
  • 科技感: 体现数字生命窗口的科技属性

设计原则

  1. 移动优先: 优先考虑移动端体验
  2. 触控友好: 按钮大小适合手指点击
  3. 暗色主题: 默认暗色,适合夜间使用
  4. 动效流畅: 过渡动画自然流畅

视觉设计

配色方案

主色调

  • 主色: #6366F1 (Indigo 500) - 科技感蓝紫色
  • 辅助色: #8B5CF6 (Violet 500) - 渐变辅助
  • 强调色: #EC4899 (Pink 500) - 重要操作

功能色

  • 成功: #10B981 (Green 500)
  • 警告: #F59E0B (Amber 500)
  • 错误: #EF4444 (Red 500)
  • 信息: #3B82F6 (Blue 500)

中性色(暗色主题)

  • 背景: #0F172A (Slate 900)
  • 卡片: #1E293B (Slate 800)
  • 边框: #334155 (Slate 700)
  • 文字主: #F1F5F9 (Slate 100)
  • 文字次: #94A3B8 (Slate 400)

字体

中文

  • 主字体: 苹方 / 思源黑体 / Noto Sans SC
  • 等宽: Fira Code / JetBrains Mono

英文

  • 主字体: Inter / SF Pro / Roboto
  • 等宽: Fira Code / JetBrains Mono

字号

  • 标题 H1: 32px / 2rem
  • 标题 H2: 24px / 1.5rem
  • 标题 H3: 20px / 1.25rem
  • 正文: 16px / 1rem
  • 辅助: 14px / 0.875rem
  • 说明: 12px / 0.75rem

圆角

  • : 4px
  • : 8px
  • : 16px
  • 圆形: 50%

阴影

  • : 0 1px 3px rgba(0, 0, 0, 0.12)
  • : 0 4px 6px rgba(0, 0, 0, 0.16)
  • : 0 10px 15px rgba(0, 0, 0, 0.20)

间距

  • xs: 4px
  • sm: 8px
  • md: 16px
  • lg: 24px
  • xl: 32px
  • 2xl: 48px

组件设计

按钮

主按钮

背景: 主色渐变
文字: 白色
圆角: 8px
高度: 48px (移动端) / 40px (桌面端)

次按钮

背景: 透明
边框: 1px 主色
文字: 主色
圆角: 8px

图标按钮

大小: 48x48px (移动端) / 40x40px (桌面端)
圆角: 50%
背景: 半透明

卡片

背景: 卡片色
圆角: 16px
内边距: 16px
阴影: 中

输入框

背景: 背景色
边框: 1px 边框色
圆角: 8px
高度: 48px (移动端) / 40px (桌面端)
内边距: 12px

开关

宽度: 48px
高度: 28px
圆角: 14px
动画: 0.2s ease

滑块

轨道高度: 4px
滑块大小: 20x20px
颜色: 主色

界面布局

移动端

底部导航

位置: 固定底部
高度: 64px
项目: 3-5个
图标: 24x24px
文字: 12px

顶部栏

高度: 56px
标题: 居中 / 居左
操作: 右侧图标按钮

内容区

内边距: 16px
卡片间距: 16px

桌面端

侧边栏

宽度: 240px
位置: 固定左侧
可折叠

主内容区

最大宽度: 1200px
居中显示
内边距: 24px

交互设计

点击反馈

  • 按钮: 按下缩小 0.95,松开恢复
  • 卡片: 悬停提升阴影
  • 列表项: 悬停背景变亮

加载状态

  • 全局加载: 顶部进度条
  • 局部加载: 骨架屏 / 加载动画
  • 按钮加载: 禁用 + 加载图标

错误提示

  • Toast: 3秒自动消失
  • Modal: 需要用户确认
  • Inline: 表单验证错误

动画时长

  • 快速: 0.15s - 小元素出现/消失
  • 标准: 0.3s - 页面切换、弹窗
  • 慢速: 0.5s - 大型动画

页面设计

首页

  • 设备状态卡片
  • 快捷操作按钮
  • 当前播放信息

播放控制

  • 大型播放/暂停按钮
  • 进度条
  • 上一个/下一个
  • 播放列表

状态机

  • 当前状态显示
  • 触发器列表
  • 场景切换

设置

  • WiFi 配置
  • 设备信息
  • 关于

图标设计

图标库

推荐使用:

  • Heroicons - 简洁现代
  • Lucide - 一致性好
  • Material Icons - 丰富全面

图标规范

  • 大小: 24x24px (默认)
  • 线宽: 2px
  • 风格: 线性 / 填充
  • 颜色: 继承文字颜色

响应式设计

断点

  • xs: < 640px (手机)
  • sm: 640px - 768px (大屏手机)
  • md: 768px - 1024px (平板)
  • lg: 1024px - 1280px (小屏电脑)
  • xl: > 1280px (大屏电脑)

适配策略

  • 移动端: 单列布局,底部导航
  • 平板: 双列布局,侧边栏可选
  • 桌面: 多列布局,固定侧边栏

无障碍设计

对比度

  • 正常文字: 至少 4.5:1
  • 大文字: 至少 3:1
  • 图标: 至少 3:1

触控目标

  • 最小尺寸: 44x44px (iOS) / 48x48px (Android)
  • 间距: 至少 8px

键盘导航

  • 支持 Tab 键切换
  • 支持 Enter/Space 激活
  • 焦点状态明显

屏幕阅读器

  • 图片添加 alt 文本
  • 按钮添加 aria-label
  • 状态变化通知

设计资源

Figma 文件

  • 组件库
  • 页面模板
  • 图标集

设计规范

  • 颜色变量
  • 字体样式
  • 组件样式

文档版本: v1.0
最后更新: 2026-03-12
设计负责人: 赵雨薇 (前端 & 屏幕工程师)