Files
ai-password-manager/docs/ui-ux-design.md
richarjiang b5d4724d06 feat(docs): add comprehensive design system and AI password manager architecture
- Add complete Figma design system with color, typography, and component specifications
- Create detailed UI/UX design architecture for React Native implementation
- Include AI-specific design elements with gradients, animations, and visual language
- Add implementation guides for developers and step-by-step Figma instructions
- Configure MCP server integration for Figma design workflow
- Create SplashScreen component with AI gradient background and loading animations
2025-07-22 10:07:39 +08:00

15 KiB
Raw Permalink Blame History

AI 密码管理器 - UI/UX 设计架构

设计理念

核心原则

  1. 安全优先: 所有设计决策都以安全性为首要考虑
  2. 简洁直观: 复杂功能的简单化呈现
  3. 智能辅助: AI 功能无缝集成,提升用户体验
  4. 无障碍访问: 支持各种辅助功能和可访问性标准
  5. 一致性: 跨平台和功能模块的统一体验

用户体验流程设计

1. 首次使用流程

graph TD
    A[应用启动] --> B{是否首次使用}
    B -->|是| C[欢迎引导]
    B -->|否| D[身份验证]
    
    C --> E[创建主密码]
    E --> F[设置生物识别]
    F --> G[导入现有密码]
    G --> H[AI 功能介绍]
    H --> I[完成设置]
    
    D --> J{认证方式}
    J -->|生物识别| K[指纹/面容识别]
    J -->|主密码| L[输入主密码]
    K --> M[进入主界面]
    L --> M
    I --> M

2. 日常使用流程

graph TD
    A[主界面] --> B[密码库]
    A --> C[AI 助手]
    A --> D[设置]
    A --> E[搜索]
    
    B --> F[查看密码]
    B --> G[添加密码]
    B --> H[编辑密码]
    
    C --> I[安全评分]
    C --> J[密码建议]
    C --> K[智能分类]
    
    E --> L[自然语言搜索]
    E --> M[筛选排序]
    
    F --> N[自动填充]
    G --> O[AI 辅助填写]
    H --> P[AI 优化建议]

3. 自动填充流程

graph TD
    A[用户访问登录页面] --> B[系统检测登录表单]
    B --> C{是否有匹配密码}
    C -->|是| D[显示自动填充建议]
    C -->|否| E[提示保存新密码]
    
    D --> F[用户选择密码]
    F --> G[生物识别验证]
    G --> H[自动填充表单]
    
    E --> I[用户输入密码]
    I --> J[AI 分析网站类型]
    J --> K[自动分类和标签]
    K --> L[保存到密码库]

界面架构设计

1. 导航结构

主界面 (Tab Navigation)
├── 密码库 (Vault)
│   ├── 全部密码
│   ├── 收藏夹
│   ├── 最近使用
│   └── 分类浏览
├── AI 助手 (AI Assistant)
│   ├── 安全仪表板
│   ├── 密码健康检查
│   ├── 智能建议
│   └── 安全报告
├── 搜索 (Search)
│   ├── 快速搜索
│   ├── 高级筛选
│   └── 智能搜索
└── 设置 (Settings)
    ├── 安全设置
    ├── 同步设置
    ├── AI 功能设置
    └── 应用设置

2. 页面层级结构

graph TD
    A[启动页] --> B[认证页]
    B --> C[主界面]
    
    C --> D[密码库页面]
    C --> E[AI 助手页面]
    C --> F[搜索页面]
    C --> G[设置页面]
    
    D --> H[密码详情页]
    D --> I[添加密码页]
    D --> J[编辑密码页]
    
    E --> K[安全仪表板]
    E --> L[密码分析页]
    
    H --> M[密码查看模态]
    I --> N[密码生成器]
    J --> O[AI 建议模态]

核心界面设计

1. 主界面 (Dashboard)

布局结构

┌─────────────────────────────────┐
│ 状态栏 + 导航栏                    │
├─────────────────────────────────┤
│ 搜索栏 + AI 快捷入口               │
├─────────────────────────────────┤
│ 安全状态卡片                      │
│ ┌─────────┐ ┌─────────┐          │
│ │安全评分  │ │弱密码数  │          │
│ └─────────┘ └─────────┘          │
├─────────────────────────────────┤
│ 快速操作                         │
│ [添加密码] [扫描二维码] [生成密码]   │
├─────────────────────────────────┤
│ 最近使用 / 收藏夹                 │
│ ┌─────────────────────────────┐  │
│ │ 密码条目列表                 │  │
│ └─────────────────────────────┘  │
└─────────────────────────────────┘

关键组件

  • 安全状态卡片: 实时显示账户安全评分
  • 智能搜索栏: 支持自然语言搜索
  • 快速操作按钮: 常用功能的快速访问
  • 密码条目卡片: 显示网站图标、标题、用户名

2. 密码库界面

列表视图

┌─────────────────────────────────┐
│ 筛选栏: [全部] [收藏] [分类] [标签] │
├─────────────────────────────────┤
│ 排序: [最近使用] [字母] [安全评分]  │
├─────────────────────────────────┤
│ ┌─ 密码条目 ─────────────────────┐ │
│ │ 🌐 [网站图标] 网站名称          │ │
│ │    用户名: user@example.com   │ │
│ │    🔒 强度: ●●●●○ 🏷️ 工作     │ │
│ │    ⏰ 3天前使用               │ │
│ └─────────────────────────────┘ │
│ ┌─ 密码条目 ─────────────────────┐ │
│ │ 📱 [应用图标] 应用名称          │ │
│ │    用户名: username           │ │
│ │    🔒 强度: ●●○○○ ⚠️ 弱密码    │ │
│ │    ⏰ 1周前使用               │ │
│ └─────────────────────────────┘ │
└─────────────────────────────────┘

详情视图

┌─────────────────────────────────┐
│ ← 返回    网站名称    ⋯ 更多      │
├─────────────────────────────────┤
│ 🌐 大图标                        │
│                                │
│ 网站名称                         │
│ https://example.com            │
├─────────────────────────────────┤
│ 用户名                          │
│ user@example.com    [复制]      │
├─────────────────────────────────┤
│ 密码                            │
│ ●●●●●●●●●●●●    [显示] [复制]    │
├─────────────────────────────────┤
│ 安全信息                         │
│ 🔒 强度: 强 (85/100)            │
│ 📅 创建: 2024-01-15             │
│ 🕐 最后使用: 3天前               │
├─────────────────────────────────┤
│ AI 建议                         │
│ 💡 建议启用两步验证              │
│ 🔄 密码已使用180天建议更新      │
├─────────────────────────────────┤
│ 标签                            │
│ [工作] [重要] [银行]             │
├─────────────────────────────────┤
│ 备注                            │
│ 公司邮箱账户,重要!              │
└─────────────────────────────────┘

3. AI 助手界面

安全仪表板

┌─────────────────────────────────┐
│ AI 安全助手                      │
├─────────────────────────────────┤
│ 总体安全评分                     │
│ ┌─────────────────────────────┐  │
│ │        85/100              │  │
│ │    ●●●●●●●●○○               │  │
│ │      良好                   │  │
│ └─────────────────────────────┘  │
├─────────────────────────────────┤
│ 安全问题                         │
│ ⚠️ 5个弱密码需要更新              │
│ 🔄 3个密码超过90天未更新          │
│ 🔐 2个账户建议启用两步验证         │
├─────────────────────────────────┤
│ 智能建议                         │
│ 💡 检测到您经常使用银行网站,      │
│    建议为金融账户设置更强密码      │
├─────────────────────────────────┤
│ 快速操作                         │
│ [修复弱密码] [更新旧密码] [安全检查] │
└─────────────────────────────────┘

4. 搜索界面

智能搜索

┌─────────────────────────────────┐
│ 🔍 搜索密码...                   │
│ 💬 试试说:"银行相关的密码"        │
├─────────────────────────────────┤
│ 快速筛选                         │
│ [最近使用] [收藏] [弱密码] [过期]  │
├─────────────────────────────────┤
│ 分类浏览                         │
│ 🏦 银行金融 (8)                  │
│ 💼 工作相关 (12)                 │
│ 🛒 购物网站 (15)                 │
│ 🎮 游戏娱乐 (6)                  │
│ 📧 邮箱通讯 (4)                  │
├─────────────────────────────────┤
│ 搜索历史                         │
│ "工作邮箱"                       │
│ "银行密码"                       │
│ "社交媒体"                       │
└─────────────────────────────────┘

组件设计系统

1. 设计令牌 (Design Tokens)

颜色系统

export const Colors = {
  // 主色调
  primary: {
    50: '#f0f9ff',
    100: '#e0f2fe',
    500: '#0ea5e9',
    600: '#0284c7',
    900: '#0c4a6e',
  },
  // 安全状态色
  security: {
    high: '#10b981',    // 绿色 - 安全
    medium: '#f59e0b',  // 橙色 - 警告
    low: '#ef4444',     // 红色 - 危险
  },
  // 功能色
  success: '#10b981',
  warning: '#f59e0b',
  error: '#ef4444',
  info: '#3b82f6',
  // 中性色
  gray: {
    50: '#f9fafb',
    100: '#f3f4f6',
    500: '#6b7280',
    900: '#111827',
  },
};

字体系统

export const Typography = {
  // 字体大小
  fontSize: {
    xs: 12,
    sm: 14,
    base: 16,
    lg: 18,
    xl: 20,
    '2xl': 24,
    '3xl': 30,
  },
  // 字重
  fontWeight: {
    normal: '400',
    medium: '500',
    semibold: '600',
    bold: '700',
  },
  // 行高
  lineHeight: {
    tight: 1.25,
    normal: 1.5,
    relaxed: 1.75,
  },
};

间距系统

export const Spacing = {
  xs: 4,
  sm: 8,
  md: 16,
  lg: 24,
  xl: 32,
  '2xl': 48,
  '3xl': 64,
};

2. 核心组件

密码强度指示器

interface PasswordStrengthProps {
  strength: number; // 0-100
  showLabel?: boolean;
  size?: 'sm' | 'md' | 'lg';
}

// 视觉表现:
// 0-20:   ●○○○○ 很弱 (红色)
// 21-40:  ●●○○○ 弱   (橙色)
// 41-60:  ●●●○○ 中等 (黄色)
// 61-80:  ●●●●○ 强   (浅绿)
// 81-100: ●●●●● 很强 (深绿)

安全评分卡片

interface SecurityScoreCardProps {
  score: number;
  trend: 'up' | 'down' | 'stable';
  issues: SecurityIssue[];
  onViewDetails: () => void;
}

密码条目卡片

interface PasswordEntryCardProps {
  entry: PasswordEntry;
  showPassword?: boolean;
  onCopy: (field: 'username' | 'password') => void;
  onEdit: () => void;
  onDelete: () => void;
}

3. 交互设计

手势操作

  • 左滑: 快速复制用户名
  • 右滑: 快速复制密码
  • 长按: 显示操作菜单
  • 双击: 快速查看密码

动画效果

  • 页面转场: 流畅的滑动动画
  • 状态变化: 微妙的缓动效果
  • 加载状态: 骨架屏 + 进度指示
  • 反馈动画: 成功/错误状态的视觉反馈

响应式设计

1. 屏幕适配

iPhone 尺寸适配

const ScreenSizes = {
  // iPhone SE (3rd gen)
  small: { width: 375, height: 667 },
  // iPhone 14
  medium: { width: 390, height: 844 },
  // iPhone 14 Pro Max
  large: { width: 430, height: 932 },
};

布局适配策略

  • 小屏: 单列布局,紧凑间距
  • 中屏: 标准布局,正常间距
  • 大屏: 利用额外空间显示更多信息

2. 横屏适配

  • 密码库: 双列网格布局
  • 详情页: 左右分栏布局
  • 搜索页: 侧边栏筛选

无障碍设计

1. 可访问性支持

  • VoiceOver: 完整的屏幕阅读器支持
  • 动态字体: 支持系统字体大小调整
  • 高对比度: 适配高对比度模式
  • 减少动画: 尊重用户的动画偏好

2. 键盘导航

  • Tab 顺序: 逻辑的焦点顺序
  • 快捷键: 常用操作的键盘快捷键
  • 焦点指示: 清晰的焦点状态

暗色模式设计

1. 颜色适配

export const DarkColors = {
  background: {
    primary: '#000000',
    secondary: '#1c1c1e',
    tertiary: '#2c2c2e',
  },
  text: {
    primary: '#ffffff',
    secondary: '#ebebf5',
    tertiary: '#ebebf599',
  },
  // 保持品牌色和安全状态色不变
  primary: Colors.primary,
  security: Colors.security,
};

2. 对比度优化

  • 确保所有文本达到 WCAG AA 标准
  • 重要信息使用更高对比度
  • 适当调整阴影和边框

性能优化

1. 渲染优化

  • 虚拟列表: 大量密码条目的高效渲染
  • 图片懒加载: 网站图标的按需加载
  • 组件缓存: 复用相同的组件实例

2. 动画优化

  • 原生动画: 使用 React Native Reanimated
  • 60fps: 确保流畅的动画体验
  • 减少重绘: 优化动画属性选择

此 UI/UX 设计架构确保了密码管理器在提供强大功能的同时,保持简洁直观的用户体验,并充分利用 AI 功能提升用户的使用效率和安全性。