opt:readme优化
This commit is contained in:
@@ -430,42 +430,9 @@ log.error("创建设备失败, id: {}, error: {}", id, e.getMessage(), e);
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 10. 测试规范
|
## 10. 部署与发布
|
||||||
|
|
||||||
### 10.1 单元测试
|
### 10.1 配置管理
|
||||||
|
|
||||||
```java
|
|
||||||
@SpringBootTest
|
|
||||||
class DeviceServiceTest {
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private IDeviceService deviceService;
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void testCreate() {
|
|
||||||
DeviceDto dto = new DeviceDto();
|
|
||||||
dto.setName("测试设备");
|
|
||||||
dto.setCode("TEST001");
|
|
||||||
|
|
||||||
deviceService.create(dto);
|
|
||||||
|
|
||||||
DeviceDto result = deviceService.getById(1L);
|
|
||||||
assertEquals("测试设备", result.getName());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### 10.2 测试覆盖率
|
|
||||||
|
|
||||||
- 核心业务逻辑覆盖率 ≥ 80%
|
|
||||||
- 工具类覆盖率 ≥ 90%
|
|
||||||
- 新增代码必须有对应的单元测试
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 11. 部署与发布
|
|
||||||
|
|
||||||
### 11.1 配置管理
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 开发环境
|
# 开发环境
|
||||||
@@ -474,64 +441,3 @@ java -jar nlsso-server.jar --spring.profiles.active=dev
|
|||||||
# 生产环境
|
# 生产环境
|
||||||
java -jar nlsso-server.jar --spring.profiles.active=prod
|
java -jar nlsso-server.jar --spring.profiles.active=prod
|
||||||
```
|
```
|
||||||
|
|
||||||
### 11.2 启动脚本
|
|
||||||
|
|
||||||
```bash
|
|
||||||
#!/bin/bash
|
|
||||||
APP_NAME=nlsso-server
|
|
||||||
APP_DIR=/opt/app
|
|
||||||
|
|
||||||
cd $APP_DIR
|
|
||||||
|
|
||||||
# 停止旧进程
|
|
||||||
PID=$(ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}')
|
|
||||||
if [ -n "$PID" ]; then
|
|
||||||
kill -9 $PID
|
|
||||||
sleep 2
|
|
||||||
fi
|
|
||||||
|
|
||||||
# 启动新进程
|
|
||||||
nohup java -jar $APP_DIR/$APP_NAME.jar --spring.profiles.active=prod > /dev/null 2>&1 &
|
|
||||||
|
|
||||||
echo "服务已启动"
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 12. 常见问题
|
|
||||||
|
|
||||||
### 12.1 依赖冲突
|
|
||||||
|
|
||||||
问题:启动时报 `NoSuchMethodError`
|
|
||||||
|
|
||||||
解决方案:检查 `pom.xml` 中的依赖版本,使用 `mvn dependency:tree` 分析依赖树,排除冲突的依赖。
|
|
||||||
|
|
||||||
### 12.2 数据库连接失败
|
|
||||||
|
|
||||||
问题:无法连接数据库
|
|
||||||
|
|
||||||
解决方案:
|
|
||||||
1. 检查数据库服务是否启动
|
|
||||||
2. 检查 `application.yml` 中的数据库配置
|
|
||||||
3. 检查数据库用户名和密码
|
|
||||||
|
|
||||||
### 12.3 Redis 连接失败
|
|
||||||
|
|
||||||
问题:缓存操作失败
|
|
||||||
|
|
||||||
解决方案:
|
|
||||||
1. 检查 Redis 服务是否启动
|
|
||||||
2. 检查 Redis 配置(主机、端口、密码)
|
|
||||||
3. 检查防火墙规则
|
|
||||||
|
|
||||||
### 12.4 权限不足
|
|
||||||
|
|
||||||
问题:访问接口时返回 403
|
|
||||||
|
|
||||||
解决方案:
|
|
||||||
1. 检查用户是否登录
|
|
||||||
2. 检查用户是否具有相应权限
|
|
||||||
3. 检查权限配置是否正确
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|||||||
@@ -174,29 +174,3 @@ java -jar target/nlsso-server.jar
|
|||||||
| `/api/task/{id}` | GET | 获取任务详情 |
|
| `/api/task/{id}` | GET | 获取任务详情 |
|
||||||
| `/api/task` | POST | 创建任务 |
|
| `/api/task` | POST | 创建任务 |
|
||||||
| `/api/task/{id}/execute` | POST | 执行任务 |
|
| `/api/task/{id}/execute` | POST | 执行任务 |
|
||||||
|
|
||||||
## 安全说明
|
|
||||||
|
|
||||||
1. **密码加密**:采用 RSA 非对称加密传输,MD5 加盐存储
|
|
||||||
2. **Token 管理**:基于 Sa-Token 的会话管理,支持多端登录控制
|
|
||||||
3. **权限控制**:基于注解的细粒度权限控制
|
|
||||||
4. **请求限流**:支持接口限流配置
|
|
||||||
5. **SQL 注入防护**:使用 MyBatis Plus 参数化查询
|
|
||||||
|
|
||||||
## 开发规范
|
|
||||||
|
|
||||||
### 命名规范
|
|
||||||
- 包名:小写字母,使用点分隔
|
|
||||||
- 类名:大驼峰命名法(PascalCase)
|
|
||||||
- 方法名:小驼峰命名法(camelCase)
|
|
||||||
- 变量名:小驼峰命名法(camelCase)
|
|
||||||
|
|
||||||
### 代码规范
|
|
||||||
- 遵循阿里巴巴 Java 开发手册
|
|
||||||
- 使用 Lombok 简化代码
|
|
||||||
- 异常处理统一使用全局异常处理器
|
|
||||||
- 日志记录使用 SLF4J
|
|
||||||
|
|
||||||
## 许可证
|
|
||||||
|
|
||||||
Apache License 2.0
|
|
||||||
|
|||||||
@@ -91,16 +91,6 @@ public void autoInitial() throws Exception {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
### 2.2 过滤规则
|
|
||||||
|
|
||||||
| 检查项 | 条件 | 处理方式 |
|
|
||||||
|--------|------|----------|
|
|
||||||
| **code为空** | `StringUtils.isEmpty(code)` | 跳过,记录消息 |
|
|
||||||
| **code重复** | `partialJudg.contains(code)` | 跳过,记录消息 |
|
|
||||||
| **在禁止列表** | `StartConfig.AutoRun_Ban.contains(code)` | 跳过,记录消息 |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 3. AbstractAutoRunnable 抽象基类
|
## 3. AbstractAutoRunnable 抽象基类
|
||||||
|
|
||||||
### 3.1 类结构
|
### 3.1 类结构
|
||||||
@@ -409,7 +399,3 @@ public enum ThreadUsedStatusEnum {
|
|||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**文档版本**: v1.0
|
|
||||||
**创建日期**: 2026年4月
|
|
||||||
**适用模块**: NL Admin System - 自动线程模块
|
|
||||||
|
|||||||
@@ -503,7 +503,3 @@ if (opcPlc == null) {
|
|||||||
3. 在 `DeviceDriverDefination` 中注册驱动
|
3. 在 `DeviceDriverDefination` 中注册驱动
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**文档版本**: v1.0
|
|
||||||
**创建日期**: 2026年4月
|
|
||||||
**适用模块**: NL Admin System - 设备管理模块
|
|
||||||
|
|||||||
@@ -328,7 +328,3 @@ OPC_SERVER.PLC.DEVICE.POINT
|
|||||||
| `03` | 输出点位 | PLC输出信号(如控制指令) |
|
| `03` | 输出点位 | PLC输出信号(如控制指令) |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**文档版本**: v1.0
|
|
||||||
**创建日期**: 2026年4月
|
|
||||||
**适用模块**: NL Admin System - 设备协议模块
|
|
||||||
|
|||||||
Reference in New Issue
Block a user