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

10 KiB
Raw Blame History

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×12px8px字体
- 大尺寸40×20px12px字体
- 圆形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度1sLinear无限循环
- 尺寸24×24px或32×32px

AI版本
- 圆环AI/Primary渐变
- 旋转360度1.2sEase 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

// 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视觉语言和流畅的用户体验同时体现了未来感和科技感。