- 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
483 lines
15 KiB
Markdown
483 lines
15 KiB
Markdown
# AI 密码管理器 - UI/UX 设计架构
|
||
|
||
## 设计理念
|
||
|
||
### 核心原则
|
||
1. **安全优先**: 所有设计决策都以安全性为首要考虑
|
||
2. **简洁直观**: 复杂功能的简单化呈现
|
||
3. **智能辅助**: AI 功能无缝集成,提升用户体验
|
||
4. **无障碍访问**: 支持各种辅助功能和可访问性标准
|
||
5. **一致性**: 跨平台和功能模块的统一体验
|
||
|
||
## 用户体验流程设计
|
||
|
||
### 1. 首次使用流程
|
||
|
||
```mermaid
|
||
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. 日常使用流程
|
||
|
||
```mermaid
|
||
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. 自动填充流程
|
||
|
||
```mermaid
|
||
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. 页面层级结构
|
||
|
||
```mermaid
|
||
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)
|
||
|
||
#### 颜色系统
|
||
```typescript
|
||
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',
|
||
},
|
||
};
|
||
```
|
||
|
||
#### 字体系统
|
||
```typescript
|
||
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,
|
||
},
|
||
};
|
||
```
|
||
|
||
#### 间距系统
|
||
```typescript
|
||
export const Spacing = {
|
||
xs: 4,
|
||
sm: 8,
|
||
md: 16,
|
||
lg: 24,
|
||
xl: 32,
|
||
'2xl': 48,
|
||
'3xl': 64,
|
||
};
|
||
```
|
||
|
||
### 2. 核心组件
|
||
|
||
#### 密码强度指示器
|
||
```typescript
|
||
interface PasswordStrengthProps {
|
||
strength: number; // 0-100
|
||
showLabel?: boolean;
|
||
size?: 'sm' | 'md' | 'lg';
|
||
}
|
||
|
||
// 视觉表现:
|
||
// 0-20: ●○○○○ 很弱 (红色)
|
||
// 21-40: ●●○○○ 弱 (橙色)
|
||
// 41-60: ●●●○○ 中等 (黄色)
|
||
// 61-80: ●●●●○ 强 (浅绿)
|
||
// 81-100: ●●●●● 很强 (深绿)
|
||
```
|
||
|
||
#### 安全评分卡片
|
||
```typescript
|
||
interface SecurityScoreCardProps {
|
||
score: number;
|
||
trend: 'up' | 'down' | 'stable';
|
||
issues: SecurityIssue[];
|
||
onViewDetails: () => void;
|
||
}
|
||
```
|
||
|
||
#### 密码条目卡片
|
||
```typescript
|
||
interface PasswordEntryCardProps {
|
||
entry: PasswordEntry;
|
||
showPassword?: boolean;
|
||
onCopy: (field: 'username' | 'password') => void;
|
||
onEdit: () => void;
|
||
onDelete: () => void;
|
||
}
|
||
```
|
||
|
||
### 3. 交互设计
|
||
|
||
#### 手势操作
|
||
- **左滑**: 快速复制用户名
|
||
- **右滑**: 快速复制密码
|
||
- **长按**: 显示操作菜单
|
||
- **双击**: 快速查看密码
|
||
|
||
#### 动画效果
|
||
- **页面转场**: 流畅的滑动动画
|
||
- **状态变化**: 微妙的缓动效果
|
||
- **加载状态**: 骨架屏 + 进度指示
|
||
- **反馈动画**: 成功/错误状态的视觉反馈
|
||
|
||
## 响应式设计
|
||
|
||
### 1. 屏幕适配
|
||
|
||
#### iPhone 尺寸适配
|
||
```typescript
|
||
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. 颜色适配
|
||
```typescript
|
||
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 功能提升用户的使用效率和安全性。* |