新功能: - 创建AI聊天助手组件(AIChatWidget) - 支持文字+图片多模态对话 - 集成Gemini AI API - 支持图片编辑和内容生成 - 实时对话历史管理 - 优雅的UI设计,支持黑夜模式 技术实现: - 后端API代理Gemini API(/api/ai-chat) - 支持最多5张图片上传 - 流式响应处理 - 对话历史管理 - Base64图片处理 配置: - 在.env中添加Gemini API配置 - GEMINI_API_KEY - GEMINI_API_BASE_URL - GEMINI_MODEL 替换原弹幕功能,提供更强大的AI助手体验!
5.0 KiB
Executable File
5.0 KiB
Executable File
关键词分析器云存储功能
这个功能为关键词分析器添加了云存储支持,允许管理员上传品类大词模板到云存储,用户可以直接点击使用这些模板进行自动拆词。
功能特性
管理员功能
- 🔐 权限管理:只有管理员用户可以上传和删除模板
- 📤 模板上传:支持上传Excel格式的品类大词模板文件
- 🏷️ 品类标识:每个模板都有唯一的品类大词名称
- 📝 描述信息:可以为每个模板添加描述信息
- 🗑️ 删除管理:管理员可以删除已上传的模板
- ♻️ 覆盖更新:支持覆盖已存在的同名模板
用户功能
- 📋 模板列表:查看所有可用的品类大词模板
- 📊 模板信息:显示上传日期、文件大小、描述等信息
- 🎯 一键使用:点击模板直接加载并执行自动拆词
- 🔄 自动处理:模板下载后自动设置到文件输入框并执行拆词
技术架构
前端
- cloud-storage-manager.js:云存储管理模块
- 自动生成的UI界面,包含管理员上传区域和用户模板列表
- 响应式设计,支持移动端使用
后端
- routes/cloud-storage.js:云存储API路由
- routes/user.js:用户管理API路由
- server.js:Express服务器配置
存储
- 使用Minio S3兼容存储
- 文件存储在
category-templates/目录下 - 文件元数据包含品类名称、描述、上传者等信息
安装和配置
1. 安装依赖
npm install
2. 环境配置
在.env文件中配置Minio S3信息:
# Minio S3 存储桶配置
MINIO_S3_ENDPOINT=http://s3.1080p.hk
MINIO_S3_BUCKET=jsxiangche
MINIO_S3_ACCESS_KEY=AEvT1p0wSNjow3Asu9NV
MINIO_S3_SECRET_KEY=u8nzFl1S6dNoT5PQaQhkHz8Du6iX0hVnPswtvHhs
MINIO_S3_REGION=us-east-1
# Session密钥
SESSION_SECRET=your-secret-key-change-in-production
3. 启动服务器
# 开发模式
npm run dev
# 生产模式
npm start
4. 访问应用
打开浏览器访问:http://localhost:3000/keyword-analyzer
API接口
用户管理API
检查管理员权限
GET /api/user/check-admin
获取用户信息
GET /api/user/profile
临时登录(测试用)
POST /api/auth/temp-login
{
"username": "admin",
"isAdmin": true
}
云存储API
获取模板列表
GET /api/cloud-storage/list
上传模板(需要管理员权限)
POST /api/cloud-storage/upload
Content-Type: multipart/form-data
categoryName: 品类名称
templateFile: Excel文件
description: 描述信息(可选)
下载模板
GET /api/cloud-storage/download?categoryName=品类名称
删除模板(需要管理员权限)
DELETE /api/cloud-storage/delete
{
"categoryName": "品类名称"
}
使用流程
管理员上传模板
- 登录系统并获得管理员权限
- 在"品类模板库"区域填写品类名称
- 选择Excel格式的模板文件
- 添加描述信息(可选)
- 点击"上传模板"
用户使用模板
- 访问关键词分析器页面
- 在"品类模板库"区域查看可用模板
- 点击模板的"使用模板"按钮
- 系统自动下载模板并执行拆词分析
文件格式要求
Excel模板格式
模板文件应包含以下列:
- 关键词:必填,包含要分析的关键词
- 搜索人气:可选,关键词的搜索热度数据
- 支付转化率:可选,关键词的转化率数据
示例模板结构
关键词 | 搜索人气 | 支付转化率
沙发 | 15000 | 3.5%
布艺沙发 | 8000 | 2.8%
客厅沙发 | 12000 | 4.2%
安全特性
权限控制
- 只有登录用户可以查看和下载模板
- 只有管理员可以上传和删除模板
- Session管理确保用户状态安全
文件安全
- 限制文件类型为Excel格式
- 文件大小限制10MB
- 文件名安全处理,防止路径遍历攻击
数据安全
- 所有文件存储在云端,本地不留存
- 支持文件覆盖更新
- 完整的错误处理和日志记录
故障排除
常见问题
1. 上传失败
- 检查文件格式是否为Excel (.xlsx/.xls)
- 确认文件大小不超过10MB
- 验证管理员权限是否正确
2. 模板列表为空
- 检查Minio S3连接配置
- 确认存储桶和权限设置
- 查看服务器日志错误信息
3. 下载失败
- 检查网络连接状态
- 验证模板文件是否存在
- 确认用户登录状态
日志查看
服务器会输出详细的日志信息:
# 启动服务器时查看日志
npm run dev
开发扩展
添加新功能
- 在
public/js/cloud-storage-manager.js中添加前端功能 - 在
routes/cloud-storage.js中添加后端API - 更新UI界面和样式
自定义存储
可以通过修改routes/cloud-storage.js来支持其他云存储服务:
- AWS S3
- 阿里云OSS
- 腾讯云COS
- 其他S3兼容服务
许可证
MIT License - 详见LICENSE文件