c77352877d0576d3d2bb3d9675948277a6bc17f0
主要更新: 1. 统一所有微服务端口配置(19000-19008) 2. 为所有服务创建本地/测试/生产三套环境配置 3. 配置Nacos认证密码(本地:Peanut2817*#, 测试/生产:EmotionMuseum2025) 4. 优化网关路由配置,支持负载均衡和WebSocket 5. 新增emotion-websocket模块,支持实时聊天 6. 前端集成WebSocket,替代HTTP轮询 7. 添加配置验证和管理工具脚本 技术特性: - 完整的环境隔离和服务发现 - WebSocket实时通信支持 - 负载均衡路由配置 - 跨域和安全配置 - 自动重连和心跳检测
情绪博物馆 (Emotion Museum)
一个基于Spring Cloud Alibaba微服务架构的情绪管理和AI对话平台。
项目概述
情绪博物馆是一个创新的情绪健康管理平台,通过AI对话、情绪记录、数据分析等功能,帮助用户更好地理解和管理自己的情绪状态。
🚀 快速部署
一键部署(推荐)
# 克隆项目
git clone <repository-url>
cd EmotionMuseum
# 执行一键部署到阿里云服务器
./deploy-final.sh all
分步部署
# 1. 构建项目
./deploy-final.sh build
# 2. 配置服务器环境
./deploy-final.sh env
# 3. 部署数据库和中间件
./deploy-final.sh mysql
./deploy-final.sh redis
./deploy-final.sh nacos
# 4. 部署应用
./deploy-final.sh upload
./deploy-final.sh import-db
./deploy-final.sh deploy
# 5. 配置Web服务器
./deploy-final.sh nginx
# 6. 健康检查
./deploy-final.sh health
服务管理
# 查看服务状态
./deploy-final.sh status
# 启动/停止/重启服务
./deploy-final.sh start
./deploy-final.sh stop
./deploy-final.sh restart
# 查看服务日志
./deploy-final.sh logs gateway
./deploy-final.sh logs ai
./deploy-final.sh logs user
📋 部署后访问地址
- 前端应用: http://47.111.10.27/emotion-museum/
- API网关: http://47.111.10.27:9000
- Nacos控制台: http://47.111.10.27:8848/nacos
🏗️ 技术架构
后端技术栈
- 框架: Spring Boot 3.0.2 + Spring Cloud Alibaba
- 数据库: MySQL 8.0
- 缓存: Redis 7.0
- 注册中心: Nacos 2.2.0
- 网关: Spring Cloud Gateway
- ORM: MyBatis Plus
- AI集成: Spring AI + Coze平台
前端技术栈
- 框架: Vue 3 + Vite
- UI组件: Ant Design Vue
- 状态管理: Pinia
- 路由: Vue Router
- HTTP客户端: Axios
📁 项目结构
EmotionMuseum/
├── backend/ # 后端微服务
│ ├── emotion-common/ # 公共模块
│ ├── emotion-gateway/ # API网关
│ ├── emotion-user/ # 用户服务
│ ├── emotion-ai/ # AI对话服务
│ ├── emotion-record/ # 情绪记录服务
│ ├── emotion-growth/ # 成长分析服务
│ ├── emotion-explore/ # 地图探索服务
│ ├── emotion-reward/ # 奖励系统服务
│ └── emotion-stats/ # 统计分析服务
├── web/ # 前端应用
├── deploy-final.sh # 一键部署脚本
├── docker-compose.prod.yml # 生产环境Docker配置
├── .env.prod # 生产环境配置
├── DEPLOYMENT.md # 详细部署指南
└── README.md # 项目说明
🛠️ 本地开发
环境要求
- Java 17+
- Maven 3.6+
- Node.js 18+
- MySQL 8.0+
- Redis 7.0+
开发环境启动
- 克隆项目
git clone <repository-url>
cd EmotionMuseum
- 启动基础服务
# 使用Docker Compose启动MySQL、Redis、Nacos
docker-compose up -d
- 导入数据库
# 导入数据库结构和初始数据
mysql -u root -p < backend/mysql_emotion_museum_final.sql
- 构建并启动后端服务
cd backend
mvn clean package -DskipTests
# 启动网关
java -jar emotion-gateway/target/emotion-gateway-1.0.0.jar
# 启动用户服务
java -jar emotion-user/target/emotion-user-1.0.0.jar
# 启动AI服务
java -jar emotion-ai/target/emotion-ai-1.0.0.jar
- 启动前端应用
cd web
npm install
npm run dev
🔧 配置说明
生产环境配置
主要配置文件:
.env.prod- 生产环境变量配置web/.env.production- 前端生产环境配置backend/*/src/main/resources/application-prod.yml- 后端生产配置
关键配置项
# 服务器配置
SERVER_HOST=47.111.10.27
SERVER_USER=root
# 数据库配置
MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_DATABASE=emotion_museum
MYSQL_USERNAME=emotion
MYSQL_PASSWORD=EmotionDB2024!
# Redis配置
REDIS_HOST=localhost
REDIS_PORT=6379
# Nacos配置
NACOS_SERVER_ADDR=localhost:8848
# Coze API配置
COZE_API_TOKEN=your_token_here
🎯 核心功能
1. AI智能对话
- 基于Coze平台的智能对话
- 情绪识别和分析
- 个性化建议和指导
2. 情绪记录
- 多维度情绪数据记录
- 情绪变化趋势分析
- 情绪触发因素识别
3. 成长分析
- 个人成长轨迹追踪
- 情绪健康评估
- 目标设定和进度跟踪
4. 地图探索
- 情绪地图可视化
- 情绪热点区域分析
- 社区情绪趋势
5. 奖励系统
- 成就系统
- 积分奖励
- 等级提升
📚 API文档
用户服务 API
POST /api/user/register- 用户注册POST /api/user/login- 用户登录GET /api/user/profile- 获取用户信息
AI服务 API
POST /api/ai/chat- AI对话GET /api/ai/history- 对话历史POST /api/ai/analyze- 情绪分析
记录服务 API
POST /api/record/emotion- 记录情绪GET /api/record/list- 获取记录列表GET /api/record/stats- 统计数据
🔍 故障排除
常见问题
-
服务无法启动
# 检查服务状态 ./deploy-final.sh status # 查看日志 ./deploy-final.sh logs <service> -
数据库连接失败
# 检查MySQL容器状态 ssh root@47.111.10.27 "docker ps | grep mysql" -
前端页面无法访问
# 检查Nginx状态 ssh root@47.111.10.27 "systemctl status nginx"
日志位置
- 应用日志:
/data/logs/emotion-museum/*/app.log - Nginx日志:
/var/log/nginx/ - Docker日志:
docker logs <container-name>
🔒 安全建议
-
修改默认密码
- MySQL root密码
- 应用数据库密码
- 服务器SSH密钥
-
配置防火墙
# 只开放必要端口 firewall-cmd --permanent --add-port=80/tcp firewall-cmd --permanent --add-port=8848/tcp firewall-cmd --reload -
定期备份
# 数据库备份 docker exec emotion-mysql-prod mysqldump -uemotion -pEmotionDB2024! emotion_museum > backup.sql
📈 监控和运维
健康检查
# 执行完整健康检查
./deploy-final.sh health
性能监控
- Spring Boot Actuator端点
- JVM性能监控
- 数据库连接池监控
- Redis连接监控
🤝 贡献指南
- Fork 项目
- 创建功能分支 (
git checkout -b feature/AmazingFeature) - 提交代码 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 创建 Pull Request
提交规范
feat: 新功能
fix: 修复bug
docs: 文档更新
style: 代码格式调整
refactor: 代码重构
test: 测试相关
chore: 构建过程或辅助工具的变动
📄 许可证
本项目采用 MIT 许可证 - 详见 LICENSE 文件
📞 联系我们
- 项目主页: [GitHub Repository]
- 问题反馈: [Issues]
- 邮箱: support@emotionmuseum.com
注意: 请确保在生产环境中修改默认密码和敏感配置信息。详细部署说明请参考 DEPLOYMENT.md。
Description
Languages
Java
49.9%
Vue
23.4%
JavaScript
8.7%
TypeScript
7.2%
Python
6.6%
Other
4.1%