feat: 重构项目心跳为Redis LIST并更新相关文档

重构项目心跳数据结构为Redis LIST,更新相关文档和OpenSpec规范。主要变更包括:
- 将项目心跳从STRING改为LIST类型
- 更新后端服务以支持LIST操作
- 同步更新文档和OpenSpec规范
- 统一后端端口为3001
- 添加部署指南和Windows部署文档

修复前端API请求路径,移除硬编码的localhost地址。添加PM2和Nginx配置文件模板,完善部署流程文档。更新Redis集成协议文档,明确LIST数据结构和外部项目对接规范。
This commit is contained in:
2026-01-17 18:36:52 +08:00
parent a8faa7dcaa
commit 7ac3949dfa
40 changed files with 4179 additions and 323 deletions

View File

@@ -39,7 +39,7 @@ BLS Project Console是一个前后端分离的Node.js项目用于从Redis队
- **单元测试**: 对核心功能模块进行单元测试
- **集成测试**: 测试API接口和Redis交互
- **端到端测试**: 测试完整的用户流程
- **测试框架**: Jest (后端), Vitest (前端)
- **测试框架**: Vitest + Supertest
### Git Workflow
@@ -59,10 +59,10 @@ BLS Project Console是一个前后端分离的Node.js项目用于从Redis队
## Domain Context
- **Redis队列**: 用于存储日志记录和控制台指令的消息队列
- **日志记录**: 其他程序写入Redis队列的日志信息包含时间戳、日志级别和消息内容
- **控制台指令**: 从控制台发送到Redis队列的命令供其他程序读取和执行
- **实时更新**: 控制台需要实时从Redis队列获取新的日志记录
- **Redis 数据结构**: DB15 中使用 `项目心跳`LIST`${projectName}_项目控制台`LIST
- **日志记录**: 外部程序向 `${projectName}_项目控制台` 追加日志 JSON控制台轮询读取并展示
- **项目心跳**: 外部程序向 `项目心跳` 追加心跳 JSON控制台按 projectName 去重并判定在线状态
- **控制台指令**: 控制台通过 HTTP 调用目标项目 API由心跳中的 `apiBaseUrl` 提供)
## Important Constraints
@@ -77,4 +77,4 @@ BLS Project Console是一个前后端分离的Node.js项目用于从Redis队
- **Redis**: 用于存储日志记录和控制台指令的消息队列服务
- 版本: 6.x+
- 连接方式: Redis客户端(redis@^4.6.10)
- 主要用途: 日志队列和指令队列
- 主要用途: 心跳列表与日志队列