gongxiangp2/yedir/README_cloud_storage.md
chenpei d0dc94e36d feat: 将弹幕功能替换为AI聊天助手
新功能:
- 创建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助手体验!
2025-10-27 17:45:37 +08:00

5.0 KiB
Executable File
Raw Blame History

关键词分析器云存储功能

这个功能为关键词分析器添加了云存储支持,允许管理员上传品类大词模板到云存储,用户可以直接点击使用这些模板进行自动拆词。

功能特性

管理员功能

  • 🔐 权限管理:只有管理员用户可以上传和删除模板
  • 📤 模板上传:支持上传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": "品类名称"
}

使用流程

管理员上传模板

  1. 登录系统并获得管理员权限
  2. 在"品类模板库"区域填写品类名称
  3. 选择Excel格式的模板文件
  4. 添加描述信息(可选)
  5. 点击"上传模板"

用户使用模板

  1. 访问关键词分析器页面
  2. 在"品类模板库"区域查看可用模板
  3. 点击模板的"使用模板"按钮
  4. 系统自动下载模板并执行拆词分析

文件格式要求

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

开发扩展

添加新功能

  1. 在public/js/cloud-storage-manager.js中添加前端功能
  2. 在routes/cloud-storage.js中添加后端API
  3. 更新UI界面和样式

自定义存储

可以通过修改routes/cloud-storage.js来支持其他云存储服务:

  • AWS S3
  • 阿里云OSS
  • 腾讯云COS
  • 其他S3兼容服务

许可证

MIT License - 详见LICENSE文件