首页接口重构

This commit is contained in:
2026-04-14 10:45:51 +08:00
parent d26914b93c
commit b94009c94c
2 changed files with 21 additions and 11 deletions

View File

@@ -15,10 +15,11 @@ public class DockerResult implements Serializable {
private String error;
private String message;
public static DockerResult ok(String output) {
public static DockerResult ok(String output,String message) {
DockerResult r = new DockerResult();
r.success = true;
r.output = output;
r.message = message;
return r;
}

View File

@@ -8,6 +8,7 @@ import com.jeesite.modules.apps.Module.DockerResult;
import com.jeesite.modules.apps.Module.SystemInfo;
import com.jeesite.modules.biz.entity.MySftpAccounts;
import io.micrometer.common.util.StringUtils;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
@@ -71,9 +72,18 @@ public class DockerUtil {
} catch (Exception e) {
return null;
} finally {
try { if (in != null) in.close(); } catch (Exception ignored) {}
try { if (channel != null) channel.disconnect(); } catch (Exception ignored) {}
try { if (session != null) session.disconnect(); } catch (Exception ignored) {}
try {
if (in != null) in.close();
} catch (Exception ignored) {
}
try {
if (channel != null) channel.disconnect();
} catch (Exception ignored) {
}
try {
if (session != null) session.disconnect();
} catch (Exception ignored) {
}
}
}
@@ -107,33 +117,33 @@ public class DockerUtil {
// ====================== 容器操作 ======================
public static DockerResult start(MySftpAccounts accounts, String containerId) {
String res = runCommand(accounts, "docker start " + containerId);
return res != null ? DockerResult.ok(res) : DockerResult.fail("启动失败");
return DockerResult.ok(res, Objects.nonNull(res) ? "启动容器成功" : "启动容器失败");
}
public static DockerResult stop(MySftpAccounts accounts, String containerId) {
String res = runCommand(accounts, "docker stop " + containerId);
return res != null ? DockerResult.ok(res) : DockerResult.fail("停止失败");
return DockerResult.ok(res, Objects.nonNull(res) ? "停止容器成功" : "停止容器失败");
}
public static DockerResult restart(MySftpAccounts accounts, String containerId) {
String res = runCommand(accounts, "docker restart " + containerId);
return res != null ? DockerResult.ok(res) : DockerResult.fail("重启失败");
return DockerResult.ok(res, Objects.nonNull(res) ? "重启容器成功" : "重启容器失败");
}
public static DockerResult getLogs(MySftpAccounts accounts, String containerId, int tail, boolean timestamps) {
String cmd = "docker logs " + (timestamps ? "-t " : "") + "--tail " + tail + " " + containerId;
String res = runCommand(accounts, cmd);
return res != null ? DockerResult.ok(res) : DockerResult.fail("获取日志失败");
return DockerResult.ok(res, Objects.nonNull(res) ? "获取容器日志成功" : "获取容器日志失败");
}
public static DockerResult listRaw(MySftpAccounts accounts, boolean all) {
String res = runCommand(accounts, all ? "docker ps -a" : "docker ps");
return res != null ? DockerResult.ok(res) : DockerResult.fail("获取容器列表失败");
return DockerResult.ok(res, Objects.nonNull(res) ? "获取容器列表成功" : "获取容器列表失败");
}
public static DockerResult inspect(MySftpAccounts accounts, String containerId) {
String res = runCommand(accounts, "docker inspect " + containerId);
return res != null ? DockerResult.ok(res) : DockerResult.fail("查询详情失败");
return DockerResult.ok(res, Objects.nonNull(res) ? "查询容器详情成功" : "查询容器详情失败");
}
public static SystemInfo systemInfo(MySftpAccounts accounts) {
@@ -145,7 +155,6 @@ public class DockerUtil {
String output = runCommand(accounts, cmd);
if (output == null) return info;
String[] lines = output.split("\\R");
if (lines.length >= 1) info.setCpu(lines[0].trim());
if (lines.length >= 2) info.setMemory(lines[1].trim());