# 开发者指南 本文档面向首次参与 JChargePointProtocol 开发的同学,提供一套可执行的本地开发流程。 ## 1. 环境准备 请先安装以下工具并确保命令可用: - JDK 21 - Maven 3.9+ - Node.js 18+(建议 LTS) - Docker / Docker Compose 建议验证: ```bash java -version mvn -version node -v docker -v ``` ## 2. 获取代码 ```bash git clone https://github.com/sanbing-java/JChargePointProtocol.git cd JChargePointProtocol ``` ## 3. 启动依赖服务 优先使用项目脚本: ```bash bash docker/start.sh ``` 若需手动启动,可按环境组合对应的 compose 文件(PostgreSQL/Redis/Kafka)。 ## 4. 后端构建与运行 ### 4.1 全量构建(推荐) ```bash mvn clean license:format install ``` ### 4.2 启动应用服务 ```bash mvn spring-boot:run -pl jcpp-app-bootstrap ``` ### 4.3 启动协议服务(微服务模式) ```bash mvn spring-boot:run -pl jcpp-protocol-bootstrap ``` ## 5. 前端构建与运行 ```bash cd jcpp-web-ui npm install npm run dev ``` 默认情况下通过前端开发服务器访问页面,后端接口走代理配置。 ## 6. 常用开发任务 ### 6.1 新增协议实现 1. 在对应 `jcpp-protocol-*` 模块新增协议 bootstrap 与命令处理器 2. 对齐上行解析、下行编码、会话管理 3. 增加必要测试与文档(`核心模块详解/协议实现模块/`) ### 6.2 新增业务接口 1. 在 `jcpp-app` 中补充 Service 与 Controller 2. 同步更新 `API接口参考/` 3. 联调协议层下行/上行链路 ### 6.3 数据模型变更 1. 更新实体、Mapper 与 SQL 迁移 2. 同步更新 `数据模型与数据库设计.md` 3. 执行回归验证 ## 7. 调试建议 - 优先看协议层连接与会话日志,再看业务层处理日志 - 问题定位按链路走:连接建立 -> 报文解析 -> 消息转发 -> 业务处理 -> 回包 - 关注缓存与会话一致性,避免“会话存在但通道失效”类问题 ## 8. 提交前检查清单 - 编译通过:`mvn clean license:format install` - 核心链路自测通过(至少覆盖一条上行与一条下行) - 文档已同步(接口/架构/运维任一变更都需更新) - 无明显日志污染与调试代码残留 ## 9. 相关文档 - `系统概述.md` - `架构设计/架构设计.md` - `核心模块详解/核心模块详解.md` - `监控与运维.md`