# Project Context ## Purpose BLS Project Console是一个前后端分离的Node.js项目,用于从Redis队列读取日志记录并展示在控制台界面中,同时提供发送控制台指令到Redis队列的功能,以便其他程序读取和执行。 ## Tech Stack - **前端**: Vue 3.x, Vue Router, Axios, CSS3 - **后端**: Node.js, Express, Redis客户端, CORS - **构建工具**: Vite - **开发工具**: ESLint, Prettier, nodemon ## Project Conventions ### Code Style - **JavaScript**: 使用ES模块语法(import/export) - **Vue**: 使用Composition API - **命名规范**: - 文件名: 小驼峰命名(如: logView.vue) - 组件名: 大驼峰命名(如: LogView) - 变量名: 小驼峰命名 - 常量名: 大写蛇形命名(如: REDIS_QUEUE_NAME) - **代码格式化**: 使用Prettier自动格式化 - **代码质量**: 使用ESLint进行静态代码检查 ### Architecture Patterns - **前后端分离**: 前端和后端独立部署,通过RESTful API通信 - **MVC架构**: 后端使用Model-View-Controller模式 - **组件化开发**: 前端采用Vue组件化开发 - **分层设计**: - 前端: 视图层、路由层、服务层 - 后端: 路由层、服务层、数据访问层 ### Testing Strategy - **单元测试**: 对核心功能模块进行单元测试 - **集成测试**: 测试API接口和Redis交互 - **端到端测试**: 测试完整的用户流程 - **测试框架**: Jest (后端), Vitest (前端) ### Git Workflow - **分支策略**: Git Flow - main: 生产分支 - develop: 开发分支 - feature/: 功能分支 - hotfix/: 热修复分支 - **提交规范**: 使用Conventional Commits - feat: 新功能 - fix: 修复bug - docs: 文档变更 - style: 代码格式变更 - refactor: 代码重构 - test: 测试相关变更 - chore: 构建或依赖更新 ## Domain Context - **Redis队列**: 用于存储日志记录和控制台指令的消息队列 - **日志记录**: 其他程序写入Redis队列的日志信息,包含时间戳、日志级别和消息内容 - **控制台指令**: 从控制台发送到Redis队列的命令,供其他程序读取和执行 - **实时更新**: 控制台需要实时从Redis队列获取新的日志记录 ## Important Constraints - **性能要求**: 控制台需要能够处理大量日志记录的实时更新 - **可靠性**: Redis连接需要具备重连机制,确保系统稳定运行 - **安全性**: API接口需要适当的访问控制 - **可扩展性**: 系统设计应支持未来功能扩展 ## External Dependencies - **Redis**: 用于存储日志记录和控制台指令的消息队列服务 - 版本: 6.x+ - 连接方式: Redis客户端(redis@^4.6.10) - 主要用途: 日志队列和指令队列