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
This commit is contained in:
361
docs/architecture.md
Normal file
361
docs/architecture.md
Normal file
@@ -0,0 +1,361 @@
|
||||
# AI 密码管理器 - 系统架构设计
|
||||
|
||||
## 项目概述
|
||||
|
||||
基于 React Native Expo 的 AI 驱动密码管理器,支持跨应用自动填充、生物识别认证、智能密码分析和自然语言搜索。
|
||||
|
||||
### 技术栈分析
|
||||
- **前端框架**: React Native 0.79.5 + Expo SDK 53
|
||||
- **路由**: Expo Router 5.1.4 (基于文件系统的路由)
|
||||
- **状态管理**: 待定 (建议 Zustand + React Query)
|
||||
- **UI 组件**: 自定义组件 + Expo 原生组件
|
||||
- **动画**: React Native Reanimated 3.17.4
|
||||
- **手势**: React Native Gesture Handler 2.24.0
|
||||
|
||||
## 整体系统架构
|
||||
|
||||
```mermaid
|
||||
graph TB
|
||||
subgraph "客户端层 (React Native)"
|
||||
A[主应用] --> B[密码管理模块]
|
||||
A --> C[AI 功能模块]
|
||||
A --> D[自动填充模块]
|
||||
A --> E[生物识别模块]
|
||||
A --> F[同步模块]
|
||||
end
|
||||
|
||||
subgraph "扩展层 (iOS)"
|
||||
G[AutoFill Extension]
|
||||
H[Keyboard Extension]
|
||||
I[Share Extension]
|
||||
end
|
||||
|
||||
subgraph "云端服务层"
|
||||
J[API Gateway]
|
||||
K[认证服务]
|
||||
L[密码存储服务]
|
||||
M[AI 分析服务]
|
||||
N[同步服务]
|
||||
end
|
||||
|
||||
subgraph "AI 服务层"
|
||||
O[网站分类 AI]
|
||||
P[密码强度分析]
|
||||
Q[安全评分引擎]
|
||||
R[自然语言处理]
|
||||
end
|
||||
|
||||
subgraph "数据层"
|
||||
S[加密数据库]
|
||||
T[用户配置]
|
||||
U[AI 模型存储]
|
||||
end
|
||||
|
||||
A --> G
|
||||
A --> H
|
||||
A --> I
|
||||
B --> J
|
||||
C --> M
|
||||
F --> N
|
||||
J --> K
|
||||
J --> L
|
||||
J --> M
|
||||
M --> O
|
||||
M --> P
|
||||
M --> Q
|
||||
M --> R
|
||||
L --> S
|
||||
K --> T
|
||||
M --> U
|
||||
```
|
||||
|
||||
## 核心模块设计
|
||||
|
||||
### 1. 前端架构 (React Native)
|
||||
|
||||
#### 1.1 目录结构
|
||||
```
|
||||
src/
|
||||
├── app/ # Expo Router 页面
|
||||
│ ├── (auth)/ # 认证相关页面
|
||||
│ ├── (tabs)/ # 主要功能页面
|
||||
│ └── modal/ # 模态页面
|
||||
├── components/ # 可复用组件
|
||||
│ ├── ui/ # 基础 UI 组件
|
||||
│ ├── forms/ # 表单组件
|
||||
│ └── password/ # 密码相关组件
|
||||
├── services/ # 业务服务层
|
||||
│ ├── api/ # API 调用
|
||||
│ ├── crypto/ # 加密服务
|
||||
│ ├── biometric/ # 生物识别
|
||||
│ └── ai/ # AI 功能
|
||||
├── stores/ # 状态管理
|
||||
├── utils/ # 工具函数
|
||||
├── types/ # TypeScript 类型
|
||||
├── constants/ # 常量配置
|
||||
└── hooks/ # 自定义 Hooks
|
||||
```
|
||||
|
||||
#### 1.2 状态管理架构
|
||||
```typescript
|
||||
// 使用 Zustand 进行状态管理
|
||||
interface AppState {
|
||||
// 用户状态
|
||||
user: UserState;
|
||||
// 密码库状态
|
||||
vault: VaultState;
|
||||
// AI 功能状态
|
||||
ai: AIState;
|
||||
// 设置状态
|
||||
settings: SettingsState;
|
||||
}
|
||||
```
|
||||
|
||||
### 2. iOS 扩展架构
|
||||
|
||||
#### 2.1 AutoFill Password Extension
|
||||
- **功能**: 在 Safari 和其他应用中提供密码自动填充
|
||||
- **实现**: iOS AutoFill Password Extension API
|
||||
- **通信**: 通过 App Groups 与主应用共享数据
|
||||
|
||||
#### 2.2 Custom Keyboard Extension
|
||||
- **功能**: 在任何应用中提供密码输入
|
||||
- **实现**: iOS Custom Keyboard Extension
|
||||
- **安全**: 限制网络访问,本地处理
|
||||
|
||||
#### 2.3 Share Extension
|
||||
- **功能**: 从其他应用快速保存密码
|
||||
- **实现**: iOS Share Extension
|
||||
- **集成**: 与主应用密码库同步
|
||||
|
||||
### 3. 云端服务架构
|
||||
|
||||
#### 3.1 API Gateway
|
||||
- **技术**: Node.js + Express / Fastify
|
||||
- **功能**:
|
||||
- 请求路由和负载均衡
|
||||
- 身份验证和授权
|
||||
- 请求限流和监控
|
||||
- API 版本管理
|
||||
|
||||
#### 3.2 微服务设计
|
||||
```mermaid
|
||||
graph LR
|
||||
A[API Gateway] --> B[用户服务]
|
||||
A --> C[密码服务]
|
||||
A --> D[AI 服务]
|
||||
A --> E[同步服务]
|
||||
A --> F[通知服务]
|
||||
|
||||
B --> G[用户数据库]
|
||||
C --> H[密码数据库]
|
||||
D --> I[AI 模型存储]
|
||||
E --> J[同步队列]
|
||||
```
|
||||
|
||||
### 4. AI 服务架构
|
||||
|
||||
#### 4.1 自建 AI 服务栈
|
||||
```mermaid
|
||||
graph TB
|
||||
A[AI API Gateway] --> B[模型管理服务]
|
||||
A --> C[推理服务]
|
||||
A --> D[训练服务]
|
||||
|
||||
B --> E[模型版本控制]
|
||||
C --> F[GPU 推理集群]
|
||||
D --> G[训练数据管道]
|
||||
|
||||
subgraph "AI 模型"
|
||||
H[网站分类模型]
|
||||
I[密码强度模型]
|
||||
J[NLP 搜索模型]
|
||||
K[安全评分模型]
|
||||
end
|
||||
|
||||
C --> H
|
||||
C --> I
|
||||
C --> J
|
||||
C --> K
|
||||
```
|
||||
|
||||
#### 4.2 AI 功能模块
|
||||
1. **网站分类识别**
|
||||
- 基于 URL 和页面内容的网站类型分类
|
||||
- 自动标签生成和分类建议
|
||||
|
||||
2. **密码强度分析**
|
||||
- 实时密码强度评估
|
||||
- 个性化密码建议生成
|
||||
|
||||
3. **智能安全评分**
|
||||
- 综合账户安全性评估
|
||||
- 风险预警和改进建议
|
||||
|
||||
4. **自然语言搜索**
|
||||
- 语义化密码搜索
|
||||
- 智能查询理解和结果排序
|
||||
|
||||
## 数据模型设计
|
||||
|
||||
### 1. 核心数据结构
|
||||
|
||||
```typescript
|
||||
// 密码条目
|
||||
interface PasswordEntry {
|
||||
id: string;
|
||||
title: string;
|
||||
username: string;
|
||||
password: string; // 加密存储
|
||||
url: string;
|
||||
notes: string;
|
||||
tags: string[];
|
||||
category: string;
|
||||
createdAt: Date;
|
||||
updatedAt: Date;
|
||||
lastUsed: Date;
|
||||
// AI 增强字段
|
||||
aiCategory?: string;
|
||||
securityScore?: number;
|
||||
riskLevel?: 'low' | 'medium' | 'high';
|
||||
suggestions?: string[];
|
||||
}
|
||||
|
||||
// 用户配置
|
||||
interface UserSettings {
|
||||
biometricEnabled: boolean;
|
||||
autoFillEnabled: boolean;
|
||||
syncEnabled: boolean;
|
||||
aiFeatures: {
|
||||
autoTagging: boolean;
|
||||
securityAnalysis: boolean;
|
||||
smartSearch: boolean;
|
||||
};
|
||||
security: {
|
||||
sessionTimeout: number;
|
||||
requireBiometricForView: boolean;
|
||||
autoLockDelay: number;
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
### 2. 加密方案
|
||||
|
||||
#### 2.1 端到端加密架构
|
||||
```mermaid
|
||||
graph LR
|
||||
A[用户主密码] --> B[PBKDF2 派生]
|
||||
B --> C[主加密密钥]
|
||||
C --> D[数据加密]
|
||||
|
||||
E[生物识别] --> F[设备密钥]
|
||||
F --> G[本地密钥存储]
|
||||
G --> C
|
||||
|
||||
C --> H[AES-256-GCM]
|
||||
H --> I[加密数据]
|
||||
```
|
||||
|
||||
#### 2.2 密钥管理
|
||||
- **主密钥**: 用户主密码通过 PBKDF2 派生
|
||||
- **设备密钥**: 生物识别保护的本地密钥
|
||||
- **传输加密**: TLS 1.3 + 证书固定
|
||||
- **存储加密**: AES-256-GCM 对称加密
|
||||
|
||||
## 安全架构
|
||||
|
||||
### 1. 多层安全防护
|
||||
|
||||
```mermaid
|
||||
graph TB
|
||||
A[用户界面层] --> B[应用安全层]
|
||||
B --> C[传输安全层]
|
||||
C --> D[服务安全层]
|
||||
D --> E[数据安全层]
|
||||
|
||||
subgraph "安全措施"
|
||||
F[生物识别认证]
|
||||
G[应用锁定]
|
||||
H[TLS 加密]
|
||||
I[API 认证]
|
||||
J[数据库加密]
|
||||
end
|
||||
|
||||
A -.-> F
|
||||
B -.-> G
|
||||
C -.-> H
|
||||
D -.-> I
|
||||
E -.-> J
|
||||
```
|
||||
|
||||
### 2. 威胁防护
|
||||
- **中间人攻击**: 证书固定 + TLS 1.3
|
||||
- **数据泄露**: 端到端加密 + 零知识架构
|
||||
- **设备丢失**: 生物识别 + 远程擦除
|
||||
- **恶意软件**: 应用签名验证 + 运行时保护
|
||||
|
||||
## 性能优化
|
||||
|
||||
### 1. 前端性能
|
||||
- **懒加载**: 按需加载密码条目
|
||||
- **虚拟化**: 大列表虚拟滚动
|
||||
- **缓存策略**: 智能本地缓存
|
||||
- **预加载**: 预测性数据加载
|
||||
|
||||
### 2. 后端性能
|
||||
- **数据库优化**: 索引优化 + 查询缓存
|
||||
- **CDN 加速**: 静态资源分发
|
||||
- **负载均衡**: 多实例部署
|
||||
- **缓存层**: Redis 分布式缓存
|
||||
|
||||
## 部署架构
|
||||
|
||||
### 1. 云端部署
|
||||
```mermaid
|
||||
graph TB
|
||||
A[负载均衡器] --> B[API Gateway 集群]
|
||||
B --> C[微服务集群]
|
||||
C --> D[数据库集群]
|
||||
|
||||
E[CDN] --> F[静态资源]
|
||||
G[监控系统] --> H[日志聚合]
|
||||
I[备份系统] --> J[灾难恢复]
|
||||
```
|
||||
|
||||
### 2. 容器化部署
|
||||
- **容器编排**: Kubernetes
|
||||
- **服务网格**: Istio
|
||||
- **监控**: Prometheus + Grafana
|
||||
- **日志**: ELK Stack
|
||||
|
||||
## 开发工具链
|
||||
|
||||
### 1. 前端工具
|
||||
- **开发环境**: Expo Development Build
|
||||
- **调试**: Flipper + React Native Debugger
|
||||
- **测试**: Jest + Detox
|
||||
- **代码质量**: ESLint + Prettier + TypeScript
|
||||
|
||||
### 2. 后端工具
|
||||
- **API 文档**: OpenAPI/Swagger
|
||||
- **测试**: Jest + Supertest
|
||||
- **部署**: Docker + CI/CD
|
||||
- **监控**: APM + 健康检查
|
||||
|
||||
## 合规性和隐私
|
||||
|
||||
### 1. 数据保护
|
||||
- **GDPR 合规**: 数据最小化 + 用户控制
|
||||
- **数据本地化**: 区域数据存储
|
||||
- **审计日志**: 完整操作记录
|
||||
- **数据删除**: 安全数据擦除
|
||||
|
||||
### 2. 安全认证
|
||||
- **SOC 2 Type II**: 安全控制审计
|
||||
- **ISO 27001**: 信息安全管理
|
||||
- **渗透测试**: 定期安全评估
|
||||
- **漏洞管理**: 持续安全监控
|
||||
|
||||
---
|
||||
|
||||
*此架构设计为 AI 密码管理器提供了完整的技术蓝图,确保安全性、可扩展性和用户体验的最佳平衡。*
|
||||
324
docs/design-system-specs.md
Normal file
324
docs/design-system-specs.md
Normal file
@@ -0,0 +1,324 @@
|
||||
# AI密码管理器 - 设计系统详细规范
|
||||
|
||||
## 🎨 视觉设计原则
|
||||
|
||||
### 核心设计理念
|
||||
1. **AI优先**: 所有设计元素都体现智能化特征
|
||||
2. **安全感**: 通过视觉传达信任和安全
|
||||
3. **未来感**: 现代化、前瞻性的界面设计
|
||||
4. **简洁性**: 复杂功能的简单化呈现
|
||||
5. **一致性**: 统一的视觉语言和交互模式
|
||||
|
||||
## 🌈 颜色系统详细规范
|
||||
|
||||
### 主色调 (Primary Blue)
|
||||
```
|
||||
用途:主要品牌色、重要按钮、链接、选中状态
|
||||
- Primary 50: #f0f9ff (浅色背景)
|
||||
- Primary 100: #e0f2fe (悬停背景)
|
||||
- Primary 200: #bae6fd (边框色)
|
||||
- Primary 300: #7dd3fc (禁用状态)
|
||||
- Primary 400: #38bdf8 (悬停状态)
|
||||
- Primary 500: #0ea5e9 (默认主色)
|
||||
- Primary 600: #0284c7 (按下状态)
|
||||
- Primary 700: #0369a1 (深色主题)
|
||||
- Primary 800: #075985 (强调色)
|
||||
- Primary 900: #0c4a6e (最深色)
|
||||
```
|
||||
|
||||
### AI渐变色系
|
||||
```
|
||||
用途:AI功能标识、智能建议、未来感元素
|
||||
- AI Gradient 1: linear-gradient(135deg, #667eea 0%, #764ba2 100%)
|
||||
- AI Gradient 2: linear-gradient(135deg, #f093fb 0%, #f5576c 100%)
|
||||
- AI Gradient 3: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%)
|
||||
- AI Glow: #667eea with 20% opacity blur
|
||||
```
|
||||
|
||||
### 安全状态色系
|
||||
```
|
||||
高安全级别 (绿色系)
|
||||
- Success 50: #ecfdf5
|
||||
- Success 100: #d1fae5
|
||||
- Success 500: #10b981 (主要成功色)
|
||||
- Success 600: #059669 (深色成功色)
|
||||
- Success 900: #064e3b
|
||||
|
||||
中等安全级别 (橙色系)
|
||||
- Warning 50: #fffbeb
|
||||
- Warning 100: #fef3c7
|
||||
- Warning 500: #f59e0b (主要警告色)
|
||||
- Warning 600: #d97706 (深色警告色)
|
||||
- Warning 900: #92400e
|
||||
|
||||
低安全级别 (红色系)
|
||||
- Error 50: #fef2f2
|
||||
- Error 100: #fee2e2
|
||||
- Error 500: #ef4444 (主要错误色)
|
||||
- Error 600: #dc2626 (深色错误色)
|
||||
- Error 900: #7f1d1d
|
||||
```
|
||||
|
||||
### 中性色系
|
||||
```
|
||||
用途:文本、背景、边框、图标
|
||||
- Gray 25: #fcfcfd (最浅背景)
|
||||
- Gray 50: #f9fafb (卡片背景)
|
||||
- Gray 100: #f3f4f6 (分割线)
|
||||
- Gray 200: #e5e7eb (边框)
|
||||
- Gray 300: #d1d5db (禁用边框)
|
||||
- Gray 400: #9ca3af (占位符文本)
|
||||
- Gray 500: #6b7280 (次要文本)
|
||||
- Gray 600: #4b5563 (标签文本)
|
||||
- Gray 700: #374151 (正文文本)
|
||||
- Gray 800: #1f2937 (标题文本)
|
||||
- Gray 900: #111827 (主要文本)
|
||||
```
|
||||
|
||||
### 暗色模式色系
|
||||
```
|
||||
背景色
|
||||
- Dark BG Primary: #000000 (主背景)
|
||||
- Dark BG Secondary: #1c1c1e (卡片背景)
|
||||
- Dark BG Tertiary: #2c2c2e (输入框背景)
|
||||
- Dark BG Quaternary: #3a3a3c (悬停背景)
|
||||
|
||||
文本色
|
||||
- Dark Text Primary: #ffffff (主要文本)
|
||||
- Dark Text Secondary: #ebebf5 (次要文本)
|
||||
- Dark Text Tertiary: #ebebf599 (60% 透明度)
|
||||
- Dark Text Quaternary: #ebebf54d (30% 透明度)
|
||||
|
||||
边框色
|
||||
- Dark Border Primary: #38383a
|
||||
- Dark Border Secondary: #48484a
|
||||
```
|
||||
|
||||
## 📝 字体系统
|
||||
|
||||
### 字体族
|
||||
```
|
||||
主字体:SF Pro Display (iOS) / Roboto (Android)
|
||||
代码字体:SF Mono / Roboto Mono
|
||||
```
|
||||
|
||||
### 字体大小和行高
|
||||
```
|
||||
Display (展示用)
|
||||
- Display XL: 48px / 56px (1.167) - 主要标题
|
||||
- Display LG: 36px / 44px (1.222) - 页面标题
|
||||
- Display MD: 30px / 38px (1.267) - 卡片标题
|
||||
|
||||
Heading (标题用)
|
||||
- H1: 24px / 32px (1.333) - 页面主标题
|
||||
- H2: 20px / 28px (1.4) - 区块标题
|
||||
- H3: 18px / 24px (1.333) - 小节标题
|
||||
|
||||
Body (正文用)
|
||||
- Body XL: 18px / 28px (1.556) - 重要正文
|
||||
- Body LG: 16px / 24px (1.5) - 标准正文
|
||||
- Body MD: 14px / 20px (1.429) - 次要正文
|
||||
- Body SM: 12px / 16px (1.333) - 辅助文本
|
||||
|
||||
Label (标签用)
|
||||
- Label XL: 16px / 20px (1.25) - 大标签
|
||||
- Label LG: 14px / 18px (1.286) - 标准标签
|
||||
- Label MD: 12px / 16px (1.333) - 小标签
|
||||
- Label SM: 10px / 14px (1.4) - 微标签
|
||||
```
|
||||
|
||||
### 字重系统
|
||||
```
|
||||
- Thin: 100 (装饰用)
|
||||
- Light: 300 (次要信息)
|
||||
- Regular: 400 (正文)
|
||||
- Medium: 500 (强调)
|
||||
- Semibold: 600 (小标题)
|
||||
- Bold: 700 (重要标题)
|
||||
- Heavy: 800 (特殊强调)
|
||||
- Black: 900 (品牌标题)
|
||||
```
|
||||
|
||||
## 📏 间距系统
|
||||
|
||||
### 基础间距单位
|
||||
```
|
||||
基础单位:4px (0.25rem)
|
||||
|
||||
间距级别:
|
||||
- 0: 0px
|
||||
- 1: 4px (0.25rem)
|
||||
- 2: 8px (0.5rem)
|
||||
- 3: 12px (0.75rem)
|
||||
- 4: 16px (1rem) - 标准间距
|
||||
- 5: 20px (1.25rem)
|
||||
- 6: 24px (1.5rem)
|
||||
- 8: 32px (2rem)
|
||||
- 10: 40px (2.5rem)
|
||||
- 12: 48px (3rem)
|
||||
- 16: 64px (4rem)
|
||||
- 20: 80px (5rem)
|
||||
- 24: 96px (6rem)
|
||||
```
|
||||
|
||||
### 组件内间距
|
||||
```
|
||||
按钮内边距:
|
||||
- Small: 8px 12px
|
||||
- Medium: 12px 16px
|
||||
- Large: 16px 24px
|
||||
|
||||
卡片内边距:
|
||||
- Small: 12px
|
||||
- Medium: 16px
|
||||
- Large: 24px
|
||||
|
||||
输入框内边距:
|
||||
- Height: 48px
|
||||
- Horizontal: 16px
|
||||
- Vertical: 12px
|
||||
```
|
||||
|
||||
## 🎭 阴影系统
|
||||
|
||||
### 卡片阴影
|
||||
```
|
||||
Card Shadow XS:
|
||||
- box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05)
|
||||
|
||||
Card Shadow SM:
|
||||
- box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)
|
||||
|
||||
Card Shadow MD:
|
||||
- box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)
|
||||
|
||||
Card Shadow LG:
|
||||
- box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)
|
||||
|
||||
Card Shadow XL:
|
||||
- box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)
|
||||
```
|
||||
|
||||
### 按钮阴影
|
||||
```
|
||||
Button Shadow:
|
||||
- box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)
|
||||
|
||||
Button Shadow Hover:
|
||||
- box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)
|
||||
|
||||
Button Shadow Active:
|
||||
- box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05)
|
||||
```
|
||||
|
||||
### AI发光效果
|
||||
```
|
||||
AI Glow Subtle:
|
||||
- box-shadow: 0 0 20px rgba(102, 126, 234, 0.15)
|
||||
|
||||
AI Glow Medium:
|
||||
- box-shadow: 0 0 30px rgba(102, 126, 234, 0.25)
|
||||
|
||||
AI Glow Strong:
|
||||
- box-shadow: 0 0 40px rgba(102, 126, 234, 0.35)
|
||||
```
|
||||
|
||||
## 🔘 圆角系统
|
||||
|
||||
### 圆角级别
|
||||
```
|
||||
- None: 0px (直角)
|
||||
- XS: 2px (微圆角)
|
||||
- SM: 4px (小圆角)
|
||||
- MD: 6px (中圆角)
|
||||
- LG: 8px (大圆角)
|
||||
- XL: 12px (特大圆角)
|
||||
- 2XL: 16px (超大圆角)
|
||||
- 3XL: 24px (巨大圆角)
|
||||
- Full: 9999px (完全圆形)
|
||||
```
|
||||
|
||||
### 组件圆角应用
|
||||
```
|
||||
按钮:8px (LG)
|
||||
输入框:8px (LG)
|
||||
卡片:12px (XL)
|
||||
模态框:16px (2XL)
|
||||
头像:9999px (Full)
|
||||
标签:4px (SM)
|
||||
```
|
||||
|
||||
## 🎯 图标系统
|
||||
|
||||
### 图标尺寸
|
||||
```
|
||||
- XS: 12px (微图标)
|
||||
- SM: 16px (小图标)
|
||||
- MD: 20px (标准图标)
|
||||
- LG: 24px (大图标)
|
||||
- XL: 32px (特大图标)
|
||||
- 2XL: 48px (超大图标)
|
||||
```
|
||||
|
||||
### 图标风格
|
||||
```
|
||||
- 线性图标:2px 线宽,圆角端点
|
||||
- 填充图标:用于选中状态
|
||||
- 双色图标:主色 + 灰色组合
|
||||
- AI图标:渐变色处理
|
||||
```
|
||||
|
||||
### 安全状态图标
|
||||
```
|
||||
- 高安全:🛡️ (盾牌) - 绿色
|
||||
- 中等安全:⚠️ (警告) - 橙色
|
||||
- 低安全:🚨 (警报) - 红色
|
||||
- AI功能:🤖 (机器人) - 渐变色
|
||||
- 生物识别:👆 (指纹) / 👁️ (面容)
|
||||
```
|
||||
|
||||
## 📱 移动端适配
|
||||
|
||||
### 屏幕尺寸断点
|
||||
```
|
||||
- Small: 375px (iPhone SE)
|
||||
- Medium: 390px (iPhone 14)
|
||||
- Large: 430px (iPhone 14 Pro Max)
|
||||
```
|
||||
|
||||
### 触摸目标尺寸
|
||||
```
|
||||
最小触摸目标:44px × 44px
|
||||
推荐触摸目标:48px × 48px
|
||||
舒适触摸目标:56px × 56px
|
||||
```
|
||||
|
||||
### 安全区域
|
||||
```
|
||||
顶部安全区域:44px (状态栏)
|
||||
底部安全区域:34px (Home Indicator)
|
||||
侧边安全区域:16px (最小边距)
|
||||
```
|
||||
|
||||
## 🌙 暗色模式适配
|
||||
|
||||
### 适配原则
|
||||
```
|
||||
1. 保持品牌色不变
|
||||
2. 降低整体对比度
|
||||
3. 使用真黑色背景
|
||||
4. 适当调整阴影效果
|
||||
5. 保持可读性标准
|
||||
```
|
||||
|
||||
### 颜色映射
|
||||
```
|
||||
浅色模式 → 暗色模式
|
||||
White (#ffffff) → Dark BG Primary (#000000)
|
||||
Gray 50 (#f9fafb) → Dark BG Secondary (#1c1c1e)
|
||||
Gray 100 (#f3f4f6) → Dark BG Tertiary (#2c2c2e)
|
||||
Gray 900 (#111827) → Dark Text Primary (#ffffff)
|
||||
Gray 500 (#6b7280) → Dark Text Secondary (#ebebf5)
|
||||
```
|
||||
|
||||
这个详细的设计系统规范将确保整个AI密码管理器应用的视觉一致性和用户体验质量。请按照这些规范在Figma中创建您的设计系统。
|
||||
513
docs/figma-ai-animations-spec.md
Normal file
513
docs/figma-ai-animations-spec.md
Normal file
@@ -0,0 +1,513 @@
|
||||
# AI密码管理器 - AI元素与动画效果规范
|
||||
|
||||
## 🤖 AI视觉元素设计
|
||||
|
||||
### 1. AI渐变色系统
|
||||
|
||||
#### 主要AI渐变
|
||||
```
|
||||
AI/Primary:
|
||||
- 角度:135度
|
||||
- 起始色:#667eea (蓝紫色)
|
||||
- 结束色:#764ba2 (深紫色)
|
||||
- 用途:主要AI功能、按钮、卡片背景
|
||||
|
||||
AI/Secondary:
|
||||
- 角度:135度
|
||||
- 起始色:#f093fb (粉紫色)
|
||||
- 结束色:#f5576c (珊瑚红)
|
||||
- 用途:次要AI功能、强调元素
|
||||
|
||||
AI/Accent:
|
||||
- 角度:135度
|
||||
- 起始色:#4facfe (天蓝色)
|
||||
- 结束色:#00f2fe (青色)
|
||||
- 用途:AI状态指示、进度条、特殊效果
|
||||
```
|
||||
|
||||
#### 渐变应用场景
|
||||
- **AI助手卡片背景**:使用AI/Primary渐变
|
||||
- **AI功能按钮**:使用AI/Primary渐变 + 发光效果
|
||||
- **智能搜索栏AI图标**:使用AI/Primary渐变
|
||||
- **AI建议徽章**:使用AI/Secondary渐变
|
||||
- **AI处理进度条**:使用AI/Accent渐变
|
||||
|
||||
### 2. AI发光效果系统
|
||||
|
||||
#### 基础发光效果
|
||||
```
|
||||
AI/Glow/Subtle (微妙发光):
|
||||
- 类型:外发光 (Drop Shadow)
|
||||
- 颜色:#667eea
|
||||
- X偏移:0px
|
||||
- Y偏移:0px
|
||||
- 模糊:6px
|
||||
- 扩散:1px
|
||||
- 透明度:25%
|
||||
|
||||
AI/Glow/Medium (中等发光):
|
||||
- 类型:外发光
|
||||
- 颜色:#667eea
|
||||
- X偏移:0px
|
||||
- Y偏移:0px
|
||||
- 模糊:12px
|
||||
- 扩散:2px
|
||||
- 透明度:35%
|
||||
|
||||
AI/Glow/Strong (强发光):
|
||||
- 类型:外发光
|
||||
- 颜色:#667eea
|
||||
- X偏移:0px
|
||||
- Y偏移:0px
|
||||
- 模糊:20px
|
||||
- 扩散:4px
|
||||
- 透明度:45%
|
||||
```
|
||||
|
||||
#### 发光应用规则
|
||||
- **AI按钮默认状态**:使用Subtle发光
|
||||
- **AI按钮悬停状态**:使用Medium发光
|
||||
- **AI功能激活状态**:使用Strong发光
|
||||
- **AI徽章**:使用Subtle发光
|
||||
- **AI处理中状态**:使用Medium发光 + 脉冲动画
|
||||
|
||||
### 3. AI图标系统
|
||||
|
||||
#### AI机器人图标
|
||||
```
|
||||
设计规范:
|
||||
- 基础尺寸:24×24px
|
||||
- 线条粗细:2px
|
||||
- 圆角:2px
|
||||
- 颜色:AI渐变填充或单色
|
||||
|
||||
图标元素:
|
||||
- 头部:圆角矩形
|
||||
- 眼睛:两个小圆点
|
||||
- 嘴部:小横线
|
||||
- 身体:矩形
|
||||
- 天线:顶部两个小点
|
||||
|
||||
状态变化:
|
||||
- 默认:静态AI渐变
|
||||
- 思考中:眼睛闪烁动画
|
||||
- 处理中:整体脉冲动画
|
||||
- 完成:短暂的发光效果
|
||||
```
|
||||
|
||||
#### AI徽章设计
|
||||
```
|
||||
尺寸:32×16px
|
||||
背景:AI/Primary渐变
|
||||
圆角:8px
|
||||
文字:"AI"
|
||||
字体:10px, Bold
|
||||
颜色:白色
|
||||
效果:AI/Glow/Subtle
|
||||
|
||||
变体:
|
||||
- 小尺寸:24×12px,8px字体
|
||||
- 大尺寸:40×20px,12px字体
|
||||
- 圆形:16×16px圆形,"AI"居中
|
||||
```
|
||||
|
||||
### 4. 智能状态指示器
|
||||
|
||||
#### AI处理状态
|
||||
```
|
||||
等待状态:
|
||||
- AI图标:静态,AI/Primary渐变
|
||||
- 文字:"AI准备就绪"
|
||||
- 颜色:Gray/500
|
||||
|
||||
思考状态:
|
||||
- AI图标:缓慢脉冲动画
|
||||
- 文字:"AI正在分析..."
|
||||
- 颜色:AI/Primary
|
||||
- 动画:1.5s循环,透明度60%-100%
|
||||
|
||||
处理状态:
|
||||
- AI图标:快速脉冲 + 旋转
|
||||
- 文字:"AI正在处理..."
|
||||
- 颜色:AI/Accent
|
||||
- 动画:0.8s循环,多重效果
|
||||
|
||||
完成状态:
|
||||
- AI图标:短暂强发光
|
||||
- 文字:"AI分析完成"
|
||||
- 颜色:Security/High
|
||||
- 动画:一次性发光效果
|
||||
```
|
||||
|
||||
## 🎬 动画效果系统
|
||||
|
||||
### 1. 基础动画参数
|
||||
|
||||
#### 时长标准
|
||||
```
|
||||
微交互 (Micro): 150ms
|
||||
- 按钮点击反馈
|
||||
- 开关切换
|
||||
- 小图标变化
|
||||
|
||||
快速 (Fast): 200ms
|
||||
- 卡片悬停效果
|
||||
- 颜色变化
|
||||
- 小组件状态切换
|
||||
|
||||
标准 (Normal): 300ms
|
||||
- 页面转场
|
||||
- 模态框出现/消失
|
||||
- 大组件状态变化
|
||||
|
||||
慢速 (Slow): 500ms
|
||||
- 复杂动画
|
||||
- 多步骤动画
|
||||
- 强调性动画
|
||||
```
|
||||
|
||||
#### 缓动函数
|
||||
```
|
||||
Ease Out: 快速开始,缓慢结束
|
||||
- 用途:元素进入、按钮反馈
|
||||
- 贝塞尔:cubic-bezier(0.25, 0.46, 0.45, 0.94)
|
||||
|
||||
Ease In: 缓慢开始,快速结束
|
||||
- 用途:元素退出、消失动画
|
||||
- 贝塞尔:cubic-bezier(0.55, 0.055, 0.675, 0.19)
|
||||
|
||||
Ease In Out: 两端缓慢,中间快速
|
||||
- 用途:状态切换、循环动画
|
||||
- 贝塞尔:cubic-bezier(0.645, 0.045, 0.355, 1)
|
||||
|
||||
AI Bounce: AI特有的弹性效果
|
||||
- 用途:AI功能激活、完成反馈
|
||||
- 贝塞尔:cubic-bezier(0.68, -0.55, 0.265, 1.55)
|
||||
```
|
||||
|
||||
### 2. 页面转场动画
|
||||
|
||||
#### 推入转场 (Push Transition)
|
||||
```
|
||||
动画类型:Smart Animate
|
||||
时长:300ms
|
||||
缓动:Ease Out
|
||||
|
||||
效果:
|
||||
- 新页面从右侧滑入
|
||||
- 当前页面向左滑出
|
||||
- 同时进行,无重叠
|
||||
|
||||
适用场景:
|
||||
- 主要页面导航
|
||||
- 详情页面进入
|
||||
- 设置页面导航
|
||||
```
|
||||
|
||||
#### 模态转场 (Modal Transition)
|
||||
```
|
||||
动画类型:Dissolve + Move In
|
||||
时长:250ms
|
||||
缓动:Ease Out
|
||||
|
||||
效果:
|
||||
- 背景遮罩淡入 (透明度0→40%)
|
||||
- 模态框从底部滑入
|
||||
- 轻微的缩放效果 (95%→100%)
|
||||
|
||||
适用场景:
|
||||
- 底部抽屉
|
||||
- 确认对话框
|
||||
- 操作菜单
|
||||
```
|
||||
|
||||
### 3. AI特效动画
|
||||
|
||||
#### 脉冲呼吸动画 (AI Pulse)
|
||||
```
|
||||
动画类型:Scale + Opacity
|
||||
时长:1.5s
|
||||
循环:无限
|
||||
缓动:Ease In Out
|
||||
|
||||
关键帧:
|
||||
0%: Scale 1.0, Opacity 1.0
|
||||
50%: Scale 1.05, Opacity 0.7
|
||||
100%: Scale 1.0, Opacity 1.0
|
||||
|
||||
应用场景:
|
||||
- AI思考状态
|
||||
- 等待AI响应
|
||||
- AI功能激活提示
|
||||
```
|
||||
|
||||
#### 渐变流动动画 (Gradient Flow)
|
||||
```
|
||||
动画类型:Background Position
|
||||
时长:3s
|
||||
循环:无限
|
||||
缓动:Linear
|
||||
|
||||
效果:
|
||||
- 渐变背景位置移动
|
||||
- 创造流动光效
|
||||
- 角度保持135度不变
|
||||
|
||||
实现方式:
|
||||
- 创建更大的渐变背景
|
||||
- 通过遮罩控制可见区域
|
||||
- 背景位置循环移动
|
||||
|
||||
应用场景:
|
||||
- AI卡片背景
|
||||
- AI按钮激活状态
|
||||
- AI处理进度指示
|
||||
```
|
||||
|
||||
#### 粒子扫描动画 (Particle Scan)
|
||||
```
|
||||
动画类型:Position + Opacity + Scale
|
||||
时长:2s
|
||||
循环:无限
|
||||
缓动:Ease In Out
|
||||
|
||||
粒子属性:
|
||||
- 数量:8-12个
|
||||
- 尺寸:2-4px圆点
|
||||
- 颜色:AI/Accent渐变
|
||||
- 轨迹:弧形或直线
|
||||
|
||||
运动模式:
|
||||
- 从左到右扫过
|
||||
- 透明度渐变
|
||||
- 轻微的缩放变化
|
||||
|
||||
应用场景:
|
||||
- 安全扫描过程
|
||||
- AI分析进度
|
||||
- 数据处理状态
|
||||
```
|
||||
|
||||
### 4. 交互反馈动画
|
||||
|
||||
#### 按钮点击反馈
|
||||
```
|
||||
AI Button 点击:
|
||||
1. 按下:Scale 0.98 (150ms, Ease Out)
|
||||
2. 释放:Scale 1.0 + 发光增强 (200ms, AI Bounce)
|
||||
3. 完成:发光恢复正常 (300ms, Ease Out)
|
||||
|
||||
Primary Button 点击:
|
||||
1. 按下:Scale 0.98 + 颜色加深 (150ms, Ease Out)
|
||||
2. 释放:Scale 1.0 + 颜色恢复 (200ms, Ease Out)
|
||||
|
||||
Secondary Button 点击:
|
||||
1. 按下:背景色出现 (150ms, Ease Out)
|
||||
2. 释放:背景色消失 (200ms, Ease Out)
|
||||
```
|
||||
|
||||
#### 卡片交互反馈
|
||||
```
|
||||
悬停效果:
|
||||
- 阴影:Shadow/MD → Shadow/LG (200ms, Ease Out)
|
||||
- 位移:Y轴向上2px (200ms, Ease Out)
|
||||
|
||||
点击效果:
|
||||
- 缩放:Scale 0.98 (150ms, Ease Out)
|
||||
- 阴影:Shadow/LG → Shadow/SM (150ms, Ease Out)
|
||||
|
||||
AI卡片特殊效果:
|
||||
- 悬停:发光效果增强 (200ms, Ease Out)
|
||||
- 点击:短暂的渐变流动加速
|
||||
```
|
||||
|
||||
#### 开关切换动画
|
||||
```
|
||||
滑块移动:
|
||||
- 距离:24px (开关宽度 - 滑块宽度)
|
||||
- 时长:200ms
|
||||
- 缓动:Ease In Out
|
||||
|
||||
轨道颜色变化:
|
||||
- 同步进行
|
||||
- Gray/300 ↔ Primary/500
|
||||
- 时长:200ms
|
||||
|
||||
状态指示:
|
||||
- 开启:轻微的发光效果
|
||||
- 关闭:发光消失
|
||||
```
|
||||
|
||||
### 5. 加载动画
|
||||
|
||||
#### 旋转加载器 (Spinner)
|
||||
```
|
||||
基础版本:
|
||||
- 圆环:2px线宽,Primary/500颜色
|
||||
- 旋转:360度,1s,Linear,无限循环
|
||||
- 尺寸:24×24px或32×32px
|
||||
|
||||
AI版本:
|
||||
- 圆环:AI/Primary渐变
|
||||
- 旋转:360度,1.2s,Ease In Out,无限循环
|
||||
- 发光:AI/Glow/Subtle
|
||||
- 脉冲:配合旋转的透明度变化
|
||||
```
|
||||
|
||||
#### 骨架屏动画 (Skeleton)
|
||||
```
|
||||
基础效果:
|
||||
- 背景:Gray/200
|
||||
- 动画:从左到右的光泽扫过
|
||||
- 时长:1.5s,无限循环
|
||||
|
||||
光泽效果:
|
||||
- 宽度:100px
|
||||
- 颜色:白色渐变 (透明→50%→透明)
|
||||
- 移动:从-100px到容器宽度+100px
|
||||
- 缓动:Ease In Out
|
||||
```
|
||||
|
||||
#### 进度条动画
|
||||
```
|
||||
线性进度:
|
||||
- 宽度变化:0% → 目标百分比
|
||||
- 时长:根据进度值计算 (最长2s)
|
||||
- 缓动:Ease Out
|
||||
|
||||
AI进度条:
|
||||
- 基础进度:AI/Accent渐变
|
||||
- 流动效果:渐变位置移动
|
||||
- 脉冲效果:轻微的高度变化
|
||||
```
|
||||
|
||||
### 6. 状态转换动画
|
||||
|
||||
#### 密码强度变化
|
||||
```
|
||||
圆点填充动画:
|
||||
- 每个圆点依次填充
|
||||
- 间隔:100ms
|
||||
- 颜色渐变:Gray/300 → 目标颜色
|
||||
- 缩放:轻微的放大效果 (1.0 → 1.1 → 1.0)
|
||||
|
||||
强度提升特效:
|
||||
- 新填充的圆点:短暂发光
|
||||
- 颜色变化:平滑过渡
|
||||
- 完成时:整体轻微脉冲
|
||||
```
|
||||
|
||||
#### 安全评分变化
|
||||
```
|
||||
圆形进度条:
|
||||
- 进度弧度:平滑增长
|
||||
- 时长:1.5s
|
||||
- 缓动:Ease Out
|
||||
|
||||
数字计数:
|
||||
- 从当前值到目标值
|
||||
- 时长:1s
|
||||
- 缓动:Ease Out
|
||||
- 数字跳动效果
|
||||
|
||||
评分提升庆祝:
|
||||
- 完成时:短暂的发光效果
|
||||
- 粒子效果:小星星从中心散开
|
||||
- 颜色变化:根据新评分调整
|
||||
```
|
||||
|
||||
### 7. AI功能专用动画
|
||||
|
||||
#### 语音识别动画
|
||||
```
|
||||
麦克风图标:
|
||||
- 基础:静态状态
|
||||
- 激活:脉冲动画 + 发光
|
||||
- 识别中:音波扩散效果
|
||||
- 完成:短暂的成功发光
|
||||
|
||||
音波效果:
|
||||
- 3个同心圆
|
||||
- 依次扩散
|
||||
- 透明度:100% → 0%
|
||||
- 时长:1s,无限循环
|
||||
```
|
||||
|
||||
#### AI分析动画
|
||||
```
|
||||
分析过程:
|
||||
1. 数据收集:粒子向中心聚集
|
||||
2. 处理中:中心旋转 + 脉冲
|
||||
3. 结果生成:粒子向外扩散
|
||||
4. 完成:结果卡片滑入
|
||||
|
||||
时长分配:
|
||||
- 收集:1s
|
||||
- 处理:2-3s (根据实际处理时间)
|
||||
- 生成:0.5s
|
||||
- 完成:0.3s
|
||||
```
|
||||
|
||||
#### 智能建议出现
|
||||
```
|
||||
建议卡片动画:
|
||||
1. 从底部滑入 (300ms, Ease Out)
|
||||
2. 轻微的弹性效果 (AI Bounce)
|
||||
3. 发光效果渐现 (200ms)
|
||||
4. 内容文字依次显示 (每行间隔100ms)
|
||||
|
||||
特殊效果:
|
||||
- 背景渐变流动
|
||||
- 边框发光脉冲
|
||||
- AI图标旋转
|
||||
```
|
||||
|
||||
## 🎯 动画实施指南
|
||||
|
||||
### Figma中的动画设置
|
||||
|
||||
#### Smart Animate设置
|
||||
```
|
||||
1. 创建组件的多个状态
|
||||
2. 确保图层命名一致
|
||||
3. 设置Prototype连接
|
||||
4. 选择Smart Animate
|
||||
5. 调整时长和缓动
|
||||
```
|
||||
|
||||
#### 复杂动画实现
|
||||
```
|
||||
1. 使用多个中间帧
|
||||
2. 创建动画序列
|
||||
3. 利用延迟设置
|
||||
4. 组合多种动画类型
|
||||
```
|
||||
|
||||
### 开发实现建议
|
||||
|
||||
#### React Native Reanimated
|
||||
```javascript
|
||||
// AI脉冲动画示例
|
||||
const pulseAnimation = useSharedValue(1);
|
||||
|
||||
useEffect(() => {
|
||||
pulseAnimation.value = withRepeat(
|
||||
withTiming(1.05, { duration: 750 }),
|
||||
-1,
|
||||
true
|
||||
);
|
||||
}, []);
|
||||
|
||||
const animatedStyle = useAnimatedStyle(() => ({
|
||||
transform: [{ scale: pulseAnimation.value }],
|
||||
opacity: interpolate(pulseAnimation.value, [1, 1.05], [1, 0.7])
|
||||
}));
|
||||
```
|
||||
|
||||
#### 性能优化
|
||||
- 使用原生动画驱动
|
||||
- 避免在主线程执行动画
|
||||
- 合理控制同时运行的动画数量
|
||||
- 使用shouldRasterizeIOS优化复杂动画
|
||||
|
||||
这个AI元素和动画规范确保了整个密码管理器界面具有一致的AI视觉语言和流畅的用户体验,同时体现了未来感和科技感。
|
||||
443
docs/figma-components-spec.md
Normal file
443
docs/figma-components-spec.md
Normal file
@@ -0,0 +1,443 @@
|
||||
# AI密码管理器 - Figma组件规范
|
||||
|
||||
## 🧩 核心组件库
|
||||
|
||||
### 1. 按钮组件 (Button)
|
||||
|
||||
#### Primary Button
|
||||
```
|
||||
尺寸:最小宽度120px,高度48px
|
||||
背景:Primary/500 (#0ea5e9)
|
||||
圆角:12px
|
||||
文字:白色,Body/Large,SemiBold
|
||||
内边距:16px水平,12px垂直
|
||||
阴影:Shadow/SM
|
||||
|
||||
状态变体:
|
||||
- Default: Primary/500背景
|
||||
- Hover: Primary/600背景
|
||||
- Pressed: Primary/700背景 + 轻微缩放(0.98)
|
||||
- Disabled: Gray/300背景,Gray/500文字
|
||||
```
|
||||
|
||||
#### Secondary Button
|
||||
```
|
||||
尺寸:最小宽度120px,高度48px
|
||||
背景:透明
|
||||
边框:1px Primary/500
|
||||
圆角:12px
|
||||
文字:Primary/500,Body/Large,SemiBold
|
||||
内边距:16px水平,12px垂直
|
||||
|
||||
状态变体:
|
||||
- Default: 透明背景,Primary/500边框和文字
|
||||
- Hover: Primary/50背景
|
||||
- Pressed: Primary/100背景
|
||||
- Disabled: Gray/300边框和文字
|
||||
```
|
||||
|
||||
#### AI Button (特殊渐变按钮)
|
||||
```
|
||||
尺寸:最小宽度120px,高度48px
|
||||
背景:AI渐变 (135deg, #667eea 0%, #764ba2 100%)
|
||||
圆角:12px
|
||||
文字:白色,Body/Large,SemiBold
|
||||
内边距:16px水平,12px垂直
|
||||
特效:外发光 (#667eea, 模糊8px, 扩散2px)
|
||||
|
||||
状态变体:
|
||||
- Default: AI渐变 + 发光效果
|
||||
- Hover: 渐变加深 + 发光增强
|
||||
- Pressed: 缩放0.98 + 发光减弱
|
||||
```
|
||||
|
||||
#### Icon Button
|
||||
```
|
||||
尺寸:44×44px (最小触摸目标)
|
||||
背景:透明或Gray/100
|
||||
圆角:22px (圆形) 或 12px (圆角方形)
|
||||
图标:24×24px,居中
|
||||
颜色:Gray/600 或 Primary/500
|
||||
|
||||
变体:
|
||||
- Round: 圆形背景
|
||||
- Square: 圆角方形背景
|
||||
- Ghost: 无背景,仅图标
|
||||
```
|
||||
|
||||
### 2. 输入框组件 (Input)
|
||||
|
||||
#### Text Input
|
||||
```
|
||||
尺寸:宽度358px,高度48px
|
||||
背景:白色
|
||||
边框:1px Gray/300,聚焦时Primary/500
|
||||
圆角:12px
|
||||
内边距:16px水平,12px垂直
|
||||
文字:Body/Medium,Gray/900
|
||||
占位符:Body/Medium,Gray/400
|
||||
|
||||
状态变体:
|
||||
- Default: Gray/300边框
|
||||
- Focus: Primary/500边框 + 外发光
|
||||
- Error: Security/Low边框 + 错误图标
|
||||
- Disabled: Gray/100背景,Gray/400文字
|
||||
```
|
||||
|
||||
#### Password Input
|
||||
```
|
||||
基于Text Input,增加:
|
||||
右侧图标区域:48×48px
|
||||
显示/隐藏图标:👁️ / 👁️🗨️,24×24px
|
||||
密码强度指示器:底部2px高度条,根据强度显示颜色
|
||||
|
||||
强度颜色:
|
||||
- 很弱(0-20): Security/Low
|
||||
- 弱(21-40): Security/Medium
|
||||
- 中等(41-60): #f59e0b
|
||||
- 强(61-80): Security/High
|
||||
- 很强(81-100): #059669
|
||||
```
|
||||
|
||||
#### Search Input
|
||||
```
|
||||
基于Text Input,增加:
|
||||
左侧搜索图标:🔍,20×20px,距左边16px
|
||||
右侧AI图标:🤖,24×24px,AI渐变色
|
||||
背景:Gray/50 (更浅的背景)
|
||||
占位符:"搜索密码或说'银行相关的密码'"
|
||||
```
|
||||
|
||||
### 3. 卡片组件 (Card)
|
||||
|
||||
#### Base Card
|
||||
```
|
||||
背景:白色
|
||||
圆角:12px
|
||||
阴影:Shadow/MD
|
||||
内边距:16px
|
||||
边框:无 (依靠阴影分层)
|
||||
|
||||
变体:
|
||||
- Default: 标准阴影
|
||||
- Hover: 阴影增强到Shadow/LG
|
||||
- Pressed: 阴影减弱到Shadow/SM
|
||||
```
|
||||
|
||||
#### Password Entry Card
|
||||
```
|
||||
基于Base Card
|
||||
尺寸:358×72px (紧凑版) 或 358×96px (展开版)
|
||||
|
||||
布局结构:
|
||||
┌─[32×32px图标]─[网站名称]────────[⭐收藏]─┐
|
||||
│ [用户名] │
|
||||
│ [强度指示器] [标签] [使用时间] │
|
||||
└─────────────────────────────────────┘
|
||||
|
||||
组件元素:
|
||||
- 网站图标:32×32px,圆角6px
|
||||
- 网站名称:Body/Large,Bold,Gray/900
|
||||
- 用户名:Body/Small,Gray/500
|
||||
- 强度指示器:5个圆点,根据强度显示颜色
|
||||
- 标签:小型徽章,圆角12px
|
||||
- 收藏星标:⭐,16×16px,可切换状态
|
||||
- 使用时间:Caption,Gray/400
|
||||
```
|
||||
|
||||
#### Security Score Card
|
||||
```
|
||||
基于Base Card
|
||||
尺寸:358×100px (小版本) 或 358×160px (大版本)
|
||||
|
||||
小版本布局:
|
||||
┌─[评分圆环60px]─[问题列表]─┐
|
||||
│ │
|
||||
└────────────────────────┘
|
||||
|
||||
大版本布局:
|
||||
┌─────────────────────────┐
|
||||
│ [评分圆环120px] │
|
||||
│ 居中显示 │
|
||||
└─────────────────────────┘
|
||||
|
||||
评分圆环:
|
||||
- 外径:60px或120px
|
||||
- 线宽:4px或8px
|
||||
- 背景色:Gray/200
|
||||
- 进度色:根据评分显示渐变
|
||||
- 中心数字:H2或H1样式
|
||||
- 状态文字:Body/Small或H3样式
|
||||
```
|
||||
|
||||
#### AI Suggestion Card
|
||||
```
|
||||
基于Base Card,特殊样式:
|
||||
背景:AI渐变 (135deg, #667eea 0%, #764ba2 100%)
|
||||
文字:全部白色
|
||||
圆角:16px (更大圆角)
|
||||
外发光:AI/Glow效果
|
||||
|
||||
内容结构:
|
||||
- 标题:💡 AI 建议,Body/Large,Bold
|
||||
- 建议列表:• 开头的要点,Body/Medium
|
||||
- 底部装饰:微妙的粒子动画效果
|
||||
```
|
||||
|
||||
### 4. 徽章组件 (Badge)
|
||||
|
||||
#### Status Badge
|
||||
```
|
||||
基础尺寸:自适应宽度,高度24px
|
||||
圆角:12px
|
||||
内边距:8px水平,4px垂直
|
||||
文字:Caption,Bold
|
||||
|
||||
颜色变体:
|
||||
- Success: Security/High背景,白色文字
|
||||
- Warning: Security/Medium背景,白色文字
|
||||
- Error: Security/Low背景,白色文字
|
||||
- Info: Primary/500背景,白色文字
|
||||
- Neutral: Gray/500背景,白色文字
|
||||
```
|
||||
|
||||
#### Tag Badge
|
||||
```
|
||||
基础尺寸:自适应宽度,高度28px
|
||||
圆角:14px
|
||||
内边距:12px水平,6px垂直
|
||||
文字:Body/Small,Medium
|
||||
|
||||
样式变体:
|
||||
- Primary: Primary/100背景,Primary/700文字
|
||||
- Secondary: Gray/100背景,Gray/700文字
|
||||
- AI: AI渐变背景,白色文字 + AI图标
|
||||
```
|
||||
|
||||
#### AI Badge (特殊标识)
|
||||
```
|
||||
尺寸:32×16px
|
||||
背景:AI渐变
|
||||
圆角:8px
|
||||
文字:"AI",10px,Bold,白色
|
||||
外发光:微妙的AI色发光
|
||||
用途:标识AI增强功能
|
||||
```
|
||||
|
||||
### 5. 进度组件 (Progress)
|
||||
|
||||
#### Linear Progress
|
||||
```
|
||||
容器:宽度100%,高度4px
|
||||
背景:Gray/200
|
||||
圆角:2px
|
||||
进度条:根据类型显示不同颜色,圆角2px
|
||||
|
||||
颜色类型:
|
||||
- Default: Primary/500
|
||||
- Success: Security/High
|
||||
- Warning: Security/Medium
|
||||
- Error: Security/Low
|
||||
```
|
||||
|
||||
#### Circular Progress
|
||||
```
|
||||
外径:60px或120px
|
||||
线宽:4px或8px
|
||||
背景圆环:Gray/200
|
||||
进度圆环:根据进度值显示颜色
|
||||
|
||||
进度颜色映射:
|
||||
- 0-20%: Security/Low
|
||||
- 21-40%: Security/Medium
|
||||
- 41-60%: #f59e0b
|
||||
- 61-80%: Security/High
|
||||
- 81-100%: #059669
|
||||
|
||||
中心内容:
|
||||
- 数值:H2或H1样式
|
||||
- 单位:Body/Small,Gray/500
|
||||
- 状态:Body/Small或H3样式
|
||||
```
|
||||
|
||||
#### Password Strength Indicator
|
||||
```
|
||||
容器:宽度100px,高度16px
|
||||
布局:5个圆点,间距4px
|
||||
圆点:直径8px
|
||||
|
||||
强度显示:
|
||||
- 很弱(0-20): ●○○○○ Security/Low
|
||||
- 弱(21-40): ●●○○○ Security/Medium
|
||||
- 中等(41-60): ●●●○○ #f59e0b
|
||||
- 强(61-80): ●●●●○ Security/High
|
||||
- 很强(81-100): ●●●●● #059669
|
||||
```
|
||||
|
||||
### 6. 开关组件 (Switch)
|
||||
|
||||
#### Toggle Switch
|
||||
```
|
||||
轨道尺寸:44×24px
|
||||
轨道圆角:12px
|
||||
滑块尺寸:20×20px
|
||||
滑块圆角:10px (圆形)
|
||||
滑块边距:2px
|
||||
|
||||
状态样式:
|
||||
- 关闭: Gray/300轨道,白色滑块,左对齐
|
||||
- 开启: Primary/500轨道,白色滑块,右对齐
|
||||
- 禁用: Gray/200轨道,Gray/300滑块
|
||||
|
||||
动画:
|
||||
- 过渡时长:200ms
|
||||
- 缓动函数:ease-in-out
|
||||
- 滑块移动 + 轨道颜色变化
|
||||
```
|
||||
|
||||
### 7. 导航组件 (Navigation)
|
||||
|
||||
#### Top Navigation Bar
|
||||
```
|
||||
尺寸:390×76px (44px状态栏 + 32px内容)
|
||||
背景:模糊白色 (backdrop-filter: blur(20px))
|
||||
边框:底部1px Gray/100
|
||||
|
||||
布局:
|
||||
- 左侧:返回按钮或Logo + 标题
|
||||
- 右侧:操作图标 (通知、设置、更多)
|
||||
- 内边距:16px水平
|
||||
|
||||
标题样式:H3,Gray/900,SemiBold
|
||||
图标尺寸:24×24px,Gray/600
|
||||
```
|
||||
|
||||
#### Tab Bar
|
||||
```
|
||||
尺寸:390×83px (49px内容 + 34px安全区域)
|
||||
背景:模糊白色
|
||||
边框:顶部1px Gray/100
|
||||
|
||||
标签项:
|
||||
- 尺寸:每个约78px宽
|
||||
- 图标:24×24px
|
||||
- 文字:Caption,居中
|
||||
- 间距:图标和文字4px
|
||||
|
||||
状态:
|
||||
- 未选中:Gray/400图标,Gray/500文字
|
||||
- 选中:Primary/500图标,Primary/500文字
|
||||
- 激活动画:图标轻微缩放 + 颜色过渡
|
||||
```
|
||||
|
||||
### 8. 模态组件 (Modal)
|
||||
|
||||
#### Bottom Sheet
|
||||
```
|
||||
背景:白色
|
||||
圆角:顶部16px
|
||||
阴影:Shadow/XL
|
||||
拖拽指示器:36×4px,Gray/300,圆角2px
|
||||
|
||||
动画:
|
||||
- 进入:从底部滑入,300ms ease-out
|
||||
- 退出:向底部滑出,250ms ease-in
|
||||
- 背景遮罩:黑色,透明度0.4
|
||||
```
|
||||
|
||||
#### Alert Dialog
|
||||
```
|
||||
容器:最大宽度320px
|
||||
背景:白色
|
||||
圆角:16px
|
||||
阴影:Shadow/XL
|
||||
内边距:24px
|
||||
|
||||
布局:
|
||||
- 标题:H3,Gray/900,居中
|
||||
- 内容:Body/Medium,Gray/600,居中
|
||||
- 按钮区:水平排列,间距12px
|
||||
|
||||
按钮样式:
|
||||
- 主要操作:Primary Button
|
||||
- 次要操作:Secondary Button
|
||||
```
|
||||
|
||||
### 9. 列表组件 (List)
|
||||
|
||||
#### List Item
|
||||
```
|
||||
尺寸:358×48px (标准) 或 358×64px (扩展)
|
||||
背景:白色
|
||||
分割线:底部1px Gray/100
|
||||
|
||||
布局:
|
||||
- 左侧:图标区域 (可选)
|
||||
- 中间:标题 + 副标题 (可选)
|
||||
- 右侧:值/开关/箭头
|
||||
|
||||
样式:
|
||||
- 标题:Body/Medium,Gray/900
|
||||
- 副标题:Body/Small,Gray/500
|
||||
- 值:Body/Medium,Gray/600
|
||||
- 箭头:16×16px,Gray/400
|
||||
```
|
||||
|
||||
### 10. 加载组件 (Loading)
|
||||
|
||||
#### Skeleton Screen
|
||||
```
|
||||
基础形状:圆角矩形,Gray/200背景
|
||||
动画:从左到右的光泽扫过效果
|
||||
时长:1.5s,无限循环
|
||||
|
||||
常用尺寸:
|
||||
- 文字行:宽度100%,高度16px
|
||||
- 标题:宽度60%,高度24px
|
||||
- 头像:48×48px圆形
|
||||
- 卡片:358×72px矩形
|
||||
```
|
||||
|
||||
#### Loading Spinner
|
||||
```
|
||||
尺寸:24×24px (小) 或 32×32px (大)
|
||||
样式:圆环,线宽2px或3px
|
||||
颜色:Primary/500
|
||||
动画:360度旋转,1s线性无限循环
|
||||
|
||||
AI版本:
|
||||
- 颜色:AI渐变
|
||||
- 外发光:微妙的AI色发光
|
||||
- 脉冲效果:配合旋转的透明度变化
|
||||
```
|
||||
|
||||
## 🎨 组件使用指南
|
||||
|
||||
### 组件命名规范
|
||||
```
|
||||
组件类型/变体/状态
|
||||
例如:Button/Primary/Default
|
||||
Card/PasswordEntry/Hover
|
||||
Badge/AI/Default
|
||||
```
|
||||
|
||||
### 组件状态管理
|
||||
每个交互组件都应包含以下状态:
|
||||
- Default (默认)
|
||||
- Hover (悬停) - 仅Web端
|
||||
- Pressed (按下)
|
||||
- Disabled (禁用)
|
||||
- Loading (加载中) - 如适用
|
||||
|
||||
### 响应式适配
|
||||
- 小屏 (375px): 组件宽度减少16px
|
||||
- 大屏 (430px): 组件宽度增加40px
|
||||
- 间距保持8px网格对齐
|
||||
|
||||
### 无障碍支持
|
||||
- 最小触摸目标:44×44px
|
||||
- 颜色对比度:符合WCAG AA标准
|
||||
- 状态指示:不仅依赖颜色,还有图标/文字
|
||||
- 语义标记:为屏幕阅读器提供适当标签
|
||||
|
||||
这个组件规范确保了整个AI密码管理器界面的一致性和可用性,同时体现了安全、智能、未来感的设计理念。
|
||||
443
docs/figma-design-guide.md
Normal file
443
docs/figma-design-guide.md
Normal file
@@ -0,0 +1,443 @@
|
||||
# AI密码管理器 - Figma设计实施指南
|
||||
|
||||
## 🎯 设计目标
|
||||
创建一个体现**安全性**、**智能化**和**未来感**的AI密码管理器界面,重点突出AI功能的无缝集成和直观的用户体验。
|
||||
|
||||
## 📐 Figma文件设置
|
||||
|
||||
### 1. 创建新文件
|
||||
- 文件名:`AI密码管理器 - 设计系统`
|
||||
- 画板尺寸:iPhone 14 (390 × 844px)
|
||||
- 网格:8px基础网格系统
|
||||
|
||||
### 2. 页面结构
|
||||
```
|
||||
📄 Cover (封面页)
|
||||
📄 Design System (设计系统)
|
||||
📄 Components (组件库)
|
||||
📄 Screens (界面设计)
|
||||
📄 Prototypes (交互原型)
|
||||
```
|
||||
|
||||
## 🎨 设计系统实施
|
||||
|
||||
### 第一步:创建颜色样式
|
||||
|
||||
#### 主色调系统
|
||||
```
|
||||
Primary/50: #f0f9ff
|
||||
Primary/100: #e0f2fe
|
||||
Primary/500: #0ea5e9 (主色)
|
||||
Primary/600: #0284c7
|
||||
Primary/900: #0c4a6e
|
||||
```
|
||||
|
||||
#### AI渐变色
|
||||
```
|
||||
AI/Primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%)
|
||||
AI/Secondary: linear-gradient(135deg, #f093fb 0%, #f5576c 100%)
|
||||
AI/Accent: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%)
|
||||
```
|
||||
|
||||
#### 安全状态色
|
||||
```
|
||||
Security/High: #10b981 (安全-绿色)
|
||||
Security/Medium: #f59e0b (警告-橙色)
|
||||
Security/Low: #ef4444 (危险-红色)
|
||||
Security/Critical: #dc2626 (严重-深红)
|
||||
```
|
||||
|
||||
### 第二步:创建文字样式
|
||||
|
||||
#### 标题系统
|
||||
```
|
||||
H1/Bold: SF Pro Display, 32px, Bold, 32px行高
|
||||
H2/Bold: SF Pro Display, 24px, Bold, 28px行高
|
||||
H3/SemiBold: SF Pro Display, 20px, SemiBold, 24px行高
|
||||
H4/Medium: SF Pro Display, 18px, Medium, 22px行高
|
||||
```
|
||||
|
||||
#### 正文系统
|
||||
```
|
||||
Body/Large: SF Pro Text, 18px, Regular, 24px行高
|
||||
Body/Medium: SF Pro Text, 16px, Regular, 22px行高
|
||||
Body/Small: SF Pro Text, 14px, Regular, 20px行高
|
||||
Caption: SF Pro Text, 12px, Regular, 16px行高
|
||||
```
|
||||
|
||||
### 第三步:创建效果样式
|
||||
|
||||
#### 阴影系统
|
||||
```
|
||||
Shadow/SM: Y:1, Blur:2, Opacity:5%
|
||||
Shadow/MD: Y:4, Blur:6, Opacity:10%
|
||||
Shadow/LG: Y:10, Blur:15, Opacity:15%
|
||||
Shadow/XL: Y:20, Blur:25, Opacity:25%
|
||||
```
|
||||
|
||||
#### AI发光效果
|
||||
```
|
||||
AI/Glow: 外发光, 颜色:#667eea, 模糊:8px, 扩散:2px
|
||||
Security/Glow: 外发光, 颜色:#10b981, 模糊:6px, 扩散:1px
|
||||
```
|
||||
|
||||
## 📱 界面设计详细规范
|
||||
|
||||
### 1. 启动页面 (Splash Screen)
|
||||
|
||||
#### 设计要点
|
||||
- **背景**:AI主渐变 (135度,#667eea到#764ba2)
|
||||
- **Logo**:120×120px,白色,居中放置
|
||||
- **标题**:"AI密码管家",H1样式,白色,Logo下方24px
|
||||
- **加载器**:5个圆点,白色,流动动画效果
|
||||
|
||||
#### 具体实施步骤
|
||||
1. 创建390×844px画板,命名"Splash Screen"
|
||||
2. 添加渐变背景,使用AI/Primary渐变
|
||||
3. 放置Logo图标(可用圆形+锁图标组合)
|
||||
4. 添加标题文字,应用H1样式
|
||||
5. 创建加载动画组件(5个圆点,透明度变化)
|
||||
|
||||
### 2. 认证页面 (Authentication)
|
||||
|
||||
#### 布局结构
|
||||
```
|
||||
┌─────────────────────────────────┐
|
||||
│ Status Bar (44px) │
|
||||
├─────────────────────────────────┤
|
||||
│ Safe Area Top (48px) │
|
||||
├─────────────────────────────────┤
|
||||
│ │
|
||||
│ Logo (80×80px) │ ← 距顶部120px
|
||||
│ 欢迎回来 (H1) │ ← Logo下方32px
|
||||
│ 请验证您的身份 (Body/Medium) │ ← 标题下方8px
|
||||
│ │
|
||||
│ [生物识别区域] │ ← 中心区域
|
||||
│ 指纹图标 (64×64px) │
|
||||
│ 使用生物识别 (Body/Large) │
|
||||
│ │
|
||||
│ ──── 或 ──── (分割线) │
|
||||
│ │
|
||||
│ [输入主密码] (Secondary Button) │
|
||||
│ │
|
||||
│ 忘记密码?(Text Button) │
|
||||
│ │
|
||||
├─────────────────────────────────┤
|
||||
│ Safe Area Bottom (34px) │
|
||||
└─────────────────────────────────┘
|
||||
```
|
||||
|
||||
#### 生物识别状态设计
|
||||
- **等待状态**:指纹图标,Gray/400颜色
|
||||
- **识别中**:指纹图标,AI渐变色 + 脉冲动画
|
||||
- **成功状态**:✓图标,Security/High颜色
|
||||
- **失败状态**:✗图标,Security/Low颜色
|
||||
|
||||
### 3. 主界面 (Dashboard)
|
||||
|
||||
#### 导航栏设计
|
||||
```
|
||||
高度:76px (44px状态栏 + 32px内容)
|
||||
背景:模糊效果 + 半透明白色
|
||||
左侧:🔒 + "AI密码管家" (H3样式)
|
||||
右侧:通知图标 + 设置图标 (24×24px)
|
||||
```
|
||||
|
||||
#### 搜索栏设计
|
||||
```
|
||||
高度:48px
|
||||
背景:Gray/50,圆角24px
|
||||
左侧:搜索图标 (20×20px)
|
||||
占位符:"搜索密码或说'银行相关的密码'"
|
||||
右侧:AI机器人图标 (24×24px,AI渐变色)
|
||||
```
|
||||
|
||||
#### 安全状态卡片
|
||||
```
|
||||
尺寸:358×100px (左右边距16px)
|
||||
背景:白色,圆角12px,Shadow/MD
|
||||
布局:左侧评分圆环 + 右侧问题列表
|
||||
|
||||
左侧评分区域:
|
||||
- 圆形进度条:直径60px,线宽4px
|
||||
- 评分数字:H2样式,居中
|
||||
- 状态文字:Body/Small,Gray/500
|
||||
|
||||
右侧问题区域:
|
||||
- ⚠️ 5个弱密码 (Security/Medium色)
|
||||
- 🔄 3个过期密码 (Security/Medium色)
|
||||
- 🔐 建议2FA (Security/High色)
|
||||
```
|
||||
|
||||
#### 快速操作按钮
|
||||
```
|
||||
布局:三个等宽按钮,间距12px
|
||||
按钮尺寸:110×56px,圆角12px
|
||||
样式:白色背景,Shadow/SM,图标+文字
|
||||
|
||||
按钮内容:
|
||||
1. ➕ 添加密码
|
||||
2. 📱 扫码登录
|
||||
3. 🎲 生成密码
|
||||
```
|
||||
|
||||
#### 密码条目卡片
|
||||
```
|
||||
尺寸:358×72px
|
||||
背景:白色,圆角8px,Shadow/SM
|
||||
布局:左侧图标 + 中间信息 + 右侧状态
|
||||
|
||||
左侧:网站图标 (32×32px,圆角6px)
|
||||
中间:
|
||||
- 网站名称 (Body/Large,Bold)
|
||||
- 用户名 (Body/Small,Gray/500)
|
||||
右侧:
|
||||
- 密码强度指示器
|
||||
- 标签徽章
|
||||
- 收藏星标
|
||||
```
|
||||
|
||||
### 4. 密码库页面 (Vault)
|
||||
|
||||
#### 筛选标签栏
|
||||
```
|
||||
高度:40px
|
||||
背景:透明
|
||||
标签样式:圆角20px,内边距12×8px
|
||||
选中状态:Primary/500背景,白色文字
|
||||
未选中:Gray/100背景,Gray/700文字
|
||||
|
||||
标签内容:[全部] [收藏] [分类] [标签]
|
||||
```
|
||||
|
||||
#### 排序选择器
|
||||
```
|
||||
高度:32px
|
||||
样式:Body/Small + 下拉箭头
|
||||
默认:最近使用 ↓
|
||||
选项:最近使用、字母排序、安全评分
|
||||
```
|
||||
|
||||
#### 密码条目(展开版)
|
||||
```
|
||||
尺寸:358×96px
|
||||
背景:白色,圆角8px,Shadow/SM
|
||||
|
||||
布局:
|
||||
- 顶部:网站图标 + 网站全名
|
||||
- 中部:用户名/账号
|
||||
- 底部:安全信息行 + 标签行
|
||||
|
||||
安全信息行:
|
||||
- 密码强度:🔒●●●●○ 强度:80/100
|
||||
- 使用时间:3天前使用
|
||||
|
||||
标签行:
|
||||
- 标签徽章:🏷️工作 🏷️开发
|
||||
- 收藏星标:⭐
|
||||
```
|
||||
|
||||
### 5. AI助手页面
|
||||
|
||||
#### 安全评分卡片(大版本)
|
||||
```
|
||||
尺寸:358×160px
|
||||
背景:白色,圆角16px,Shadow/LG
|
||||
|
||||
中心圆形进度条:
|
||||
- 直径:120px
|
||||
- 线宽:8px
|
||||
- 渐变色:根据评分显示不同颜色
|
||||
- 中心数字:H1样式,48px
|
||||
- 状态文字:H3样式,评分下方
|
||||
```
|
||||
|
||||
#### 安全问题卡片
|
||||
```
|
||||
尺寸:358×64px
|
||||
背景:白色,圆角12px,Shadow/SM
|
||||
左边框:4px宽,根据严重程度显示颜色
|
||||
|
||||
布局:
|
||||
- 左侧:问题图标 (24×24px)
|
||||
- 中间:问题描述 (Body/Medium)
|
||||
- 右侧:箭头图标 (16×16px)
|
||||
|
||||
颜色编码:
|
||||
- 严重:Security/Low (红色边框)
|
||||
- 警告:Security/Medium (橙色边框)
|
||||
- 建议:Security/High (绿色边框)
|
||||
```
|
||||
|
||||
#### AI建议卡片
|
||||
```
|
||||
尺寸:358×120px
|
||||
背景:AI渐变背景
|
||||
圆角:16px
|
||||
文字:白色
|
||||
|
||||
布局:
|
||||
- 顶部:🤖 + "基于您的使用习惯,我发现:"
|
||||
- 中部:建议列表(• 开头的要点)
|
||||
- 底部:微妙的AI粒子动画效果
|
||||
```
|
||||
|
||||
### 6. 搜索页面
|
||||
|
||||
#### 语音搜索按钮
|
||||
```
|
||||
尺寸:358×48px
|
||||
背景:AI渐变
|
||||
圆角:24px
|
||||
内容:🎤 + "语音搜索"
|
||||
文字:白色,Body/Large
|
||||
```
|
||||
|
||||
#### 智能分类卡片
|
||||
```
|
||||
尺寸:358×56px
|
||||
背景:白色,圆角12px,Shadow/SM
|
||||
|
||||
布局:
|
||||
- 左侧:分类图标 (32×32px,圆形背景)
|
||||
- 中间:分类名称 + 数量
|
||||
- 右侧:预览文字 (Gray/400)
|
||||
|
||||
分类图标背景色:
|
||||
- 🏦 银行金融:蓝色渐变
|
||||
- 💼 工作相关:紫色渐变
|
||||
- 🛒 购物网站:橙色渐变
|
||||
- 🎮 游戏娱乐:绿色渐变
|
||||
```
|
||||
|
||||
### 7. 密码详情页面
|
||||
|
||||
#### 大图标区域
|
||||
```
|
||||
尺寸:80×80px
|
||||
背景:Gray/100,圆角16px
|
||||
图标:网站favicon或默认图标
|
||||
位置:页面顶部居中,距导航栏32px
|
||||
```
|
||||
|
||||
#### 信息字段
|
||||
```
|
||||
字段容器:358×48px,底部边框1px Gray/200
|
||||
|
||||
字段布局:
|
||||
- 标签:Body/Small,Gray/500,顶部对齐
|
||||
- 内容:Body/Medium,Gray/900,标签下方4px
|
||||
- 操作按钮:右侧,24×24px图标
|
||||
|
||||
密码字段特殊处理:
|
||||
- 默认显示:●●●●●●●●●●●●
|
||||
- 显示按钮:👁️ 图标
|
||||
- 复制按钮:📋 图标
|
||||
```
|
||||
|
||||
#### AI建议区域
|
||||
```
|
||||
背景:AI渐变,圆角12px
|
||||
内边距:16px
|
||||
文字:白色
|
||||
|
||||
内容:
|
||||
- 标题:💡 AI 建议 (Body/Large,Bold)
|
||||
- 建议列表:• 开头的要点 (Body/Medium)
|
||||
- 微妙的发光效果边框
|
||||
```
|
||||
|
||||
#### 标签组
|
||||
```
|
||||
布局:横向排列,可换行
|
||||
标签样式:
|
||||
- 背景:Primary/100
|
||||
- 文字:Primary/700
|
||||
- 圆角:16px
|
||||
- 内边距:8×12px
|
||||
- 间距:8px
|
||||
```
|
||||
|
||||
### 8. 设置页面
|
||||
|
||||
#### 用户信息卡片
|
||||
```
|
||||
尺寸:358×80px
|
||||
背景:白色,圆角12px,Shadow/SM
|
||||
|
||||
布局:
|
||||
- 左侧:用户头像 (48×48px,圆形)
|
||||
- 中间:用户名 + 邮箱
|
||||
- 右侧:编辑图标
|
||||
```
|
||||
|
||||
#### 设置分组
|
||||
```
|
||||
分组标题:
|
||||
- 样式:Body/Small,Gray/500,Bold
|
||||
- 位置:距上一组24px,距设置项12px
|
||||
|
||||
设置项:
|
||||
- 高度:48px
|
||||
- 背景:白色
|
||||
- 分割线:底部1px,Gray/100
|
||||
|
||||
设置项布局:
|
||||
- 左侧:图标 (24×24px) + 标题
|
||||
- 右侧:开关/值/箭头
|
||||
```
|
||||
|
||||
#### 开关组件
|
||||
```
|
||||
尺寸:44×24px
|
||||
轨道:圆角12px
|
||||
滑块:20×20px圆形,2px边距
|
||||
|
||||
状态:
|
||||
- 开启:Primary/500背景,白色滑块
|
||||
- 关闭:Gray/300背景,白色滑块
|
||||
- 动画:200ms缓动过渡
|
||||
```
|
||||
|
||||
## 🎭 AI元素和未来感设计
|
||||
|
||||
### AI视觉元素
|
||||
1. **渐变运用**:所有AI功能使用蓝紫科技渐变
|
||||
2. **发光效果**:重要AI功能添加微妙外发光
|
||||
3. **动画效果**:
|
||||
- 脉冲呼吸:AI处理时的呼吸灯效果
|
||||
- 渐变流动:AI卡片的渐变色流动
|
||||
- 粒子效果:安全扫描的微粒动画
|
||||
4. **智能徽章**:AI增强功能显示渐变"AI"标识
|
||||
|
||||
### 未来感设计元素
|
||||
1. **毛玻璃效果**:导航栏和浮层使用模糊背景
|
||||
2. **微妙阴影**:营造层次感和深度
|
||||
3. **圆角设计**:现代化的圆角处理
|
||||
4. **渐变色彩**:科技感的渐变色运用
|
||||
5. **动态反馈**:流畅的交互动画
|
||||
|
||||
### 安全视觉语言
|
||||
1. **颜色编码**:一致的安全状态颜色系统
|
||||
2. **图标系统**:统一的安全状态图标
|
||||
3. **进度可视化**:密码强度的直观表示
|
||||
4. **状态反馈**:即时的视觉状态变化
|
||||
|
||||
## 🔄 交互原型设计
|
||||
|
||||
### 页面转场动画
|
||||
- **推入效果**:新页面从右侧滑入
|
||||
- **时长**:300ms
|
||||
- **缓动**:ease-out
|
||||
|
||||
### 组件交互
|
||||
- **按钮点击**:轻微缩放 + 颜色变化
|
||||
- **卡片点击**:轻微阴影增强
|
||||
- **开关切换**:滑块平滑移动
|
||||
|
||||
### AI功能交互
|
||||
- **语音搜索**:麦克风图标脉冲动画
|
||||
- **AI分析**:进度条 + 粒子效果
|
||||
- **智能建议**:卡片从下方滑入
|
||||
|
||||
这个设计指南将帮助您在Figma中创建出专业、一致且具有未来感的AI密码管理器界面。每个界面都体现了安全性、智能化和用户友好的设计理念。
|
||||
212
docs/figma-design-summary.md
Normal file
212
docs/figma-design-summary.md
Normal file
@@ -0,0 +1,212 @@
|
||||
# AI密码管理器 - Figma设计完整总结
|
||||
|
||||
## 🎯 项目概述
|
||||
|
||||
我已经为您的AI密码管理器创建了一套完整的Figma设计系统和界面设计规范。这个设计体现了**安全性**、**智能化**和**未来感**的核心理念,为用户提供直观、高效的密码管理体验。
|
||||
|
||||
## 📚 设计文档结构
|
||||
|
||||
### 1. 核心设计文档
|
||||
- **[`figma-design-system-rules.md`](figma-design-system-rules.md)** - 设计系统基础规范
|
||||
- **[`figma-design-guide.md`](figma-design-guide.md)** - 详细设计指南
|
||||
- **[`figma-components-spec.md`](figma-components-spec.md)** - 组件库规范
|
||||
- **[`figma-implementation-steps.md`](figma-implementation-steps.md)** - 实施步骤指南
|
||||
- **[`figma-ai-animations-spec.md`](figma-ai-animations-spec.md)** - AI元素和动画规范
|
||||
|
||||
### 2. 原始需求文档
|
||||
- **[`architecture.md`](architecture.md)** - 系统架构设计
|
||||
- **[`interface-designs.md`](interface-designs.md)** - 界面设计规范
|
||||
- **[`ui-ux-design.md`](ui-ux-design.md)** - UI/UX设计架构
|
||||
|
||||
## 🎨 设计系统亮点
|
||||
|
||||
### 颜色系统
|
||||
- **主色调**:科技蓝 (#0ea5e9) 体现专业和信任
|
||||
- **AI渐变**:蓝紫渐变 (#667eea → #764ba2) 突出AI功能
|
||||
- **安全状态色**:绿色(安全)、橙色(警告)、红色(危险)的直观编码
|
||||
- **暗色模式**:完整的暗色主题支持
|
||||
|
||||
### 字体系统
|
||||
- **主字体**:SF Pro Display/Text (iOS系统字体)
|
||||
- **层级清晰**:H1-H4标题 + Body正文 + Caption说明
|
||||
- **可访问性**:符合WCAG AA标准的对比度
|
||||
|
||||
### AI视觉语言
|
||||
- **渐变运用**:所有AI功能使用统一的蓝紫渐变
|
||||
- **发光效果**:三级发光强度 (微妙/中等/强烈)
|
||||
- **智能徽章**:AI标识的一致性应用
|
||||
- **动画反馈**:脉冲、流动、粒子等AI特效
|
||||
|
||||
## 📱 核心界面设计
|
||||
|
||||
### 1. 启动页面 (Splash Screen)
|
||||
- **背景**:AI主渐变营造科技感
|
||||
- **Logo**:120×120px,白色,居中设计
|
||||
- **加载器**:5个圆点流动动画
|
||||
|
||||
### 2. 认证页面 (Authentication)
|
||||
- **生物识别**:64×64px指纹图标,多状态设计
|
||||
- **状态反馈**:等待/识别中/成功/失败的视觉变化
|
||||
- **备选方案**:主密码输入的优雅降级
|
||||
|
||||
### 3. 主界面 (Dashboard)
|
||||
- **安全评分**:大型圆形进度条,直观显示安全状态
|
||||
- **快速操作**:添加密码、扫码、生成密码的便捷入口
|
||||
- **智能搜索**:支持自然语言的AI搜索栏
|
||||
- **密码条目**:信息丰富的卡片式设计
|
||||
|
||||
### 4. 密码库 (Vault)
|
||||
- **筛选系统**:全部/收藏/分类/标签的多维度筛选
|
||||
- **排序选项**:最近使用/字母/安全评分的灵活排序
|
||||
- **条目展示**:紧凑版(72px)和展开版(96px)两种模式
|
||||
|
||||
### 5. AI助手 (AI Assistant)
|
||||
- **安全仪表板**:大型评分圆环(120×120px)
|
||||
- **问题分析**:颜色编码的安全问题卡片
|
||||
- **智能建议**:AI渐变背景的建议卡片
|
||||
- **快速修复**:一键解决安全问题
|
||||
|
||||
### 6. 搜索功能 (Search)
|
||||
- **语音搜索**:AI渐变按钮,支持自然语言
|
||||
- **智能分类**:AI自动分类的密码组织
|
||||
- **快速筛选**:常用筛选条件的快速访问
|
||||
- **搜索历史**:个性化的搜索记录
|
||||
|
||||
### 7. 密码详情 (Password Detail)
|
||||
- **大图标**:80×80px网站图标展示
|
||||
- **信息字段**:清晰的标签-内容-操作布局
|
||||
- **AI建议**:个性化的安全改进建议
|
||||
- **标签系统**:灵活的分类标签管理
|
||||
|
||||
### 8. 设置页面 (Settings)
|
||||
- **用户信息**:头像+基本信息的卡片设计
|
||||
- **分组设置**:安全/AI功能/同步/应用的逻辑分组
|
||||
- **开关控件**:44×24px的标准iOS开关
|
||||
|
||||
## 🧩 组件库系统
|
||||
|
||||
### 基础组件 (10类)
|
||||
1. **Button** - 主要/次要/AI/图标按钮
|
||||
2. **Input** - 文本/密码/搜索输入框
|
||||
3. **Card** - 基础/密码条目/安全评分/AI建议卡片
|
||||
4. **Badge** - 状态/标签/AI徽章
|
||||
5. **Progress** - 线性/圆形/密码强度进度条
|
||||
6. **Switch** - iOS风格的开关控件
|
||||
7. **Navigation** - 顶部导航/标签栏
|
||||
8. **Modal** - 底部抽屉/警告对话框
|
||||
9. **List** - 列表项组件
|
||||
10. **Loading** - 骨架屏/加载器
|
||||
|
||||
### 组件特色
|
||||
- **状态完整**:Default/Hover/Pressed/Disabled四种状态
|
||||
- **响应式**:适配不同屏幕尺寸
|
||||
- **无障碍**:44×44px最小触摸目标
|
||||
- **AI增强**:特殊的AI版本组件
|
||||
|
||||
## 🎬 动画效果系统
|
||||
|
||||
### 动画分类
|
||||
- **页面转场**:300ms推入效果
|
||||
- **组件交互**:150-200ms微交互
|
||||
- **AI特效**:脉冲/渐变流动/粒子扫描
|
||||
- **状态反馈**:即时的视觉反馈
|
||||
|
||||
### AI专用动画
|
||||
- **脉冲呼吸**:1.5s循环,AI思考状态
|
||||
- **渐变流动**:3s循环,AI卡片背景
|
||||
- **粒子扫描**:2s循环,安全分析过程
|
||||
- **语音识别**:音波扩散效果
|
||||
|
||||
## 🚀 实施指南
|
||||
|
||||
### Figma文件结构
|
||||
```
|
||||
AI密码管理器设计系统/
|
||||
├── 🎨 Design System (颜色/字体/效果样式)
|
||||
├── 🧩 Components (组件库)
|
||||
├── 📱 Screens (界面设计)
|
||||
├── 🔄 Prototypes (交互原型)
|
||||
└── 📚 Documentation (设计文档)
|
||||
```
|
||||
|
||||
### 开发交接
|
||||
- **设计标注**:完整的尺寸和间距标注
|
||||
- **资源导出**:SVG图标、多倍率图片
|
||||
- **代码生成**:React Native组件代码
|
||||
- **动画实现**:Reanimated动画参数
|
||||
|
||||
## ✨ 设计亮点
|
||||
|
||||
### 1. AI驱动的视觉语言
|
||||
- 统一的AI渐变色系统
|
||||
- 智能状态的视觉反馈
|
||||
- AI功能的特殊标识
|
||||
- 未来感的动画效果
|
||||
|
||||
### 2. 安全优先的设计理念
|
||||
- 直观的安全状态编码
|
||||
- 密码强度的可视化
|
||||
- 生物识别的友好界面
|
||||
- 安全问题的清晰提示
|
||||
|
||||
### 3. 用户体验优化
|
||||
- 自然语言搜索支持
|
||||
- 手势操作的便捷性
|
||||
- 信息层级的清晰性
|
||||
- 无障碍功能的完整支持
|
||||
|
||||
### 4. 技术实现友好
|
||||
- 基于React Native的组件设计
|
||||
- 性能优化的动画参数
|
||||
- 响应式的布局系统
|
||||
- 模块化的组件架构
|
||||
|
||||
## 📋 质量保证
|
||||
|
||||
### 设计一致性
|
||||
- ✅ 统一的设计令牌系统
|
||||
- ✅ 一致的组件状态设计
|
||||
- ✅ 规范的间距和圆角
|
||||
- ✅ 协调的颜色和字体
|
||||
|
||||
### 可用性标准
|
||||
- ✅ WCAG AA无障碍标准
|
||||
- ✅ 44×44px最小触摸目标
|
||||
- ✅ 高对比度的颜色搭配
|
||||
- ✅ 清晰的状态反馈
|
||||
|
||||
### 技术可行性
|
||||
- ✅ React Native兼容的设计
|
||||
- ✅ 性能友好的动画效果
|
||||
- ✅ 可扩展的组件架构
|
||||
- ✅ 完整的开发文档
|
||||
|
||||
## 🎯 下一步行动
|
||||
|
||||
### 立即可执行
|
||||
1. **在Figma中创建新文件**,按照实施步骤指南开始设计
|
||||
2. **建立设计系统**,创建颜色、字体、效果样式
|
||||
3. **构建组件库**,从基础组件开始逐步完善
|
||||
4. **设计核心界面**,优先完成主要用户流程
|
||||
|
||||
### 团队协作
|
||||
1. **设计评审**:与团队成员讨论设计方案
|
||||
2. **用户测试**:验证界面的可用性和易用性
|
||||
3. **开发对接**:确保设计的技术可实现性
|
||||
4. **迭代优化**:根据反馈持续改进设计
|
||||
|
||||
## 📞 技术支持
|
||||
|
||||
如果在实施过程中遇到任何问题,可以参考:
|
||||
- 详细的组件规范文档
|
||||
- 完整的实施步骤指南
|
||||
- AI动画效果的具体参数
|
||||
- 开发友好的设计标注
|
||||
|
||||
这套设计系统将帮助您创建出专业、现代、具有未来感的AI密码管理器界面,为用户提供安全、智能、愉悦的使用体验。
|
||||
|
||||
---
|
||||
|
||||
*设计完成时间:2024年1月*
|
||||
*设计师:AI Assistant*
|
||||
*项目:AI密码管理器 Figma设计系统*
|
||||
352
docs/figma-design-system-rules.md
Normal file
352
docs/figma-design-system-rules.md
Normal file
@@ -0,0 +1,352 @@
|
||||
# AI密码管理器 - Figma设计系统规范
|
||||
|
||||
## 项目概述
|
||||
|
||||
基于React Native Expo的AI驱动密码管理器,需要体现安全性、智能化和未来感的设计理念。
|
||||
|
||||
## 设计系统结构
|
||||
|
||||
### 1. Token定义
|
||||
|
||||
#### 颜色系统
|
||||
```typescript
|
||||
// 主色调 - AI科技感蓝紫渐变
|
||||
Primary: {
|
||||
50: '#f0f9ff',
|
||||
100: '#e0f2fe',
|
||||
200: '#bae6fd',
|
||||
300: '#7dd3fc',
|
||||
400: '#38bdf8',
|
||||
500: '#0ea5e9', // 主色
|
||||
600: '#0284c7',
|
||||
700: '#0369a1',
|
||||
800: '#075985',
|
||||
900: '#0c4a6e',
|
||||
}
|
||||
|
||||
// AI渐变色
|
||||
AI_Gradient: {
|
||||
primary: 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)',
|
||||
secondary: 'linear-gradient(135deg, #f093fb 0%, #f5576c 100%)',
|
||||
accent: 'linear-gradient(135deg, #4facfe 0%, #00f2fe 100%)',
|
||||
}
|
||||
|
||||
// 安全状态色
|
||||
Security: {
|
||||
high: '#10b981', // 绿色 - 安全
|
||||
medium: '#f59e0b', // 橙色 - 警告
|
||||
low: '#ef4444', // 红色 - 危险
|
||||
critical: '#dc2626', // 深红 - 严重
|
||||
}
|
||||
|
||||
// 功能色
|
||||
Functional: {
|
||||
success: '#10b981',
|
||||
warning: '#f59e0b',
|
||||
error: '#ef4444',
|
||||
info: '#3b82f6',
|
||||
}
|
||||
|
||||
// 中性色
|
||||
Gray: {
|
||||
50: '#f9fafb',
|
||||
100: '#f3f4f6',
|
||||
200: '#e5e7eb',
|
||||
300: '#d1d5db',
|
||||
400: '#9ca3af',
|
||||
500: '#6b7280',
|
||||
600: '#4b5563',
|
||||
700: '#374151',
|
||||
800: '#1f2937',
|
||||
900: '#111827',
|
||||
}
|
||||
|
||||
// 暗色模式
|
||||
Dark: {
|
||||
background: {
|
||||
primary: '#000000',
|
||||
secondary: '#1c1c1e',
|
||||
tertiary: '#2c2c2e',
|
||||
},
|
||||
text: {
|
||||
primary: '#ffffff',
|
||||
secondary: '#ebebf5',
|
||||
tertiary: '#ebebf599',
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### 字体系统
|
||||
```typescript
|
||||
Typography: {
|
||||
// 字体族
|
||||
fontFamily: {
|
||||
primary: 'SF Pro Display', // iOS系统字体
|
||||
secondary: 'SF Pro Text',
|
||||
mono: 'SF Mono',
|
||||
},
|
||||
|
||||
// 字体大小
|
||||
fontSize: {
|
||||
xs: 12,
|
||||
sm: 14,
|
||||
base: 16,
|
||||
lg: 18,
|
||||
xl: 20,
|
||||
'2xl': 24,
|
||||
'3xl': 30,
|
||||
'4xl': 36,
|
||||
},
|
||||
|
||||
// 字重
|
||||
fontWeight: {
|
||||
light: '300',
|
||||
normal: '400',
|
||||
medium: '500',
|
||||
semibold: '600',
|
||||
bold: '700',
|
||||
heavy: '800',
|
||||
},
|
||||
|
||||
// 行高
|
||||
lineHeight: {
|
||||
tight: 1.25,
|
||||
normal: 1.5,
|
||||
relaxed: 1.75,
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### 间距系统
|
||||
```typescript
|
||||
Spacing: {
|
||||
xs: 4,
|
||||
sm: 8,
|
||||
md: 16,
|
||||
lg: 24,
|
||||
xl: 32,
|
||||
'2xl': 48,
|
||||
'3xl': 64,
|
||||
'4xl': 80,
|
||||
'5xl': 96,
|
||||
}
|
||||
```
|
||||
|
||||
#### 圆角系统
|
||||
```typescript
|
||||
BorderRadius: {
|
||||
none: 0,
|
||||
sm: 4,
|
||||
md: 8,
|
||||
lg: 12,
|
||||
xl: 16,
|
||||
'2xl': 24,
|
||||
full: 9999,
|
||||
}
|
||||
```
|
||||
|
||||
#### 阴影系统
|
||||
```typescript
|
||||
Shadow: {
|
||||
sm: {
|
||||
shadowOffset: { width: 0, height: 1 },
|
||||
shadowOpacity: 0.05,
|
||||
shadowRadius: 2,
|
||||
elevation: 1,
|
||||
},
|
||||
md: {
|
||||
shadowOffset: { width: 0, height: 4 },
|
||||
shadowOpacity: 0.1,
|
||||
shadowRadius: 6,
|
||||
elevation: 3,
|
||||
},
|
||||
lg: {
|
||||
shadowOffset: { width: 0, height: 10 },
|
||||
shadowOpacity: 0.15,
|
||||
shadowRadius: 15,
|
||||
elevation: 6,
|
||||
},
|
||||
xl: {
|
||||
shadowOffset: { width: 0, height: 20 },
|
||||
shadowOpacity: 0.25,
|
||||
shadowRadius: 25,
|
||||
elevation: 10,
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 2. 组件库架构
|
||||
|
||||
#### 基础组件
|
||||
- **Button**: 主要按钮、次要按钮、文本按钮、图标按钮
|
||||
- **Input**: 文本输入、密码输入、搜索输入
|
||||
- **Card**: 基础卡片、密码条目卡片、安全状态卡片
|
||||
- **Badge**: 状态徽章、标签徽章、AI徽章
|
||||
- **Avatar**: 用户头像、网站图标
|
||||
- **Progress**: 进度条、圆形进度、安全评分
|
||||
|
||||
#### 复合组件
|
||||
- **PasswordStrengthIndicator**: 密码强度指示器
|
||||
- **SecurityScoreCard**: 安全评分卡片
|
||||
- **PasswordEntryCard**: 密码条目卡片
|
||||
- **AIAssistantCard**: AI助手卡片
|
||||
- **SearchBar**: 智能搜索栏
|
||||
- **BiometricPrompt**: 生物识别提示
|
||||
|
||||
#### 布局组件
|
||||
- **Screen**: 页面容器
|
||||
- **Section**: 区块容器
|
||||
- **List**: 列表容器
|
||||
- **Grid**: 网格容器
|
||||
|
||||
### 3. 图标系统
|
||||
|
||||
#### 图标库
|
||||
- **系统图标**: SF Symbols (iOS), Material Icons (Android)
|
||||
- **自定义图标**: 安全相关、AI相关、密码管理相关
|
||||
- **网站图标**: Favicon获取和显示
|
||||
|
||||
#### 图标规范
|
||||
- **尺寸**: 16px, 20px, 24px, 32px, 48px, 64px
|
||||
- **样式**: 线性、填充、双色调
|
||||
- **颜色**: 继承文本颜色或指定颜色
|
||||
|
||||
### 4. 动画系统
|
||||
|
||||
#### 过渡动画
|
||||
```typescript
|
||||
Transitions: {
|
||||
// 页面转场
|
||||
screen: {
|
||||
duration: 300,
|
||||
easing: 'ease-out',
|
||||
},
|
||||
// 组件状态变化
|
||||
component: {
|
||||
duration: 200,
|
||||
easing: 'ease-in-out',
|
||||
},
|
||||
// 微交互
|
||||
micro: {
|
||||
duration: 150,
|
||||
easing: 'ease-out',
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### AI特效动画
|
||||
- **脉冲效果**: AI处理时的呼吸灯效果
|
||||
- **渐变流动**: AI功能的渐变色流动
|
||||
- **粒子效果**: 安全扫描的粒子动画
|
||||
- **发光效果**: 重要AI功能的发光边框
|
||||
|
||||
### 5. 响应式设计
|
||||
|
||||
#### 断点系统
|
||||
```typescript
|
||||
Breakpoints: {
|
||||
// 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 },
|
||||
// iPad
|
||||
tablet: { width: 768, height: 1024 },
|
||||
}
|
||||
```
|
||||
|
||||
#### 适配策略
|
||||
- **小屏**: 单列布局,紧凑间距
|
||||
- **中屏**: 标准布局,正常间距
|
||||
- **大屏**: 利用额外空间显示更多信息
|
||||
- **横屏**: 双列或分栏布局
|
||||
|
||||
### 6. 无障碍设计
|
||||
|
||||
#### 可访问性标准
|
||||
- **对比度**: 符合WCAG AA标准 (4.5:1)
|
||||
- **字体大小**: 支持动态字体调整
|
||||
- **触摸目标**: 最小44x44pt
|
||||
- **屏幕阅读器**: 完整的VoiceOver支持
|
||||
|
||||
#### 语义化标记
|
||||
- **角色定义**: button, link, heading, list等
|
||||
- **状态描述**: selected, disabled, expanded等
|
||||
- **标签关联**: label与input的关联
|
||||
|
||||
### 7. 设计原则
|
||||
|
||||
#### AI元素设计
|
||||
1. **渐变运用**: AI功能使用蓝紫科技渐变
|
||||
2. **发光效果**: 重要AI功能添加微妙发光
|
||||
3. **动画反馈**: AI处理时显示智能动画
|
||||
4. **智能徽章**: AI增强功能显示"AI"标识
|
||||
|
||||
#### 安全视觉语言
|
||||
1. **颜色编码**: 绿色=安全,橙色=警告,红色=危险
|
||||
2. **图标系统**: 统一的安全状态图标
|
||||
3. **进度指示**: 密码强度的视觉化表示
|
||||
4. **状态反馈**: 即时的视觉状态反馈
|
||||
|
||||
#### 交互设计
|
||||
1. **手势操作**: 左右滑动的快捷操作
|
||||
2. **触觉反馈**: 重要操作的震动反馈
|
||||
3. **状态动画**: 流畅的状态转换动画
|
||||
4. **加载状态**: 优雅的加载和骨架屏
|
||||
|
||||
### 8. Figma组织结构
|
||||
|
||||
#### 文件结构
|
||||
```
|
||||
AI密码管理器设计系统/
|
||||
├── 🎨 Design Tokens
|
||||
│ ├── Colors
|
||||
│ ├── Typography
|
||||
│ ├── Spacing
|
||||
│ └── Effects
|
||||
├── 🧩 Components
|
||||
│ ├── Atoms
|
||||
│ ├── Molecules
|
||||
│ └── Organisms
|
||||
├── 📱 Screens
|
||||
│ ├── Authentication
|
||||
│ ├── Dashboard
|
||||
│ ├── Vault
|
||||
│ ├── AI Assistant
|
||||
│ ├── Search
|
||||
│ └── Settings
|
||||
├── 🔄 Prototypes
|
||||
│ ├── User Flows
|
||||
│ └── Interactions
|
||||
└── 📚 Documentation
|
||||
├── Style Guide
|
||||
└── Component Specs
|
||||
```
|
||||
|
||||
#### 命名规范
|
||||
- **页面**: `Screen/功能名称`
|
||||
- **组件**: `Component/组件类型/组件名称`
|
||||
- **状态**: `组件名称/状态名称`
|
||||
- **变体**: `尺寸-状态-主题`
|
||||
|
||||
### 9. 开发交接规范
|
||||
|
||||
#### 设计标注
|
||||
- **间距**: 使用8px网格系统
|
||||
- **字体**: 指定字重和行高
|
||||
- **颜色**: 使用设计令牌名称
|
||||
- **动画**: 指定时长和缓动函数
|
||||
|
||||
#### 资源导出
|
||||
- **图标**: SVG格式,多尺寸
|
||||
- **图片**: PNG/WebP,@1x/@2x/@3x
|
||||
- **动画**: Lottie JSON格式
|
||||
|
||||
#### 组件文档
|
||||
- **用法说明**: 何时使用该组件
|
||||
- **属性列表**: 所有可配置属性
|
||||
- **状态变化**: 不同状态的视觉表现
|
||||
- **交互行为**: 用户交互的反馈
|
||||
|
||||
这个设计系统将确保AI密码管理器在视觉和交互上保持一致性,同时体现出安全、智能、未来感的品牌特质。
|
||||
478
docs/figma-implementation-steps.md
Normal file
478
docs/figma-implementation-steps.md
Normal file
@@ -0,0 +1,478 @@
|
||||
# AI密码管理器 - Figma实施步骤指南
|
||||
|
||||
## 🚀 开始之前
|
||||
|
||||
### 准备工作
|
||||
1. **创建新的Figma文件**
|
||||
- 文件名:`AI密码管理器 - 设计系统`
|
||||
- 团队:选择合适的团队空间
|
||||
- 权限:设置为团队可编辑
|
||||
|
||||
2. **安装推荐插件**
|
||||
- **Iconify**: 丰富的图标库
|
||||
- **Unsplash**: 高质量图片素材
|
||||
- **Content Reel**: 真实内容填充
|
||||
- **Auto Layout**: 自动布局优化
|
||||
- **Component Utilities**: 组件管理工具
|
||||
|
||||
## 📋 第一阶段:设计系统建立
|
||||
|
||||
### Step 1: 创建页面结构
|
||||
```
|
||||
1. 右键点击页面标签 → Rename → "🎨 Design System"
|
||||
2. 点击 + 号添加新页面:
|
||||
- "🧩 Components"
|
||||
- "📱 Screens"
|
||||
- "🔄 Prototypes"
|
||||
- "📚 Documentation"
|
||||
```
|
||||
|
||||
### Step 2: 建立颜色样式
|
||||
```
|
||||
在 Design System 页面:
|
||||
|
||||
1. 创建颜色样式面板
|
||||
- 创建矩形 → 填充颜色 → 右侧面板点击样式图标 → Create Style
|
||||
|
||||
2. 主色调系统:
|
||||
Primary/50: #f0f9ff
|
||||
Primary/100: #e0f2fe
|
||||
Primary/500: #0ea5e9 (主色)
|
||||
Primary/600: #0284c7
|
||||
Primary/900: #0c4a6e
|
||||
|
||||
3. AI渐变色:
|
||||
- 创建矩形 → 填充 → Linear gradient
|
||||
- AI/Primary: 135°, #667eea → #764ba2
|
||||
- AI/Secondary: 135°, #f093fb → #f5576c
|
||||
- AI/Accent: 135°, #4facfe → #00f2fe
|
||||
|
||||
4. 安全状态色:
|
||||
Security/High: #10b981
|
||||
Security/Medium: #f59e0b
|
||||
Security/Low: #ef4444
|
||||
Security/Critical: #dc2626
|
||||
|
||||
5. 中性色系:
|
||||
Gray/50 到 Gray/900 (9个层级)
|
||||
```
|
||||
|
||||
### Step 3: 建立文字样式
|
||||
```
|
||||
1. 创建文本框 → 输入示例文字 → 设置字体属性
|
||||
|
||||
2. 标题系统:
|
||||
H1/Bold: SF Pro Display, 32px, Bold, 32px行高
|
||||
H2/Bold: SF Pro Display, 24px, Bold, 28px行高
|
||||
H3/SemiBold: SF Pro Display, 20px, SemiBold, 24px行高
|
||||
H4/Medium: SF Pro Display, 18px, Medium, 22px行高
|
||||
|
||||
3. 正文系统:
|
||||
Body/Large: SF Pro Text, 18px, Regular, 24px行高
|
||||
Body/Medium: SF Pro Text, 16px, Regular, 22px行高
|
||||
Body/Small: SF Pro Text, 14px, Regular, 20px行高
|
||||
Caption: SF Pro Text, 12px, Regular, 16px行高
|
||||
|
||||
4. 每个样式创建后:
|
||||
选中文本 → 右侧面板 Text 区域 → 点击样式图标 → Create Style
|
||||
```
|
||||
|
||||
### Step 4: 建立效果样式
|
||||
```
|
||||
1. 阴影系统:
|
||||
- 创建矩形 → Effects → Drop Shadow
|
||||
|
||||
Shadow/SM: Y:1, Blur:2, Color:#000000, Opacity:5%
|
||||
Shadow/MD: Y:4, Blur:6, Color:#000000, Opacity:10%
|
||||
Shadow/LG: Y:10, Blur:15, Color:#000000, Opacity:15%
|
||||
Shadow/XL: Y:20, Blur:25, Color:#000000, Opacity:25%
|
||||
|
||||
2. AI发光效果:
|
||||
- Effects → Drop Shadow → 设置为外发光
|
||||
AI/Glow: Color:#667eea, Blur:8px, Spread:2px, Opacity:30%
|
||||
|
||||
3. 保存效果样式:
|
||||
选中对象 → Effects → 点击样式图标 → Create Style
|
||||
```
|
||||
|
||||
## 📱 第二阶段:核心组件创建
|
||||
|
||||
### Step 5: 创建按钮组件
|
||||
```
|
||||
在 Components 页面:
|
||||
|
||||
1. Primary Button:
|
||||
- 创建矩形 390×48px → 圆角12px
|
||||
- 填充 Primary/500 → 应用 Shadow/SM
|
||||
- 添加文本 "按钮文字" → 应用 Body/Large/SemiBold
|
||||
- 文字颜色设为白色
|
||||
- 选中所有元素 → Cmd+Alt+K 创建组件
|
||||
- 命名:Button/Primary
|
||||
|
||||
2. 创建变体:
|
||||
- 选中组件 → 右侧面板 → Add Variant
|
||||
- 创建 State 属性:Default, Hover, Pressed, Disabled
|
||||
- 为每个状态设置不同的颜色和效果
|
||||
|
||||
3. Secondary Button:
|
||||
- 复制 Primary Button → 修改样式
|
||||
- 背景改为透明 → 添加 1px Primary/500 边框
|
||||
- 文字颜色改为 Primary/500
|
||||
|
||||
4. AI Button:
|
||||
- 复制 Primary Button → 背景改为 AI/Primary 渐变
|
||||
- 添加 AI/Glow 效果
|
||||
```
|
||||
|
||||
### Step 6: 创建输入框组件
|
||||
```
|
||||
1. Text Input:
|
||||
- 创建矩形 358×48px → 圆角12px
|
||||
- 填充白色 → 边框 1px Gray/300
|
||||
- 添加占位符文本 → 应用 Body/Medium
|
||||
- 文字颜色 Gray/400
|
||||
- 设置内边距:左右16px
|
||||
|
||||
2. Password Input:
|
||||
- 复制 Text Input
|
||||
- 右侧添加眼睛图标 24×24px
|
||||
- 底部添加强度指示器 (2px高度条)
|
||||
|
||||
3. Search Input:
|
||||
- 复制 Text Input → 背景改为 Gray/50
|
||||
- 左侧添加搜索图标 20×20px
|
||||
- 右侧添加 AI 机器人图标 24×24px
|
||||
- 占位符:"搜索密码或说'银行相关的密码'"
|
||||
```
|
||||
|
||||
### Step 7: 创建卡片组件
|
||||
```
|
||||
1. Base Card:
|
||||
- 创建矩形 358×100px → 圆角12px
|
||||
- 填充白色 → 应用 Shadow/MD
|
||||
- 创建组件 → 命名:Card/Base
|
||||
|
||||
2. Password Entry Card:
|
||||
- 基于 Base Card,尺寸改为 358×72px
|
||||
- 添加布局元素:
|
||||
* 左侧:网站图标占位 32×32px
|
||||
* 中间:网站名称 + 用户名文本
|
||||
* 右侧:强度指示器 + 收藏星标
|
||||
- 使用 Auto Layout 进行布局
|
||||
|
||||
3. Security Score Card:
|
||||
- 基于 Base Card,尺寸 358×100px
|
||||
- 左侧:圆形进度条 60×60px
|
||||
- 右侧:问题列表文本
|
||||
- 创建大版本:358×160px,居中显示120×120px进度圆环
|
||||
|
||||
4. AI Suggestion Card:
|
||||
- 基于 Base Card → 圆角改为16px
|
||||
- 背景改为 AI/Primary 渐变
|
||||
- 添加 AI/Glow 效果
|
||||
- 所有文字改为白色
|
||||
```
|
||||
|
||||
## 📱 第三阶段:界面设计
|
||||
|
||||
### Step 8: 启动页面设计
|
||||
```
|
||||
在 Screens 页面:
|
||||
|
||||
1. 创建画板:
|
||||
- 按 F 键 → 选择 iPhone 14 (390×844px)
|
||||
- 命名:Splash Screen
|
||||
|
||||
2. 背景设计:
|
||||
- 创建矩形覆盖整个画板
|
||||
- 填充 AI/Primary 渐变
|
||||
|
||||
3. Logo 区域:
|
||||
- 距离顶部约280px位置
|
||||
- 创建圆形 120×120px → 填充白色
|
||||
- 内部添加锁图标 64×64px
|
||||
- 或使用 Iconify 插件搜索 "shield lock" 图标
|
||||
|
||||
4. 标题文字:
|
||||
- Logo 下方24px位置
|
||||
- 文本:"AI密码管家"
|
||||
- 应用 H1/Bold 样式,颜色白色
|
||||
|
||||
5. 加载指示器:
|
||||
- 标题下方48px位置
|
||||
- 5个圆点,直径8px,间距12px
|
||||
- 颜色白色,透明度60%
|
||||
```
|
||||
|
||||
### Step 9: 认证页面设计
|
||||
```
|
||||
1. 创建新画板:iPhone 14 → 命名:Authentication
|
||||
|
||||
2. 状态栏:
|
||||
- 高度44px → 填充透明
|
||||
- 添加时间、信号等状态元素
|
||||
|
||||
3. Logo 区域:
|
||||
- 距离状态栏下方120px
|
||||
- 圆形图标 80×80px
|
||||
- 使用与启动页相同的设计,但尺寸缩小
|
||||
|
||||
4. 标题区域:
|
||||
- Logo 下方32px
|
||||
- "欢迎回来" - H1 样式
|
||||
- "请验证您的身份" - Body/Medium,Gray/500
|
||||
|
||||
5. 生物识别区域:
|
||||
- 标题下方64px
|
||||
- 指纹图标 64×64px,居中
|
||||
- 使用 Iconify 搜索 "fingerprint" 图标
|
||||
- 图标颜色:Gray/400 (等待状态)
|
||||
- 下方文字:"使用生物识别" - Body/Large
|
||||
|
||||
6. 分割线:
|
||||
- 生物识别区域下方48px
|
||||
- 水平线 + "或" 文字
|
||||
|
||||
7. 主密码按钮:
|
||||
- 使用 Button/Secondary 组件
|
||||
- 文字:"输入主密码"
|
||||
|
||||
8. 忘记密码链接:
|
||||
- 底部安全区域上方
|
||||
- Text Button 样式
|
||||
```
|
||||
|
||||
### Step 10: 主界面设计
|
||||
```
|
||||
1. 创建新画板:iPhone 14 → 命名:Dashboard
|
||||
|
||||
2. 导航栏:
|
||||
- 高度76px (44px状态栏 + 32px内容)
|
||||
- 背景:白色,透明度95%,模糊效果
|
||||
- 左侧:🔒 图标 + "AI密码管家" 文字
|
||||
- 右侧:通知图标 + 设置图标
|
||||
|
||||
3. 搜索栏:
|
||||
- 导航栏下方16px
|
||||
- 使用 Search Input 组件
|
||||
- 宽度358px,居中
|
||||
|
||||
4. 安全状态卡片:
|
||||
- 搜索栏下方24px
|
||||
- 使用 Security Score Card 组件
|
||||
- 左侧显示评分85/100
|
||||
- 右侧显示问题列表
|
||||
|
||||
5. 快速操作区域:
|
||||
- 安全卡片下方24px
|
||||
- 三个按钮水平排列,间距12px
|
||||
- 按钮尺寸:110×56px
|
||||
- 内容:图标 + 文字垂直排列
|
||||
|
||||
6. 最近使用区域:
|
||||
- 快速操作下方32px
|
||||
- 区域标题:"最近使用" + "查看全部"链接
|
||||
- 下方放置3个 Password Entry Card
|
||||
- 卡片间距12px
|
||||
```
|
||||
|
||||
### Step 11: 密码库页面设计
|
||||
```
|
||||
1. 创建新画板:iPhone 14 → 命名:Vault
|
||||
|
||||
2. 导航栏:
|
||||
- 左侧:返回箭头 + "密码库"
|
||||
- 右侧:搜索图标 + 更多图标
|
||||
|
||||
3. 筛选标签栏:
|
||||
- 导航栏下方16px
|
||||
- 四个标签:[全部] [收藏] [分类] [标签]
|
||||
- 选中状态:Primary/500背景,白色文字
|
||||
- 未选中:Gray/100背景,Gray/700文字
|
||||
|
||||
4. 排序选择器:
|
||||
- 标签栏下方16px
|
||||
- "排序:最近使用 ↓" - Body/Small
|
||||
|
||||
5. 密码列表:
|
||||
- 排序器下方16px
|
||||
- 使用 Password Entry Card (展开版96px高度)
|
||||
- 显示更多信息:网站全名、安全评分、标签等
|
||||
- 卡片间距8px
|
||||
```
|
||||
|
||||
### Step 12: AI助手页面设计
|
||||
```
|
||||
1. 创建新画板:iPhone 14 → 命名:AI Assistant
|
||||
|
||||
2. 导航栏:
|
||||
- 标题:"AI 安全助手"
|
||||
- 右侧:AI机器人图标 (渐变色)
|
||||
|
||||
3. 安全评分区域:
|
||||
- 使用 Security Score Card (大版本160px)
|
||||
- 居中显示120×120px圆形进度条
|
||||
- 评分85,状态"良好"
|
||||
|
||||
4. 安全问题区域:
|
||||
- 标题:"🔍 安全问题分析"
|
||||
- 三个问题卡片:
|
||||
* ⚠️ 弱密码问题 (橙色左边框)
|
||||
* 🔄 过期密码 (橙色左边框)
|
||||
* 🔐 两步验证 (绿色左边框)
|
||||
|
||||
5. AI建议区域:
|
||||
- 标题:"💡 智能建议"
|
||||
- 使用 AI Suggestion Card 组件
|
||||
- 渐变背景 + 发光效果
|
||||
|
||||
6. 快速操作:
|
||||
- 底部两个按钮:
|
||||
* "🛠️ 一键修复" - Primary Button
|
||||
* "📊 详细报告" - Secondary Button
|
||||
```
|
||||
|
||||
### Step 13: 搜索页面设计
|
||||
```
|
||||
1. 创建新画板:iPhone 14 → 命名:Search
|
||||
|
||||
2. 搜索输入区域:
|
||||
- 顶部:Search Input 组件
|
||||
- 下方提示:"💬 试试说:'银行相关的密码'"
|
||||
|
||||
3. 语音搜索按钮:
|
||||
- 搜索框下方16px
|
||||
- AI Button 样式,渐变背景
|
||||
- 🎤 图标 + "语音搜索"
|
||||
|
||||
4. 快速筛选:
|
||||
- 语音按钮下方24px
|
||||
- 标题:"快速筛选"
|
||||
- 四个标签按钮水平排列
|
||||
|
||||
5. 智能分类:
|
||||
- 筛选下方24px
|
||||
- 标题:"智能分类"
|
||||
- 四个分类卡片:
|
||||
* 🏦 银行金融 (8)
|
||||
* 💼 工作相关 (12)
|
||||
* 🛒 购物网站 (15)
|
||||
* 🎮 游戏娱乐 (6)
|
||||
|
||||
6. 搜索历史:
|
||||
- 分类下方24px
|
||||
- 标题:"搜索历史"
|
||||
- 历史标签:"工作邮箱" "银行密码" "社交媒体"
|
||||
```
|
||||
|
||||
## 🔄 第四阶段:交互原型
|
||||
|
||||
### Step 14: 创建页面连接
|
||||
```
|
||||
在 Prototypes 页面:
|
||||
|
||||
1. 复制所有设计好的画板到此页面
|
||||
|
||||
2. 设置页面流程:
|
||||
Splash Screen → Authentication → Dashboard
|
||||
|
||||
3. 添加交互热区:
|
||||
- 选择元素 → 右侧 Prototype 面板
|
||||
- Interaction: On Tap → Navigate to → 目标页面
|
||||
- Animation: Smart Animate, 300ms, Ease Out
|
||||
|
||||
4. 主要交互流程:
|
||||
- 生物识别按钮 → Dashboard
|
||||
- 主密码按钮 → 密码输入页面
|
||||
- 搜索栏 → Search 页面
|
||||
- 密码卡片 → 密码详情页面
|
||||
- AI助手入口 → AI Assistant 页面
|
||||
```
|
||||
|
||||
### Step 15: 添加微交互
|
||||
```
|
||||
1. 按钮交互:
|
||||
- 选中按钮 → Prototype 面板
|
||||
- While Pressing → 缩放到98%
|
||||
- Animation: 150ms, Ease Out
|
||||
|
||||
2. 卡片悬停效果:
|
||||
- While Hovering → 阴影增强
|
||||
- Animation: 200ms, Ease In Out
|
||||
|
||||
3. 开关切换:
|
||||
- On Tap → 切换到另一个状态
|
||||
- Animation: 200ms, Ease In Out
|
||||
|
||||
4. 加载状态:
|
||||
- 创建加载动画组件
|
||||
- 使用 Smart Animate 实现旋转效果
|
||||
```
|
||||
|
||||
## 📚 第五阶段:文档和交付
|
||||
|
||||
### Step 16: 创建设计规范
|
||||
```
|
||||
在 Documentation 页面:
|
||||
|
||||
1. 颜色规范:
|
||||
- 展示所有颜色样式
|
||||
- 标注 HEX 值和使用场景
|
||||
|
||||
2. 字体规范:
|
||||
- 展示所有文字样式
|
||||
- 标注字号、行高、字重
|
||||
|
||||
3. 组件规范:
|
||||
- 每个组件的使用说明
|
||||
- 不同状态的展示
|
||||
- 尺寸和间距标注
|
||||
|
||||
4. 间距规范:
|
||||
- 8px 网格系统说明
|
||||
- 常用间距值展示
|
||||
```
|
||||
|
||||
### Step 17: 开发者交接
|
||||
```
|
||||
1. 创建 Dev Mode 视图:
|
||||
- 选择画板 → 右上角 Share → Dev Mode
|
||||
- 添加标注和说明
|
||||
|
||||
2. 导出资源:
|
||||
- 图标:SVG 格式
|
||||
- 图片:PNG @1x, @2x, @3x
|
||||
- 颜色:CSS 变量格式
|
||||
|
||||
3. 组件代码:
|
||||
- 使用 Figma to Code 插件
|
||||
- 生成 React Native 组件代码
|
||||
```
|
||||
|
||||
## ✅ 质量检查清单
|
||||
|
||||
### 设计一致性
|
||||
- [ ] 所有颜色都使用了设计系统中的样式
|
||||
- [ ] 所有文字都应用了正确的文字样式
|
||||
- [ ] 间距遵循8px网格系统
|
||||
- [ ] 圆角使用统一的规范值
|
||||
|
||||
### 可用性检查
|
||||
- [ ] 最小触摸目标44×44px
|
||||
- [ ] 颜色对比度符合WCAG AA标准
|
||||
- [ ] 重要信息不仅依赖颜色区分
|
||||
- [ ] 所有交互元素都有明确的状态反馈
|
||||
|
||||
### 技术可行性
|
||||
- [ ] 所有设计都可以用React Native实现
|
||||
- [ ] 动画效果合理,不影响性能
|
||||
- [ ] 图标和图片资源已准备好导出
|
||||
- [ ] 组件结构便于开发实现
|
||||
|
||||
### AI和安全元素
|
||||
- [ ] AI功能都有明确的视觉标识
|
||||
- [ ] 安全状态使用一致的颜色编码
|
||||
- [ ] 密码强度指示器清晰易懂
|
||||
- [ ] 未来感设计元素恰当使用
|
||||
|
||||
这个详细的实施指南将帮助您在Figma中创建出专业、一致且具有未来感的AI密码管理器界面设计。
|
||||
121
docs/figma-quick-start-guide.md
Normal file
121
docs/figma-quick-start-guide.md
Normal file
@@ -0,0 +1,121 @@
|
||||
# Figma快速开始指南 - AI密码管理器设计
|
||||
|
||||
## 🚀 第一步:创建Figma文件和画板
|
||||
|
||||
### 1. 打开Figma并创建文件
|
||||
1. 在浏览器中访问 [figma.com](https://figma.com)
|
||||
2. 点击右上角 **"New design file"** 按钮
|
||||
3. 文件会自动创建并打开
|
||||
|
||||
### 2. 重命名文件
|
||||
1. 点击左上角的 **"Untitled"** 文件名
|
||||
2. 输入:**"AI密码管理器设计系统"**
|
||||
3. 按回车确认
|
||||
|
||||
### 3. 创建iPhone画板
|
||||
1. 按键盘 **F** 键(或点击左侧工具栏的Frame图标)
|
||||
2. 在右侧面板中找到 **"Phone"** 分类
|
||||
3. 点击 **"iPhone 14"** (390 × 844px)
|
||||
4. 画板会自动创建在画布中央
|
||||
|
||||
### 4. 重命名画板
|
||||
1. 确保画板被选中(边框显示蓝色)
|
||||
2. 在右侧面板顶部,将名称改为:**"Splash Screen"**
|
||||
|
||||
## 🎨 第二步:创建第一个设计元素
|
||||
|
||||
### 方法一:创建矩形(推荐)
|
||||
1. 按键盘 **R** 键(或点击左侧工具栏的矩形图标)
|
||||
2. 在画板内拖拽创建一个矩形
|
||||
3. 矩形会自动被选中(显示蓝色边框和控制点)
|
||||
|
||||
### 方法二:创建文本
|
||||
1. 按键盘 **T** 键(或点击左侧工具栏的文本图标)
|
||||
2. 在画板内点击任意位置
|
||||
3. 输入文字:**"AI密码管家"**
|
||||
4. 按Esc键完成编辑,文本会被选中
|
||||
|
||||
### 方法三:创建圆形
|
||||
1. 按键盘 **O** 键(或点击左侧工具栏的椭圆图标)
|
||||
2. 按住Shift键并拖拽,创建一个正圆
|
||||
3. 圆形会自动被选中
|
||||
|
||||
## ✅ 第三步:确认元素已选中
|
||||
|
||||
### 选中状态的标志:
|
||||
- 元素周围有**蓝色边框**
|
||||
- 四个角有**蓝色控制点**
|
||||
- 右侧面板显示该元素的属性
|
||||
- 左侧图层面板中该元素名称被高亮
|
||||
|
||||
### 如果元素没有被选中:
|
||||
1. 用鼠标**单击**该元素
|
||||
2. 或者在左侧图层面板中**点击**元素名称
|
||||
|
||||
## 🔧 第四步:验证MCP工具连接
|
||||
|
||||
当您完成上述步骤并确保有元素被选中后,我就可以使用Figma MCP工具来:
|
||||
|
||||
1. **获取当前设计图像** - 查看您创建的元素
|
||||
2. **生成React Native代码** - 为设计元素生成对应的代码
|
||||
3. **分析设计变量** - 获取颜色、字体等设计属性
|
||||
4. **优化设计** - 根据AI密码管理器的需求调整设计
|
||||
|
||||
## 🎯 推荐的开始方式
|
||||
|
||||
### 创建启动页面背景:
|
||||
1. 按 **R** 键创建矩形
|
||||
2. 调整大小覆盖整个画板 (390×844px)
|
||||
3. 在右侧面板的Fill区域:
|
||||
- 点击颜色方块
|
||||
- 选择 **Linear** 渐变
|
||||
- 设置渐变角度为 **135度**
|
||||
- 第一个颜色:**#667eea** (蓝紫色)
|
||||
- 第二个颜色:**#764ba2** (深紫色)
|
||||
|
||||
### 添加Logo占位符:
|
||||
1. 按 **O** 键创建圆形
|
||||
2. 设置尺寸为 **120×120px**
|
||||
3. 填充白色 **#FFFFFF**
|
||||
4. 居中放置在画板中
|
||||
|
||||
### 添加标题文字:
|
||||
1. 按 **T** 键创建文本
|
||||
2. 输入:**"AI密码管家"**
|
||||
3. 设置字体大小:**32px**
|
||||
4. 设置颜色:**白色 #FFFFFF**
|
||||
5. 居中对齐
|
||||
|
||||
## 🚨 常见问题解决
|
||||
|
||||
### 问题1:找不到iPhone 14画板
|
||||
- 按F键后,在右侧面板向下滚动找到"Phone"分类
|
||||
- 或者手动创建Frame,设置尺寸为390×844px
|
||||
|
||||
### 问题2:元素创建后没有被选中
|
||||
- 用鼠标单击该元素
|
||||
- 或按V键切换到选择工具,然后点击元素
|
||||
|
||||
### 问题3:无法看到渐变选项
|
||||
- 确保元素被选中
|
||||
- 在右侧面板的Fill区域,点击颜色方块
|
||||
- 在弹出的颜色选择器中,点击顶部的渐变图标
|
||||
|
||||
### 问题4:MCP工具提示"Nothing is selected"
|
||||
- 确保在Figma中有元素被选中(显示蓝色边框)
|
||||
- 刷新浏览器页面重新选择元素
|
||||
- 确保Figma标签页是当前活跃的标签页
|
||||
|
||||
## 📞 准备就绪的信号
|
||||
|
||||
当您看到以下情况时,就可以告诉我"已经选中元素":
|
||||
|
||||
✅ Figma中有一个元素被选中(蓝色边框)
|
||||
✅ 右侧面板显示该元素的属性
|
||||
✅ 左侧图层面板中元素名称被高亮
|
||||
|
||||
然后我就可以使用MCP工具来帮您开始设计AI密码管理器的界面了!
|
||||
|
||||
---
|
||||
|
||||
**提示**:如果您在任何步骤遇到困难,请告诉我具体在哪一步,我会提供更详细的指导。
|
||||
0
docs/frontend-architecture.md
Normal file
0
docs/frontend-architecture.md
Normal file
373
docs/interface-designs.md
Normal file
373
docs/interface-designs.md
Normal file
@@ -0,0 +1,373 @@
|
||||
# AI密码管理器 - 界面设计详细规范
|
||||
|
||||
## 📱 核心界面设计
|
||||
|
||||
### 1. 启动页面 (Splash Screen)
|
||||
```
|
||||
画板尺寸:390 × 844px (iPhone 14)
|
||||
|
||||
布局结构:
|
||||
┌─────────────────────────────────┐
|
||||
│ │
|
||||
│ │
|
||||
│ [Logo] │ ← 居中,120×120px
|
||||
│ AI密码管家 │ ← H1, 24px, Bold
|
||||
│ │
|
||||
│ │
|
||||
│ ●●●○○ │ ← 加载指示器
|
||||
│ │
|
||||
│ │
|
||||
│ │
|
||||
│ │
|
||||
└─────────────────────────────────┘
|
||||
|
||||
设计要点:
|
||||
- 背景:Primary 500 渐变到 Primary 700
|
||||
- Logo:白色图标,带AI发光效果
|
||||
- 标题:白色文字,下方有微妙的发光
|
||||
- 加载器:白色圆点,流动动画
|
||||
```
|
||||
|
||||
### 2. 认证页面 (Authentication)
|
||||
```
|
||||
画板尺寸:390 × 844px
|
||||
|
||||
布局结构:
|
||||
┌─────────────────────────────────┐
|
||||
│ ← │ ← 返回按钮 (如果需要)
|
||||
│ │
|
||||
│ [Logo] │ ← 80×80px
|
||||
│ 欢迎回来 │ ← H1, 24px
|
||||
│ 请验证您的身份 │ ← Body MD, Gray 500
|
||||
│ │
|
||||
│ [指纹图标] │ ← 64×64px, AI渐变色
|
||||
│ 使用生物识别 │ ← Label LG, 16px
|
||||
│ │
|
||||
│ │
|
||||
│ ──────── 或 ──────── │ ← 分割线
|
||||
│ │
|
||||
│ [输入主密码按钮] │ ← Secondary Button
|
||||
│ │
|
||||
│ │
|
||||
│ 忘记密码? │ ← Text Button
|
||||
│ │
|
||||
└─────────────────────────────────┘
|
||||
|
||||
生物识别状态:
|
||||
- 等待:指纹图标,灰色
|
||||
- 识别中:指纹图标,AI渐变 + 脉冲动画
|
||||
- 成功:✓ 图标,绿色
|
||||
- 失败:✗ 图标,红色 + 震动反馈
|
||||
```
|
||||
|
||||
### 3. 主界面 (Dashboard)
|
||||
```
|
||||
画板尺寸:390 × 844px
|
||||
|
||||
布局结构:
|
||||
┌─────────────────────────────────┐
|
||||
│ 🔒 AI密码管家 🔔 ⚙️ │ ← 导航栏,高度76px
|
||||
├─────────────────────────────────┤
|
||||
│ 🔍 搜索密码或说"银行相关的密码" 🤖 │ ← 搜索栏,高度48px
|
||||
├─────────────────────────────────┤
|
||||
│ │
|
||||
│ ┌─────────────────────────────┐ │ ← 安全状态卡片
|
||||
│ │ 85 │ ⚠️ 5个弱密码 │ │ 高度100px
|
||||
│ │ /100 │ 🔄 3个过期密码 │ │ 圆角12px
|
||||
│ │ 良好 │ 🔐 建议2FA │ │ 阴影MD
|
||||
│ └─────────────────────────────┘ │
|
||||
│ │
|
||||
│ [➕添加密码] [📱扫码] [🎲生成] │ ← 快速操作,高度56px
|
||||
│ │
|
||||
│ 最近使用 查看全部 │ ← 区块标题
|
||||
│ │
|
||||
│ ┌─ 🌐 GitHub ─────────────────┐ │ ← 密码条目卡片
|
||||
│ │ username@email.com │ │ 高度72px
|
||||
│ │ 🔒●●●●○ 🏷️工作 ⭐ │ │ 圆角8px
|
||||
│ └─────────────────────────────┘ │
|
||||
│ ┌─ 🏦 中国银行 ───────────────┐ │
|
||||
│ │ 1234****5678 │ │
|
||||
│ │ 🔒●●●●● 🏷️银行 │ │
|
||||
│ └─────────────────────────────┘ │
|
||||
│ ┌─ 📧 Gmail ──────────────────┐ │
|
||||
│ │ user@gmail.com │ │
|
||||
│ │ 🔒●●○○○ ⚠️弱密码 │ │
|
||||
│ └─────────────────────────────┘ │
|
||||
└─────────────────────────────────┘
|
||||
|
||||
关键元素:
|
||||
- 安全评分:大数字85,圆形进度条背景
|
||||
- 问题统计:图标+数字+描述,颜色编码
|
||||
- 快速操作:三个等宽按钮,图标+文字
|
||||
- 密码条目:网站图标+标题+用户名+安全指示+标签
|
||||
```
|
||||
|
||||
### 4. 密码库页面 (Vault)
|
||||
```
|
||||
画板尺寸:390 × 844px
|
||||
|
||||
布局结构:
|
||||
┌─────────────────────────────────┐
|
||||
│ ← 密码库 🔍 ⋯ │ ← 导航栏
|
||||
├─────────────────────────────────┤
|
||||
│ [全部] [收藏] [分类] [标签] │ ← 筛选标签,高度40px
|
||||
├─────────────────────────────────┤
|
||||
│ 排序:最近使用 ↓ │ ← 排序选择器
|
||||
├─────────────────────────────────┤
|
||||
│ │
|
||||
│ ┌─ 🌐 GitHub ─────────────────┐ │ ← 密码条目(展开版)
|
||||
│ │ GitHub Inc. │ │ 高度96px
|
||||
│ │ username@email.com │ │
|
||||
│ │ 🔒●●●●○ 强度:80/100 │ │
|
||||
│ │ 🏷️工作 🏷️开发 ⭐ 3天前使用 │ │
|
||||
│ └─────────────────────────────┘ │
|
||||
│ │
|
||||
│ ┌─ 🏦 中国银行 ───────────────┐ │
|
||||
│ │ 中国银行手机银行 │ │
|
||||
│ │ 1234****5678 │ │
|
||||
│ │ 🔒●●●●● 强度:95/100 │ │
|
||||
│ │ 🏷️银行 🏷️重要 1周前使用 │ │
|
||||
│ └─────────────────────────────┘ │
|
||||
│ │
|
||||
│ ┌─ 📧 Gmail ──────────────────┐ │
|
||||
│ │ Google Mail │ │
|
||||
│ │ user@gmail.com │ │
|
||||
│ │ 🔒●●○○○ ⚠️弱密码 强度:35 │ │
|
||||
│ │ 🏷️邮箱 2周前使用 │ │
|
||||
│ └─────────────────────────────┘ │
|
||||
│ │
|
||||
└─────────────────────────────────┘
|
||||
|
||||
交互设计:
|
||||
- 左滑:快速复制用户名
|
||||
- 右滑:快速复制密码
|
||||
- 长按:显示操作菜单
|
||||
- 点击:进入详情页
|
||||
```
|
||||
|
||||
### 5. 密码详情页面 (Password Detail)
|
||||
```
|
||||
画板尺寸:390 × 844px
|
||||
|
||||
布局结构:
|
||||
┌─────────────────────────────────┐
|
||||
│ ← GitHub ⋯ 编辑 │ ← 导航栏
|
||||
├─────────────────────────────────┤
|
||||
│ │
|
||||
│ 🌐 │ ← 大图标,80×80px
|
||||
│ │
|
||||
│ GitHub Inc. │ ← H2, 20px, Bold
|
||||
│ https://github.com │ ← Body SM, Gray 500
|
||||
│ │
|
||||
├─────────────────────────────────┤
|
||||
│ 用户名 │ ← Label MD
|
||||
│ username@email.com [复制] │ ← 可复制字段
|
||||
├─────────────────────────────────┤
|
||||
│ 密码 │
|
||||
│ ●●●●●●●●●●●● [显示] [复制] │ ← 密码字段
|
||||
├─────────────────────────────────┤
|
||||
│ 安全信息 │ ← 区块标题
|
||||
│ 🔒 强度:强 (80/100) │
|
||||
│ 📅 创建:2024-01-15 │
|
||||
│ 🕐 最后使用:3天前 │
|
||||
│ 🔄 上次更新:1个月前 │
|
||||
├─────────────────────────────────┤
|
||||
│ 💡 AI 建议 │ ← AI建议卡片
|
||||
│ ┌─────────────────────────────┐ │ 背景:AI渐变
|
||||
│ │ • 建议启用两步验证 │ │ 圆角12px
|
||||
│ │ • 密码已使用180天,建议更新 │ │ 文字:白色
|
||||
│ │ • 检测到数据泄露风险 │ │
|
||||
│ └─────────────────────────────┘ │
|
||||
├─────────────────────────────────┤
|
||||
│ 标签 │
|
||||
│ [🏷️工作] [🏷️开发] [🏷️重要] │ ← 标签组
|
||||
├─────────────────────────────────┤
|
||||
│ 备注 │
|
||||
│ 公司开发账户,包含重要代码仓库 │ ← 备注文本
|
||||
│ │
|
||||
│ │
|
||||
│ [🔄 更新密码] [🗑️ 删除] │ ← 底部操作按钮
|
||||
└─────────────────────────────────┘
|
||||
```
|
||||
|
||||
### 6. AI助手页面 (AI Assistant)
|
||||
```
|
||||
画板尺寸:390 × 844px
|
||||
|
||||
布局结构:
|
||||
┌─────────────────────────────────┐
|
||||
│ AI 安全助手 🤖 │ ← 导航栏,AI图标渐变
|
||||
├─────────────────────────────────┤
|
||||
│ │
|
||||
│ ┌─────────────────────────────┐ │ ← 安全评分卡片
|
||||
│ │ │ │ 高度160px
|
||||
│ │ ●●●●●●●●○○ │ │ 圆形进度条
|
||||
│ │ 85 │ │ 中心大数字
|
||||
│ │ /100 │ │
|
||||
│ │ 良好 │ │ 状态文字
|
||||
│ │ │ │
|
||||
│ └─────────────────────────────┘ │
|
||||
│ │
|
||||
│ 🔍 安全问题分析 │ ← 区块标题
|
||||
│ │
|
||||
│ ┌─ ⚠️ 弱密码问题 ──────────────┐ │ ← 问题卡片
|
||||
│ │ 发现 5 个弱密码需要立即更新 │ │ 高度64px
|
||||
│ │ 点击查看详情 → │ │ 橙色左边框
|
||||
│ └─────────────────────────────┘ │
|
||||
│ │
|
||||
│ ┌─ 🔄 过期密码 ────────────────┐ │
|
||||
│ │ 3 个密码超过90天未更新 │ │
|
||||
│ │ 建议定期更新 → │ │
|
||||
│ └─────────────────────────────┘ │
|
||||
│ │
|
||||
│ ┌─ 🔐 两步验证 ────────────────┐ │
|
||||
│ │ 2 个重要账户建议启用2FA │ │
|
||||
│ │ 提升安全等级 → │ │
|
||||
│ └─────────────────────────────┘ │
|
||||
│ │
|
||||
│ 💡 智能建议 │ ← AI建议区块
|
||||
│ │
|
||||
│ ┌─────────────────────────────┐ │ ← AI建议卡片
|
||||
│ │ 🤖 基于您的使用习惯,我发现: │ │ AI渐变背景
|
||||
│ │ │ │ 白色文字
|
||||
│ │ • 您经常使用银行类网站,建议 │ │
|
||||
│ │ 为金融账户设置更强密码 │ │
|
||||
│ │ │ │
|
||||
│ │ • 检测到工作相关密码较多, │ │
|
||||
│ │ 建议创建"工作"分类 │ │
|
||||
│ └─────────────────────────────┘ │
|
||||
│ │
|
||||
│ [🛠️ 一键修复] [📊 详细报告] │ ← 快速操作
|
||||
└─────────────────────────────────┘
|
||||
```
|
||||
|
||||
### 7. 搜索页面 (Search)
|
||||
```
|
||||
画板尺寸:390 × 844px
|
||||
|
||||
布局结构:
|
||||
┌─────────────────────────────────┐
|
||||
│ 🔍 搜索密码... ✕ │ ← 搜索输入框
|
||||
│ 💬 试试说:"银行相关的密码" │ ← 提示文字,AI色彩
|
||||
├─────────────────────────────────┤
|
||||
│ 🎤 语音搜索 │ ← 语音输入按钮
|
||||
├─────────────────────────────────┤
|
||||
│ 快速筛选 │ ← 区块标题
|
||||
│ [最近使用] [收藏] [弱密码] [过期] │ ← 快速筛选标签
|
||||
├─────────────────────────────────┤
|
||||
│ 智能分类 │ ← AI分类区块
|
||||
│ │
|
||||
│ ┌─ 🏦 银行金融 (8) ────────────┐ │ ← 分类卡片
|
||||
│ │ 中国银行、工商银行、支付宝... │ │ 显示数量
|
||||
│ └─────────────────────────────┘ │ 预览内容
|
||||
│ │
|
||||
│ ┌─ 💼 工作相关 (12) ───────────┐ │
|
||||
│ │ GitHub、Slack、Notion... │ │
|
||||
│ └─────────────────────────────┘ │
|
||||
│ │
|
||||
│ ┌─ 🛒 购物网站 (15) ───────────┐ │
|
||||
│ │ 淘宝、京东、亚马逊... │ │
|
||||
│ └─────────────────────────────┘ │
|
||||
│ │
|
||||
│ ┌─ 🎮 游戏娱乐 (6) ────────────┐ │
|
||||
│ │ Steam、网易、腾讯... │ │
|
||||
│ └─────────────────────────────┘ │
|
||||
│ │
|
||||
│ 搜索历史 │ ← 历史记录
|
||||
│ "工作邮箱" "银行密码" "社交媒体" │ ← 历史标签
|
||||
│ │
|
||||
└─────────────────────────────────┘
|
||||
|
||||
搜索结果页面:
|
||||
┌─────────────────────────────────┐
|
||||
│ ← "银行"的搜索结果 (3) │ ← 结果导航
|
||||
├─────────────────────────────────┤
|
||||
│ 🤖 AI理解:您在寻找银行相关账户 │ ← AI理解提示
|
||||
├─────────────────────────────────┤
|
||||
│ ┌─ 🏦 中国银行 ───────────────┐ │ ← 搜索结果
|
||||
│ │ 1234****5678 │ │ 高亮匹配词
|
||||
│ │ 🔒●●●●● 🏷️银行 1周前使用 │ │
|
||||
│ └─────────────────────────────┘ │
|
||||
│ ┌─ 🏦 工商银行 ───────────────┐ │
|
||||
│ │ icbc_user │ │
|
||||
│ │ 🔒●●●○○ 🏷️银行 1月前使用 │ │
|
||||
│ └─────────────────────────────┘ │
|
||||
│ ┌─ 💰 支付宝 ─────────────────┐ │
|
||||
│ │ 138****8888 │ │
|
||||
│ │ 🔒●●●●○ 🏷️支付 3天前使用 │ │
|
||||
│ └─────────────────────────────┘ │
|
||||
└─────────────────────────────────┘
|
||||
```
|
||||
|
||||
### 8. 设置页面 (Settings)
|
||||
```
|
||||
画板尺寸:390 × 844px
|
||||
|
||||
布局结构:
|
||||
┌─────────────────────────────────┐
|
||||
│ ← 设置 │ ← 导航栏
|
||||
├─────────────────────────────────┤
|
||||
│ │
|
||||
│ ┌─ 👤 账户信息 ────────────────┐ │ ← 用户信息卡片
|
||||
│ │ [头像] 用户名 │ │ 高度80px
|
||||
│ │ user@email.com │ │
|
||||
│ └─────────────────────────────┘ │
|
||||
│ │
|
||||
│ 🔒 安全设置 │ ← 设置分组
|
||||
│ │
|
||||
│ 生物识别解锁 [开关] │ ← 设置项
|
||||
│ 自动锁定 [5分钟] │
|
||||
│ 查看密码需要验证 [开关] │
|
||||
│ 更改主密码 > │
|
||||
│ │
|
||||
│ 🤖 AI 功能 │ ← AI设置分组
|
||||
│ │
|
||||
│ 智能分类 [开关] │
|
||||
│ 安全分析 [开关] │
|
||||
│ 智能搜索 [开关] │
|
||||
│ 密码建议 [开关] │
|
||||
│ │
|
||||
│ 🔄 同步设置 │ ← 同步设置
|
||||
│ │
|
||||
│ iCloud 同步 [开关] │
|
||||
│ 自动备份 [开关] │
|
||||
│ 同步状态 [正常] │
|
||||
│ │
|
||||
│ ⚙️ 应用设置 │ ← 应用设置
|
||||
│ │
|
||||
│ 暗色模式 [自动] │
|
||||
│ 语言 [中文] │
|
||||
│ 通知 [开关] │
|
||||
│ │
|
||||
│ ℹ️ 关于 │ ← 关于信息
|
||||
│ │
|
||||
│ 版本信息 1.0.0 │
|
||||
│ 隐私政策 > │
|
||||
│ 用户协议 > │
|
||||
│ 联系我们 > │
|
||||
│ │
|
||||
│ [🚪 退出登录] │ ← 退出按钮
|
||||
└─────────────────────────────────┘
|
||||
```
|
||||
|
||||
## 🎨 视觉设计要点
|
||||
|
||||
### AI元素设计
|
||||
1. **渐变色运用**:AI功能使用蓝紫渐变
|
||||
2. **发光效果**:重要AI功能添加微妙发光
|
||||
3. **动画效果**:AI处理时显示脉冲动画
|
||||
4. **智能徽章**:AI增强功能显示"AI"标识
|
||||
|
||||
### 安全视觉语言
|
||||
1. **颜色编码**:绿色=安全,橙色=警告,红色=危险
|
||||
2. **图标系统**:统一的安全状态图标
|
||||
3. **进度指示**:密码强度的视觉化表示
|
||||
4. **状态反馈**:即时的视觉状态反馈
|
||||
|
||||
### 交互设计
|
||||
1. **手势操作**:左右滑动的快捷操作
|
||||
2. **触觉反馈**:重要操作的震动反馈
|
||||
3. **状态动画**:流畅的状态转换动画
|
||||
4. **加载状态**:优雅的加载和骨架屏
|
||||
|
||||
这些详细的界面设计规范将帮助您在Figma中创建出专业、一致且用户友好的AI密码管理器界面。
|
||||
483
docs/ui-ux-design.md
Normal file
483
docs/ui-ux-design.md
Normal file
@@ -0,0 +1,483 @@
|
||||
# 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 功能提升用户的使用效率和安全性。*
|
||||
Reference in New Issue
Block a user