crush-level-web/docs/AiReplySuggestions.md

2.7 KiB
Raw Blame History

AI建议回复功能实现

功能概述

根据Figma设计稿实现了AI建议回复功能用户可以在聊天界面中获取AI生成的回复建议提高聊天效率。

实现组件

1. AiReplySuggestions.tsx

主要的AI建议回复组件包含以下功能

  • 显示多个AI建议选项
  • 支持编辑建议内容
  • VIP解锁更多功能入口
  • 分页导航控制

2. useAiReplySuggestions.ts

状态管理Hook处理

  • AI建议的获取和管理
  • 分页逻辑
  • 面板显示/隐藏控制
  • 自动刷新机制当面板打开时收到新AI消息会自动刷新建议

3. ChatInput.tsx更新

集成AI建议功能到聊天输入组件

  • 添加提示词按钮来触发建议面板
  • 处理建议选择和应用
  • 管理面板状态

设计细节

视觉设计

  • 遵循Figma设计稿的视觉样式
  • 使用毛玻璃效果和圆角设计
  • 渐变色彩搭配
  • 响应式布局

交互设计

  • 点击提示词按钮显示/隐藏建议面板
  • 点击建议卡片:直接发送该建议作为消息
  • 点击编辑图标:将建议文案放入输入框进行编辑
  • 分页控制支持浏览更多建议
  • VIP入口引导用户升级

使用方法

  1. 在聊天界面点击输入框右侧的提示词按钮
  2. 查看AI生成的回复建议
  3. 直接点击建议卡片可立即发送该消息
  4. 点击编辑图标将建议放入输入框进行修改
  5. 使用分页控制查看更多建议选项

技术特点

  • TypeScript类型安全
  • React Hooks状态管理
  • 响应式设计
  • 模块化组件结构
  • 可扩展的API接口设计

核心逻辑

建议获取时机

  • 只有当最后一条消息来自AI对方才会在打开面板时获取新建议
  • 如果最后一条消息来自用户,则显示之前缓存的建议或骨架屏
  • 每次检测到新的AI消息后第一次打开面板会重新获取建议

骨架屏显示

  • 骨架屏已集成到建议弹窗内部,不再是独立组件
  • 在API调用期间显示骨架屏提升用户体验
  • 骨架屏固定显示2条建议的布局结构

分页机制

  • API一次性返回所有建议数据,不是分页请求
  • 每页显示2条建议
  • 根据API返回的总数自动计算页数
  • 点击左右切换只是前端切换显示,不会重新请求接口

缓存策略

  • 建议会被缓存避免重复API调用
  • 只有检测到新的AI消息时才会清空缓存重新获取
  • 自动刷新当面板已打开且收到新AI消息时自动刷新建议

API集成

已集成真实的AI建议APIgenSupContentV2),替换了之前的模拟数据。

后续扩展

  • 添加建议个性化定制
  • 支持更多建议类型
  • 添加使用统计和优化
  • 优化缓存策略和错误处理