diff --git a/src/main/java/com/mini/capi/config/TokenBean.java b/src/main/java/com/mini/capi/config/TokenBean.java new file mode 100644 index 0000000..dc32453 --- /dev/null +++ b/src/main/java/com/mini/capi/config/TokenBean.java @@ -0,0 +1,15 @@ +package com.mini.capi.config; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +@Component +public class TokenBean { + + @Value("${security.default-token}") + private String defaultToken; + + public boolean isValidToken(String token) { + return !defaultToken.equals(token); + } +} diff --git a/src/main/java/com/mini/capi/sys/Api/apiController.java b/src/main/java/com/mini/capi/sys/Api/apiController.java index 78091a0..44fdc5f 100644 --- a/src/main/java/com/mini/capi/sys/Api/apiController.java +++ b/src/main/java/com/mini/capi/sys/Api/apiController.java @@ -1,24 +1,22 @@ package com.mini.capi.sys.Api; +import com.mini.capi.config.TokenBean; import com.mini.capi.model.ApiResult; -import com.mini.capi.model.TabResult; -import com.mini.capi.sys.domain.TableInfo; -import com.mini.capi.sys.service.DataService; import com.mini.capi.sys.service.DbService; import com.mini.capi.sys.service.DockerService; import com.mini.capi.sys.service.HostService; -import com.mini.capi.utils.vToken; import jakarta.annotation.Resource; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.List; @RestController @RequestMapping("/Sys/api") public class apiController { + @Resource + private TokenBean tokenBean; @Resource private DbService dbService; @@ -26,53 +24,16 @@ public class apiController { @Resource private HostService hostService; - @Resource - private DataService dataService; - @Resource private DockerService dockerService; - /** - * 获取表的结构和字段 - */ - @GetMapping("/getTableDetail") - public ApiResult getTableDetail(String token, String taskId) { - if (vToken.isValidToken(token)) { - return ApiResult.error(401, "无效的访问令牌"); - } - return dataService.getTableDetail(taskId); - } - - - /** - * 获取MySQL的当前连接下的所有数据表 - */ - @GetMapping("/getSourceTables") - public ApiResult> listSourceTables(String token, String dbId) { - // 1. 验证token有效性 - if (vToken.isValidToken(token)) { - return ApiResult.error(401, "无效的访问令牌"); - } - return dbService.listSourceTables(dbId); - } - - - @GetMapping("/getInfo") - public ApiResult> getApiInfo(String token) { - if (vToken.isValidToken(token)) { - return ApiResult.error(401, "无效的访问令牌"); - } - return hostService.getApiInfo(); - } - - /** * 获取容器列表 */ - @GetMapping("/getDockerInfo") + @GetMapping("/DockerInfo") public ApiResult getDockerInfo(String token) { - if (vToken.isValidToken(token)) { + if (tokenBean.isValidToken(token)) { return ApiResult.error(401, "无效的访问令牌"); } return hostService.getDockerInfo(); @@ -82,9 +43,9 @@ public class apiController { /** * 启动容器 */ - @GetMapping("/getStartDockerInfo") + @GetMapping("/StartDockerInfo") public ApiResult startDockerInfo(String id, String token) { - if (vToken.isValidToken(token)) { + if (tokenBean.isValidToken(token)) { return ApiResult.error(401, "无效的访问令牌"); } return hostService.startDockerInfo(id); @@ -94,9 +55,9 @@ public class apiController { /** * 停止容器 */ - @GetMapping("/getStopDockerInfo") + @GetMapping("/StopDockerInfo") public ApiResult stopDockerInfo(String id, String token) { - if (vToken.isValidToken(token)) { + if (tokenBean.isValidToken(token)) { return ApiResult.error(401, "无效的访问令牌"); } return hostService.stopDockerInfo(id); @@ -106,9 +67,9 @@ public class apiController { /** * 获取容器主机的磁盘使用情况 */ - @GetMapping("/getTaskDockerDiskInfo") + @GetMapping("/TaskDockerDiskInfo") public ApiResult getTaskDockerDiskInfo(String token) { - if (vToken.isValidToken(token)) { + if (tokenBean.isValidToken(token)) { return ApiResult.error(401, "无效的访问令牌"); } return dockerService.jobHostDisk(); @@ -118,9 +79,9 @@ public class apiController { /** * 运行全部任务数据同步 */ - @GetMapping("/getTaskSyncDbInfo") + @GetMapping("/TaskSyncDbInfo") public ApiResult getTaskSyncDbInfo(String token) { - if (vToken.isValidToken(token)) { + if (tokenBean.isValidToken(token)) { return ApiResult.error(401, "无效的访问令牌"); } return dbService.jobSyncAllTask(); @@ -129,9 +90,9 @@ public class apiController { /** * 运行单个任务 */ - @GetMapping("/getTaskSyncDbByInfo") + @GetMapping("/TaskSyncDbByInfo") public ApiResult getTaskSyncDbByInfo(String token, String taskId) { - if (vToken.isValidToken(token)) { + if (tokenBean.isValidToken(token)) { return ApiResult.error(401, "无效的访问令牌"); } return dbService.jobSyncOneTask(taskId); diff --git a/src/main/java/com/mini/capi/sys/Api/listController.java b/src/main/java/com/mini/capi/sys/Api/listController.java new file mode 100644 index 0000000..d93f25d --- /dev/null +++ b/src/main/java/com/mini/capi/sys/Api/listController.java @@ -0,0 +1,66 @@ +package com.mini.capi.sys.Api; + +import com.mini.capi.config.TokenBean; +import com.mini.capi.model.ApiResult; +import com.mini.capi.model.TabResult; +import com.mini.capi.sys.domain.TableInfo; +import com.mini.capi.sys.service.DataService; +import com.mini.capi.sys.service.DbService; +import com.mini.capi.sys.service.HostService; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RestController +@RequestMapping("/Sys/apiList") +public class listController { + + + @Resource + private TokenBean tokenBean; + + @Resource + private HostService hostService; + + @Resource + private DbService dbService; + + @Resource + private DataService dataService; + + /** + * 获取表的结构和字段 + */ + @GetMapping("/getTableDetail") + public ApiResult getTableDetail(String token, String taskId) { + if (tokenBean.isValidToken(token)) { + return ApiResult.error(401, "无效的访问令牌"); + } + return dataService.getTableDetail(taskId); + } + + + /** + * 获取MySQL的当前连接下的所有数据表 + */ + @GetMapping("/getSourceTables") + public ApiResult> listSourceTables(String token, String dbId) { + // 1. 验证token有效性 + if (tokenBean.isValidToken(token)) { + return ApiResult.error(401, "无效的访问令牌"); + } + return dbService.listSourceTables(dbId); + } + + + @GetMapping("/getCpuInfo") + public ApiResult> getApiInfo(String token) { + if (tokenBean.isValidToken(token)) { + return ApiResult.error(401, "无效的访问令牌"); + } + return hostService.getApiInfo(); + } +} diff --git a/src/main/java/com/mini/capi/utils/vToken.java b/src/main/java/com/mini/capi/utils/vToken.java index a0d2dcb..b14b5f7 100644 --- a/src/main/java/com/mini/capi/utils/vToken.java +++ b/src/main/java/com/mini/capi/utils/vToken.java @@ -1,13 +1,18 @@ package com.mini.capi.utils; +import com.mini.capi.config.TokenBean; +import jakarta.annotation.Resource; + public class vToken { - private static final String DEFAULT_TOKEN = "3774e79ac55aff6d1afc0f94bfaf131d"; + @Resource + private TokenBean tokenConfig; - public static boolean isValidToken(String token) { - return !DEFAULT_TOKEN.equals(token); + public boolean isValidToken(String token) { + + return tokenConfig.isValidToken(token); } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index e0677cb..0514fe4 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -20,3 +20,6 @@ logging.level.root=INFO logging.level.com.example.webssh=DEBUG logging.file.name=logs/webssh.log logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n + + +security.default-token=3774e79ac55aff6d1afc0f94bfaf131d \ No newline at end of file