diff --git a/components/ai-chat-float/README.md b/components/ai-chat-float/README.md deleted file mode 100644 index 2f1e15c..0000000 --- a/components/ai-chat-float/README.md +++ /dev/null @@ -1,238 +0,0 @@ -# AI智能客服浮动按钮组件 - -## 组件介绍 - -AI智能客服浮动按钮组件是一个可以在任何页面中使用的浮动AI客服按钮,点击按钮可以弹出完整的AI智能客服聊天界面。该组件基于现有的AI聊天消息组件,提供了丰富的交互功能和配置选项。 - -## 功能特性 - -- ✅ **浮动按钮** - 可自定义位置的浮动AI客服按钮 -- ✅ **聊天弹窗** - 点击按钮弹出完整的AI聊天界面 -- ✅ **全屏模式** - 支持全屏/窗口模式切换 -- ✅ **未读消息** - 显示未读消息数量小红点 -- ✅ **多种消息类型** - 支持文本、文件、图片、音频、视频、链接等 -- ✅ **流式对话** - 支持流式AI回复效果 -- ✅ **响应式设计** - 适配不同屏幕尺寸 -- ✅ **自定义配置** - 丰富的配置选项 - -## 安装使用 - -### 1. 引入组件 - -在需要使用AI客服浮动按钮的页面中引入组件: - -```json -// 页面配置文件 pages/xxx/xxx.json -{ - "usingComponents": { - "ai-chat-float": "@/components/ai-chat-float/ai-chat-float" - } -} -``` - -### 2. 在页面中使用 - -```vue - - - - -``` - -## 组件属性 - -| 属性名 | 类型 | 默认值 | 说明 | -|--------|------|--------|------| -| position | String | 'bottom-right' | 按钮位置,可选值:'bottom-right', 'bottom-left', 'top-right', 'top-left' | -| offset | Object | { bottom: '100rpx', right: '40rpx', top: '100rpx', left: '40rpx' } | 按钮距离边缘的距离 | -| userAvatar | String | '/static/images/default-avatar.png' | 用户头像 | -| aiAvatar | String | '/static/images/ai-avatar.png' | AI头像 | -| initialMessages | Array | [] | 初始聊天消息 | -| showFloatButton | Boolean | true | 是否显示浮动按钮 | -| autoOpen | Boolean | false | 是否自动打开聊天窗口 | - -## 事件监听 - -| 事件名 | 参数 | 说明 | -|--------|------|------| -| chat-open | - | 聊天窗口打开事件 | -| chat-close | - | 聊天窗口关闭事件 | -| message-sent | message | 用户发送消息事件 | -| ai-response | message | AI回复消息事件 | -| unread-update | count | 未读消息数量更新事件 | -| history-loaded | messages | 历史消息加载完成事件 | -| file-preview | message | 文件预览事件 | -| audio-play | message | 音频播放事件 | -| video-play | message | 视频播放事件 | -| link-open | message | 链接打开事件 | -| product-view | message | 商品查看事件 | -| action-click | {action, message} | 操作按钮点击事件 | -| input-change | value | 输入内容变化事件 | - -## 方法调用 - -通过组件引用可以调用以下方法: - -```javascript -// 获取组件引用 -const aiChatFloat = this.$refs.aiChatFloat - -// 打开聊天窗口 -aiChatFloat.openChat() - -// 关闭聊天窗口 -aiChatFloat.closeChat() - -// 添加消息 -aiChatFloat.addMessage({ - role: 'ai', - type: 'text', - content: '这是一条新消息', - read: false -}) - -// 清空聊天记录 -aiChatFloat.clearMessages() - -// 标记所有消息为已读 -aiChatFloat.markAllAsRead() -``` - -## 配置示例 - -### 基本配置 - -```vue - -``` - -### 自定义位置 - -```vue - -``` - -### 自定义头像 - -```vue - -``` - -### 初始消息 - -```vue - -``` - -## 样式定制 - -组件支持通过CSS变量进行样式定制: - -```css -/* 自定义主题色 */ -.ai-float-button { - --primary-color: #ff4544; - --primary-gradient: linear-gradient(135deg, #ff4544, #ff6b6b); -} - -/* 自定义尺寸 */ -.ai-float-button { - --button-size: 120rpx; - --icon-size: 48rpx; -} -``` - -## 注意事项 - -1. **依赖组件**:本组件依赖 `ai-chat-message` 组件,请确保该组件已正确安装 -2. **图标字体**:组件使用了 iconfont 图标,请确保项目中已引入相应的图标字体 -3. **响应式设计**:组件已适配移动端和PC端,但在特殊场景下可能需要额外调整 -4. **性能优化**:在大量消息时建议启用消息数量限制 - -## 演示页面 - -访问 `/pages/ai-chat-float/index` 查看完整的演示效果,包含所有配置选项的实时预览。 - -## 更新日志 - -### v1.0.0 (2024-11-03) -- ✨ 初始版本发布 -- ✨ 支持浮动按钮和聊天弹窗 -- ✨ 支持多种消息类型 -- ✨ 支持流式对话 -- ✨ 支持全屏模式 -- ✨ 支持未读消息提示 - -## 技术支持 - -如有问题或建议,请联系开发团队。 \ No newline at end of file diff --git a/components/ai-chat-float/ai-chat-float.json b/components/ai-chat-float/ai-chat-float.json deleted file mode 100644 index ceb093a..0000000 --- a/components/ai-chat-float/ai-chat-float.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "component": true, - "usingComponents": { - "ai-chat-message": "../ai-chat-message/ai-chat-message" - } -} \ No newline at end of file diff --git a/components/ai-chat-float/ai-chat-float.vue b/components/ai-chat-float/ai-chat-float.vue deleted file mode 100644 index 353575f..0000000 --- a/components/ai-chat-float/ai-chat-float.vue +++ /dev/null @@ -1,546 +0,0 @@ - - - - - \ No newline at end of file diff --git a/components/ai-chat-popup/README.md b/components/ai-chat-popup/README.md deleted file mode 100644 index 20c2fba..0000000 --- a/components/ai-chat-popup/README.md +++ /dev/null @@ -1,173 +0,0 @@ -# AI智能客服弹窗集成说明 - -## 概述 - -本方案将AI智能客服弹窗功能集成到现有的浮动导航组件 `hover-nav.vue` 中,实现了对项目影响最小的集成方案。 - -## 集成文件 - -### 1. 新增组件 -- `components/ai-chat-popup/ai-chat-popup.vue` - AI聊天弹窗主组件 -- `components/ai-chat-popup/ai-chat-popup.json` - 组件配置文件 - -### 2. 修改文件 -- `components/hover-nav/hover-nav.vue` - 集成AI客服按钮和弹窗 - -## 功能特性 - -### ✅ 已实现功能 -1. **浮动AI客服按钮** - 在现有浮动导航中添加AI客服按钮 -2. **智能弹窗** - 点击按钮弹出AI聊天界面 -3. **未读消息提示** - 显示未读消息数量小红点 -4. **全屏模式** - 支持全屏/窗口模式切换 -5. **响应式设计** - 适配不同屏幕尺寸 -6. **复用现有组件** - 基于现有的 `ai-chat-message` 组件 - -### 🔧 技术特点 -1. **最小化影响** - 只修改现有组件,不改变项目结构 -2. **模块化设计** - 弹窗组件独立,可复用 -3. **事件驱动** - 完整的生命周期事件 -4. **性能优化** - 按需加载,避免资源浪费 - -## 使用方法 - -### 1. 自动集成 -AI客服功能已经自动集成到 `hover-nav` 组件中,无需额外配置。 - -### 2. 自定义配置 -如果需要自定义AI客服功能,可以修改以下配置: - -```vue - - - - - {{ aiUnreadCount > 99 ? '99+' : aiUnreadCount }} - - - - - -``` - -### 3. 事件监听 -可以监听以下事件来处理业务逻辑: - -```javascript -// 未读消息更新 -onUnreadUpdate(count) { - this.aiUnreadCount = count - // 可以在这里添加未读消息处理逻辑 -}, - -// AI消息发送事件 -onAIMessageSent(message) { - console.log('AI消息发送:', message) - // 可以在这里添加消息发送后的处理逻辑 -}, - -// AI回复事件 -onAIResponse(message) { - console.log('AI回复:', message) - // 可以在这里添加AI回复后的处理逻辑 -} -``` - -## 配置选项 - -### AI聊天弹窗组件参数 - -| 参数 | 类型 | 默认值 | 说明 | -|------|------|--------|------| -| show | Boolean | false | 是否显示弹窗 | -| userAvatar | String | '/static/images/default-avatar.png' | 用户头像 | -| aiAvatar | String | '/static/images/ai-avatar.png' | AI头像 | - -### 事件 - -| 事件名 | 参数 | 说明 | -|--------|------|------| -| popup-open | - | 弹窗打开事件 | -| popup-close | - | 弹窗关闭事件 | -| unread-update | count | 未读消息数量更新 | -| message-sent | message | 消息发送事件 | -| ai-response | message | AI回复事件 | - -## 样式定制 - -### 1. AI客服按钮样式 -```css -.btn-item { - /* 按钮基础样式 */ - position: relative; -} - -.unread-badge { - /* 未读消息小红点样式 */ - position: absolute; - top: -5rpx; - right: -5rpx; - background-color: #ff4544; - color: white; - border-radius: 20rpx; - min-width: 30rpx; - height: 30rpx; - font-size: 20rpx; - line-height: 30rpx; - text-align: center; - padding: 0 8rpx; - z-index: 1; - box-shadow: 0 2rpx 10rpx rgba(255, 69, 68, 0.3); -} -``` - -### 2. 弹窗样式 -弹窗样式在 `ai-chat-popup.vue` 中定义,可以根据需要自定义。 - -## 注意事项 - -1. **图标资源** - 需要确保AI图标文件存在,默认路径为 `/static/images/ai-icon.png` -2. **组件依赖** - AI聊天弹窗依赖于现有的 `ai-chat-message` 组件 -3. **z-index** - 弹窗的z-index设置为1000,确保在其他元素之上 -4. **响应式适配** - 弹窗已经做了移动端适配,但可能需要根据具体项目调整 - -## 兼容性 - -- ✅ H5 -- ✅ 微信小程序 -- ✅ APP -- ✅ 其他小程序平台 - -## 后续优化建议 - -1. **图标优化** - 可以添加更精美的AI图标 -2. **动画效果** - 可以添加更流畅的打开/关闭动画 -3. **主题定制** - 支持暗色主题等 -4. **多语言** - 支持国际化 -5. **性能优化** - 懒加载等优化措施 - -## 问题排查 - -如果AI客服功能无法正常工作,请检查: - -1. 组件路径是否正确 -2. 依赖的 `ai-chat-message` 组件是否存在 -3. 图标资源路径是否正确 -4. 控制台是否有错误信息 - -## 总结 - -本集成方案成功将AI智能客服功能添加到现有的浮动导航组件中,实现了: - -- ✅ 对项目影响最小 -- ✅ 功能完整可用 -- ✅ 代码结构清晰 -- ✅ 易于维护扩展 - -现在您可以在任何使用 `hover-nav` 组件的页面中享受AI智能客服功能! \ No newline at end of file diff --git a/components/ai-chat-popup/ai-chat-popup.json b/components/ai-chat-popup/ai-chat-popup.json deleted file mode 100644 index ceb093a..0000000 --- a/components/ai-chat-popup/ai-chat-popup.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "component": true, - "usingComponents": { - "ai-chat-message": "../ai-chat-message/ai-chat-message" - } -} \ No newline at end of file diff --git a/components/ai-chat-popup/ai-chat-popup.vue b/components/ai-chat-popup/ai-chat-popup.vue deleted file mode 100644 index a5c713a..0000000 --- a/components/ai-chat-popup/ai-chat-popup.vue +++ /dev/null @@ -1,310 +0,0 @@ - - - - - \ No newline at end of file