- 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
15 KiB
15 KiB
AI 密码管理器 - UI/UX 设计架构
设计理念
核心原则
- 安全优先: 所有设计决策都以安全性为首要考虑
- 简洁直观: 复杂功能的简单化呈现
- 智能辅助: AI 功能无缝集成,提升用户体验
- 无障碍访问: 支持各种辅助功能和可访问性标准
- 一致性: 跨平台和功能模块的统一体验
用户体验流程设计
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 功能提升用户的使用效率和安全性。