Merge branch 'dev' into task/i18n

This commit is contained in:
a20070322 2024-04-30 11:14:42 +08:00
commit f64f96b4a9
42 changed files with 154 additions and 78 deletions

View File

@ -1,6 +1,14 @@
# 🚀 版本日志
## 2.11.5.0
## 2.11.5.1-beta (2024-04-30)
### 🐣 新增功能
1. 【agent】新增 项目支持配置禁止扫描目录避免大目录页面超时(感谢@我)
------
## 2.11.5.0-beta (2024-04-29)
### 🐣 新增功能
@ -14,10 +22,11 @@
4. 【server】修复 退出登录时页面会提示需要登录相关信息
5. 【server】优化 页面检测新版本判断是否加入 beta
6. 【agent】优化 添加数据记录修改人(感谢[@陈旭](https://gitee.com/chenxu8989) [Gitee issues I9JSY7](https://gitee.com/dromara/Jpom/issues/I9JSY7)
7. 【server】优化 插件端注册到服务端,网络测试支持 ping + telnet (感谢@泊凉青川)
------
## 2.11.4.2 (2024-04-22)
## 2.11.4.2-beta (2024-04-22)
### 🐣 新增功能
@ -38,7 +47,7 @@
------
## 2.11.4.1 (2024-04-12)
## 2.11.4.1-beta (2024-04-12)
### 🐞 解决BUG、优化功能
@ -47,7 +56,7 @@
------
## 2.11.4.0 (2024-04-12)
## 2.11.4.0-beta (2024-04-12)
### 🐣 新增功能
@ -64,7 +73,7 @@
------
## 2.11.3.2 (2024-04-07)
## 2.11.3.2-beta (2024-04-07)
### 🐣 新增功能
@ -79,7 +88,7 @@
------
## 2.11.3.1 (2024-04-02)
## 2.11.3.1-beta (2024-04-02)
### 🐣 新增功能
@ -96,7 +105,7 @@
------
## 2.11.3.0 (2024-03-21)
## 2.11.3.0-beta (2024-03-21)
### 🐣 新增功能

View File

@ -1,3 +1,3 @@
JPOM_VERSION=2.11.4.2
JPOM_VERSION=2.11.5.1
# Server Token 生产部署请更换
SERVER_TOKEN=7094f673-2c53-4fc1-82e7-86e528449d97

View File

@ -17,7 +17,7 @@
<parent>
<groupId>org.dromara.jpom.agent-transport</groupId>
<artifactId>jpom-agent-transport-parent</artifactId>
<version>2.11.5</version>
<version>2.11.5.1</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -17,7 +17,7 @@
<parent>
<groupId>org.dromara.jpom.agent-transport</groupId>
<artifactId>jpom-agent-transport-parent</artifactId>
<version>2.11.5</version>
<version>2.11.5.1</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -16,7 +16,7 @@
<parent>
<artifactId>jpom-parent</artifactId>
<groupId>org.dromara.jpom</groupId>
<version>2.11.5</version>
<version>2.11.5.1</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<packaging>pom</packaging>
@ -25,7 +25,7 @@
<module>agent-transport-http</module>
</modules>
<modelVersion>4.0.0</modelVersion>
<version>2.11.5</version>
<version>2.11.5.1</version>
<groupId>org.dromara.jpom.agent-transport</groupId>
<artifactId>jpom-agent-transport-parent</artifactId>
<name>Jpom Agent Transport</name>

View File

@ -16,12 +16,12 @@
<parent>
<artifactId>jpom-parent</artifactId>
<groupId>org.dromara.jpom</groupId>
<version>2.11.5</version>
<version>2.11.5.1</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>agent</artifactId>
<version>2.11.5</version>
<version>2.11.5.1</version>
<name>Jpom Agent</name>
<properties>
<start-class>org.dromara.jpom.JpomAgentApplication</start-class>

View File

@ -189,6 +189,7 @@ public class ManageEditProjectController extends BaseAgentController {
exits.setName(projectInfo.getName());
exits.setGroup(projectInfo.getGroup());
exits.setAutoStart(projectInfo.getAutoStart());
exits.setDisableScanDir(projectInfo.getDisableScanDir());
exits.setMainClass(projectInfo.mainClass());
exits.setJvm(projectInfo.getJvm());
exits.setArgs(projectInfo.getArgs());

View File

@ -77,7 +77,7 @@ public class ProjectFileBackupController extends BaseAgentController {
if (CollUtil.isEmpty(collect)) {
return JsonMessage.success("查询成功");
}
List<JSONObject> arrayFile = FileUtils.parseInfo(collect, true, path.getAbsolutePath());
List<JSONObject> arrayFile = FileUtils.parseInfo(collect, true, path.getAbsolutePath(), projectInfoModel.isDisableScanDir());
//
JSONObject jsonObject = new JSONObject();
jsonObject.put("path", FileUtil.getAbsolutePath(path));
@ -104,7 +104,7 @@ public class ProjectFileBackupController extends BaseAgentController {
if (ArrayUtil.isEmpty(filesAll)) {
return JsonMessage.success("查询成功", Collections.emptyList());
}
List<JSONObject> arrayFile = FileUtils.parseInfo(filesAll, false, lib.getAbsolutePath());
List<JSONObject> arrayFile = FileUtils.parseInfo(filesAll, false, lib.getAbsolutePath(), projectInfoModel.isDisableScanDir());
return JsonMessage.success("查询成功", arrayFile);
}

View File

@ -94,7 +94,8 @@ public class ProjectFileControl extends BaseAgentController {
if (ArrayUtil.isEmpty(filesAll)) {
return JsonMessage.success("查询成功", Collections.emptyList());
}
List<JSONObject> arrayFile = FileUtils.parseInfo(filesAll, false, lib);
boolean disableScanDir = pim.isDisableScanDir();
List<JSONObject> arrayFile = FileUtils.parseInfo(filesAll, false, lib, disableScanDir);
AgentWhitelist whitelist = whitelistDirectoryService.getWhitelist();
for (JSONObject jsonObject : arrayFile) {
String filename = jsonObject.getString("filename");

View File

@ -141,7 +141,7 @@ public class ProjectLogBackController extends BaseAgentController {
if (logBack.exists() && logBack.isDirectory()) {
File[] filesAll = logBack.listFiles();
if (filesAll != null) {
List<JSONObject> jsonArray = FileUtils.parseInfo(filesAll, true, null);
List<JSONObject> jsonArray = FileUtils.parseInfo(filesAll, true, null, pim.isDisableScanDir());
jsonObject.put("array", jsonArray);
}
}

View File

@ -96,6 +96,10 @@ public class NodeProjectInfoModel extends BaseWorkspaceModel {
* 最后一次执行 reload 结果
*/
private CommandOpResult lastReloadResult;
/**
* 禁用扫描目录
*/
private Boolean disableScanDir;
// ---------------- 中转字段 start
/**
* 是否可以重新加载
@ -111,6 +115,10 @@ public class NodeProjectInfoModel extends BaseWorkspaceModel {
private String runCommand;
// ---------------- 中转字段 end
public boolean isDisableScanDir() {
return disableScanDir != null && disableScanDir;
}
public String javaExtDirsCp() {
return StrUtil.emptyToDefault(javaExtDirsCp, StrUtil.EMPTY);

View File

@ -16,13 +16,13 @@
<parent>
<artifactId>jpom-parent</artifactId>
<groupId>org.dromara.jpom</groupId>
<version>2.11.5</version>
<version>2.11.5.1</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<name>Jpom Common</name>
<artifactId>common</artifactId>
<version>2.11.5</version>
<version>2.11.5.1</version>
<dependencies>

View File

@ -39,11 +39,14 @@ import java.util.stream.Collectors;
*/
public class FileUtils {
private static JSONObject fileToJson(File file) {
private static JSONObject fileToJson(File file, boolean disableScanDir) {
JSONObject jsonObject = new JSONObject(6);
jsonObject.put("isDirectory", file.isDirectory());
long sizeFile = FileUtil.size(file);
jsonObject.put("fileSizeLong", sizeFile);
boolean directory = file.isDirectory();
jsonObject.put("isDirectory", directory);
if (!directory || !disableScanDir) {
long sizeFile = FileUtil.size(file);
jsonObject.put("fileSizeLong", sizeFile);
}
jsonObject.put("filename", file.getName());
long mTime = file.lastModified();
jsonObject.put("modifyTimeLong", mTime);
@ -58,8 +61,8 @@ public class FileUtils {
* @param startPath 开始路径
* @return 排序后的json
*/
public static List<JSONObject> parseInfo(File[] files, boolean time, String startPath) {
return parseInfo(CollUtil.newArrayList(files), time, startPath);
public static List<JSONObject> parseInfo(File[] files, boolean time, String startPath, boolean disableScanDir) {
return parseInfo(CollUtil.newArrayList(files), time, startPath, disableScanDir);
}
/**
@ -70,24 +73,26 @@ public class FileUtils {
* @param startPath 开始路径
* @return 排序后的json
*/
public static List<JSONObject> parseInfo(Collection<File> files, boolean time, String startPath) {
public static List<JSONObject> parseInfo(Collection<File> files, boolean time, String startPath, boolean disableScanDir) {
if (files == null) {
return new ArrayList<>();
}
return files.stream().map(file -> {
JSONObject jsonObject = FileUtils.fileToJson(file);
//
if (startPath != null) {
String levelName = StringUtil.delStartPath(file, startPath, false);
jsonObject.put("levelName", levelName);
}
return jsonObject;
}).sorted((jsonObject1, jsonObject2) -> {
if (time) {
return jsonObject2.getLong("modifyTimeLong").compareTo(jsonObject1.getLong("modifyTimeLong"));
}
return jsonObject1.getString("filename").compareTo(jsonObject2.getString("filename"));
}).collect(Collectors.toList());
return files.stream()
.map(file -> {
JSONObject jsonObject = FileUtils.fileToJson(file, disableScanDir);
//
if (startPath != null) {
String levelName = StringUtil.delStartPath(file, startPath, false);
jsonObject.put("levelName", levelName);
}
return jsonObject;
})
.sorted((jsonObject1, jsonObject2) -> {
if (time) {
return jsonObject2.getLong("modifyTimeLong").compareTo(jsonObject1.getLong("modifyTimeLong"));
}
return jsonObject1.getString("filename").compareTo(jsonObject2.getString("filename"));
}).collect(Collectors.toList());
}
/**

View File

@ -7,4 +7,4 @@
| |
|_|
➜ Jpom is licensed under Mulan PSL v2.
➜ \ (•◡•) / (v2.11.5)
➜ \ (•◡•) / (v2.11.5.1)

View File

@ -16,7 +16,7 @@ LABEL maintainer="bwcx-jzy <bwcx_jzy@163.com>"
LABEL documentation="https://jpom.top"
ENV JPOM_HOME /usr/local/jpom-server
ENV JPOM_PKG_VERSION 2.11.4.2
ENV JPOM_PKG_VERSION 2.11.5.1
ENV JPOM_PKG server-${JPOM_PKG_VERSION}-release.tar.gz
ENV SHA1_NAME server-${JPOM_PKG_VERSION}-release.tar.gz.sha1

View File

@ -16,7 +16,7 @@ LABEL maintainer="bwcx-jzy <bwcx_jzy@163.com>"
LABEL documentation="https://jpom.top"
ENV JPOM_HOME /usr/local/jpom-server
ENV JPOM_PKG_VERSION 2.11.4.2
ENV JPOM_PKG_VERSION 2.11.5.1
ENV JPOM_PKG server-${JPOM_PKG_VERSION}-release.tar.gz
ENV SHA1_NAME server-${JPOM_PKG_VERSION}-release.tar.gz.sha1

View File

@ -16,13 +16,13 @@
<parent>
<artifactId>jpom-parent</artifactId>
<groupId>org.dromara.jpom</groupId>
<version>2.11.5</version>
<version>2.11.5.1</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<name>Jpom Server</name>
<artifactId>server</artifactId>
<version>2.11.5</version>
<version>2.11.5.1</version>
<properties>
<start-class>org.dromara.jpom.JpomServerApplication</start-class>
</properties>

View File

@ -375,7 +375,9 @@ public class OutGivingProjectEditController extends BaseServerController {
String args = getParameter(StrUtil.format("{}_args", nodeModel.getId()));
allData.put("args", args);
String autoStart = getParameter(StrUtil.format("{}_autoStart", nodeModel.getId()));
String disableScanDir = getParameter(StrUtil.format("{}_disableScanDir", nodeModel.getId()));
allData.put("autoStart", Convert.toBool(autoStart, false));
allData.put("disableScanDir", Convert.toBool(disableScanDir, false));
allData.put("dslEnv", getParameter(StrUtil.format("{}_dslEnv", nodeModel.getId())));
allData.put("nodeId", nodeModel.getId());
JsonMessage<String> jsonMessage = this.sendData(nodeModel, allData, false);

View File

@ -257,11 +257,10 @@ public class MachineNodeController extends BaseGroupNameController {
@GetMapping(value = "monitor-config", produces = MediaType.APPLICATION_JSON_VALUE)
@Feature(method = MethodFeature.LIST)
public IJsonMessage<JSONObject> info(HttpServletRequest request, String id) {
public IJsonMessage<JSONObject> monitorConfig(HttpServletRequest request, String id) {
IJsonMessage<JSONObject> message = this.tryRequestMachine(id, request, NodeUrl.Info);
Assert.notNull(message, "没有对应的资产机器");
Assert.state(message.success(), message.getMsg());
//
JSONObject data = message.getData();
JSONObject monitor = Optional.ofNullable(data).map(jsonObject -> jsonObject.getJSONObject("monitor")).orElse(null);
return JsonMessage.success("", monitor);

View File

@ -35,7 +35,9 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.net.InetSocketAddress;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
/**
@ -87,7 +89,7 @@ public class NodeInfoController extends BaseServerController {
ipsList.add(clientIp);
}
List<String> canUseIps = ipsList.stream()
.filter(s -> this.testIpPort(s, ping))
.filter(s -> this.testIpPort(s, ping, port))
.collect(Collectors.toList());
List<MachineNodeModel> canUseNode = canUseIps.stream().map(s -> {
MachineNodeModel model = this.createMachineNodeModel(s, loginName, loginPwd, port);
@ -164,12 +166,19 @@ public class NodeInfoController extends BaseServerController {
* @param ping ping 时间
* @return true
*/
private boolean testIpPort(String ip, String ping) {
private boolean testIpPort(String ip, String ping, int port) {
int pingTime = Convert.toInt(ping, 5);
if (pingTime <= 0) {
return true;
}
return NetUtil.ping(ip, pingTime * 1000);
boolean pinged = NetUtil.ping(ip, pingTime * 1000);
//
return pinged || this.testIpCanPort(ip, pingTime, port);
}
private boolean testIpCanPort(String ip, int timeout, int port) {
InetSocketAddress address = NetUtil.createAddress(ip, port);
return NetUtil.isOpen(address, (int) TimeUnit.SECONDS.toMillis(timeout));
}
private MachineNodeModel createMachineNodeModel(String ip, String loginName, String loginPwd, int port) {

View File

@ -16,7 +16,7 @@
<parent>
<artifactId>jpom-parent</artifactId>
<groupId>org.dromara.jpom</groupId>
<version>2.11.5</version>
<version>2.11.5.1</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<packaging>pom</packaging>
@ -28,7 +28,7 @@
<module>storage-module-mariadb</module>
</modules>
<modelVersion>4.0.0</modelVersion>
<version>2.11.5</version>
<version>2.11.5.1</version>
<groupId>org.dromara.jpom.storage-module</groupId>
<artifactId>jpom-storage-module-parent</artifactId>
<name>Jpom storage module</name>

View File

@ -17,7 +17,7 @@
<parent>
<groupId>org.dromara.jpom.storage-module</groupId>
<artifactId>jpom-storage-module-parent</artifactId>
<version>2.11.5</version>
<version>2.11.5.1</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -17,7 +17,7 @@
<parent>
<groupId>org.dromara.jpom.storage-module</groupId>
<artifactId>jpom-storage-module-parent</artifactId>
<version>2.11.5</version>
<version>2.11.5.1</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -17,7 +17,7 @@
<parent>
<groupId>org.dromara.jpom.storage-module</groupId>
<artifactId>jpom-storage-module-parent</artifactId>
<version>2.11.5</version>
<version>2.11.5.1</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -17,7 +17,7 @@
<parent>
<groupId>org.dromara.jpom.storage-module</groupId>
<artifactId>jpom-storage-module-parent</artifactId>
<version>2.11.5</version>
<version>2.11.5.1</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -16,7 +16,7 @@
<parent>
<artifactId>jpom-storage-module-parent</artifactId>
<groupId>org.dromara.jpom.storage-module</groupId>
<version>2.11.5</version>
<version>2.11.5.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -16,7 +16,7 @@
<parent>
<artifactId>jpom-plugins-parent</artifactId>
<groupId>org.dromara.jpom.plugins</groupId>
<version>2.11.5</version>
<version>2.11.5.1</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -16,7 +16,7 @@
<parent>
<artifactId>jpom-plugins-parent</artifactId>
<groupId>org.dromara.jpom.plugins</groupId>
<version>2.11.5</version>
<version>2.11.5.1</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -16,7 +16,7 @@
<parent>
<artifactId>jpom-plugins-parent</artifactId>
<groupId>org.dromara.jpom.plugins</groupId>
<version>2.11.5</version>
<version>2.11.5.1</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -16,7 +16,7 @@
<parent>
<artifactId>jpom-plugins-parent</artifactId>
<groupId>org.dromara.jpom.plugins</groupId>
<version>2.11.5</version>
<version>2.11.5.1</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -16,7 +16,7 @@
<parent>
<artifactId>jpom-parent</artifactId>
<groupId>org.dromara.jpom</groupId>
<version>2.11.5</version>
<version>2.11.5.1</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<packaging>pom</packaging>
@ -30,7 +30,7 @@
<module>ssh-jsch</module>
</modules>
<modelVersion>4.0.0</modelVersion>
<version>2.11.5</version>
<version>2.11.5.1</version>
<groupId>org.dromara.jpom.plugins</groupId>
<artifactId>jpom-plugins-parent</artifactId>
<name>Jpom Plugins</name>

View File

@ -17,7 +17,7 @@
<parent>
<artifactId>jpom-plugins-parent</artifactId>
<groupId>org.dromara.jpom.plugins</groupId>
<version>2.11.5</version>
<version>2.11.5.1</version>
<relativePath>../pom.xml</relativePath>
</parent>
<name>plugin-ssh-jsch</name>

View File

@ -16,7 +16,7 @@
<parent>
<artifactId>jpom-plugins-parent</artifactId>
<groupId>org.dromara.jpom.plugins</groupId>
<version>2.11.5</version>
<version>2.11.5.1</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -16,7 +16,7 @@
<parent>
<artifactId>jpom-plugins-parent</artifactId>
<groupId>org.dromara.jpom.plugins</groupId>
<version>2.11.5</version>
<version>2.11.5.1</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -36,7 +36,7 @@
简而轻的低侵入式在线构建、自动部署、日常运维、项目监控软件
</description>
<inceptionYear>2017</inceptionYear>
<version>2.11.5</version>
<version>2.11.5.1</version>
<url>https://gitee.com/dromara/Jpom</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

View File

@ -1 +1 @@
2.11.4.2
2.11.5.1

View File

@ -112,7 +112,8 @@ export function editProject(params) {
autoStart: params.autoStart,
dslContent: params.dslContent,
dslEnv: params.dslEnv,
linkId: params.linkId
linkId: params.linkId,
disableScanDir: params.disableScanDir
}
return axios({
url: '/node/manage/saveProject',

View File

@ -184,6 +184,11 @@ export default {
dangerousOperation: 'Dangerous operation!!!',
noMoreNodeProjects: 'No more node projects available, please create a project first',
selectNodeFirst: 'Please select a node first',
confirmCancellationOfCurrentDistribution: 'Are you sure you want to cancel the current distribution?'
confirmCancellationOfCurrentDistribution: 'Are you sure you want to cancel the current distribution?',
disableScanDir: 'Disable scanning',
scanning: 'scanning',
dontScanning: "Don't scan",
disableScanDirTip:
'If the project directory is large or involves deep directories, it is recommended to turn off the scan to avoid getting the project directory scan too long and affecting performance'
}
}

View File

@ -169,6 +169,10 @@ export default {
dangerousOperation: '危险操作!!!',
noMoreNodeProjects: '已无更多节点项目,请先创建项目',
selectNodeFirst: '请先选择节点',
confirmCancellationOfCurrentDistribution: '真的取消当前分发吗?'
confirmCancellationOfCurrentDistribution: '真的取消当前分发吗?',
disableScanDir: '禁止扫描',
scanning: '扫描',
dontScanning: '不扫描',
disableScanDirTip: '如果项目目录较大或者涉及到深目录,建议关闭扫描避免获取项目目录扫描过长影响性能'
}
}

View File

@ -857,7 +857,7 @@
<a-select-option v-for="node in nodeList" :key="node.id">{{ `${node.name}` }}</a-select-option>
</a-select>
</a-form-item>
<a-collapse v-show="noFileModes.includes(temp.runMode)">
<a-collapse>
<a-collapse-panel v-for="nodeId in temp.nodeIdList" :key="nodeId" :header="nodeNameMap[nodeId] || nodeId">
<a-form-item v-show="javaModes.includes(temp.runMode)" :label="$tl('p.jvmParams')" name="jvm">
<a-textarea
@ -894,6 +894,21 @@
/>
{{ $tl('p.pluginAutoCheckProjectOnStart') }}
</a-form-item>
<a-form-item name="disableScanDir">
<template #label>
<a-tooltip> {{ $tl('p.disableScanDir') }} </a-tooltip>
</template>
<template #help>
<div>{{ $tl('p.disableScanDirTip') }}</div>
</template>
<div>
<a-switch
v-model:checked="temp[`${nodeId}_disableScanDir`]"
:checked-children="$tl('p.dontScanning')"
:un-checked-children="$tl('p.scanning')"
/>
</div>
</a-form-item>
<a-form-item v-if="temp.runMode === 'Dsl'" name="dslEnv" :label="$tl('p.dslEnvironmentVariables')">
<a-input
v-model:checked="temp[`${nodeId}_dslEnv`]"
@ -1441,6 +1456,7 @@ export default {
this.temp[`${ele.nodeId}_token`] = res.data.token || ''
this.temp[`${ele.nodeId}_args`] = res.data.args || ''
this.temp[`${ele.nodeId}_autoStart`] = res.data.autoStart
this.temp[`${ele.nodeId}_disableScanDir`] = res.data.disableScanDir
this.temp[`${ele.nodeId}_dslEnv`] = res.data.dslEnv || ''
this.temp = { ...this.temp }

View File

@ -293,9 +293,25 @@
<QuestionCircleOutlined v-show="temp.type !== 'edit'" />
</a-tooltip>
</template>
<template #help><div>非服务器开机自启,如需开机自启建议配置<b>插件端开机自启</b>并开启此开关</div></template>
<a-switch v-model:checked="temp.autoStart" checked-children="" un-checked-children="" />
插件端启动时自动检查项目如未启动将尝试启动
<template #help>
<div>非服务器开机自启,如需开机自启建议配置<b>插件端开机自启</b>并开启此开关</div>
</template>
<div>
<a-switch v-model:checked="temp.autoStart" checked-children="" un-checked-children="" />
插件端启动时自动检查项目如未启动将尝试启动
</div>
</a-form-item>
<a-form-item name="disableScanDir">
<template #label>
<a-tooltip> 禁止扫描 </a-tooltip>
</template>
<template #help>
<div>如果项目目录较大或者涉及到深目录建议关闭扫描避免获取项目目录扫描过长影响性能</div>
</template>
<div>
<a-switch v-model:checked="temp.disableScanDir" checked-children="不扫描" un-checked-children="扫描" />
</div>
</a-form-item>
<a-form-item v-show="noFileModes.includes(temp.runMode)" name="token">

View File

@ -119,8 +119,8 @@
<span>{{ text ? '目录' : '文件' }}</span>
</template>
<template v-else-if="column.dataIndex === 'fileSizeLong'">
<a-tooltip placement="topLeft" :title="`${text ? renderSize(text) : item.fileSize}`">
{{ text ? renderSize(text) : item.fileSize }}
<a-tooltip placement="topLeft" :title="`${text ? renderSize(text) : record.fileSize}`">
{{ text ? renderSize(text) : record.fileSize }}
</a-tooltip>
</template>
<template v-else-if="column.dataIndex === 'modifyTimeLong'">