From b0be444fbafc318ab1697001f0fc553d5b1aaa5b Mon Sep 17 00:00:00 2001 From: lijiahangmax Date: Thu, 9 Oct 2025 14:31:43 +0800 Subject: [PATCH] =?UTF-8?q?:hammer:=20=E4=BC=98=E5=8C=96=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E9=80=BB=E8=BE=91.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../visor/common/constant/ConfigKeys.java | 52 +++++++-------- .../src/main/resources/application-dev.yaml | 2 +- .../src/main/resources/application-prod.yaml | 2 +- .../module/common/config/AppLogConfig.java | 8 +-- .../exec/command/handler/ExecTaskHandler.java | 2 +- .../define/cache/UserCacheKeyDefine.java | 1 + .../cache/AlarmPolicyCacheKeyDefine.java | 1 + orion-visor-ui/src/api/system/setting.ts | 46 ++++++------- .../src/components/exec/log/panel/index.vue | 4 +- orion-visor-ui/src/utils/rsa.ts | 2 +- .../setting/components/auto-clear-setting.vue | 27 +++----- .../setting/components/encrypt-setting.vue | 20 +++--- .../system/setting/components/log-setting.vue | 29 ++++----- .../setting/components/login-setting.vue | 65 ++++++++----------- .../setting/components/sftp-setting.vue | 20 ++---- .../src/views/system/setting/index.vue | 4 ++ .../src/views/system/setting/types/const.ts | 2 +- 17 files changed, 129 insertions(+), 158 deletions(-) diff --git a/orion-visor-common/src/main/java/org/dromara/visor/common/constant/ConfigKeys.java b/orion-visor-common/src/main/java/org/dromara/visor/common/constant/ConfigKeys.java index b34b659d..4a62ae10 100644 --- a/orion-visor-common/src/main/java/org/dromara/visor/common/constant/ConfigKeys.java +++ b/orion-visor-common/src/main/java/org/dromara/visor/common/constant/ConfigKeys.java @@ -34,116 +34,116 @@ public interface ConfigKeys { /** * SFTP 文件预览大小 */ - String SFTP_PREVIEW_SIZE = "sftp_previewSize"; + String SFTP_PREVIEW_SIZE = "sftp.preview-size"; /** * SFTP 重复文件备份 */ - String SFTP_UPLOAD_PRESENT_BACKUP = "sftp_uploadPresentBackup"; + String SFTP_UPLOAD_PRESENT_BACKUP = "sftp.upload-present-backup"; /** * SFTP 备份文件名称 */ - String SFTP_UPLOAD_BACKUP_FILE_NAME = "sftp_uploadBackupFileName"; + String SFTP_UPLOAD_BACKUP_FILE_NAME = "sftp.upload-backup-file-name"; /** * 加密公钥 */ - String ENCRYPT_PUBLIC_KEY = "encrypt_publicKey"; + String ENCRYPT_PUBLIC_KEY = "encrypt.public-key"; /** * 加密私钥 */ - String ENCRYPT_PRIVATE_KEY = "encrypt_privateKey"; + String ENCRYPT_PRIVATE_KEY = "encrypt.private-key"; /** * 日志前端显示行数 */ - String LOG_WEB_SCROLL_LINES = "log_webScrollLines"; + String LOG_WEB_SCROLL_LINES = "log.web-scroll-lines"; /** * 日志加载偏移行 */ - String LOG_TRACKER_LOAD_LINES = "log_trackerLoadLines"; + String LOG_TRACKER_LOAD_LINES = "log.tracker-load-lines"; /** * 日志加载间隔毫秒 */ - String LOG_TRACKER_LOAD_INTERVAL = "log_trackerLoadInterval"; + String LOG_TRACKER_LOAD_INTERVAL = "log.tracker-load-interval"; /** * 是否生成详细的执行日志 */ - String LOG_EXEC_DETAIL_LOG = "log_execDetailLog"; + String LOG_EXEC_DETAIL_ENABLED = "log.exec-detail.enabled"; /** - * 凭证有效期分 + * 凭证有效期 分 */ - String LOGIN_LOGIN_SESSION_TIME = "login_loginSessionTime"; + String LOGIN_LOGIN_SESSION_TIME = "login.login-session-time"; /** * 允许多端登录 */ - String LOGIN_ALLOW_MULTI_DEVICE = "login_allowMultiDevice"; + String LOGIN_ALLOW_MULTI_DEVICE = "login.allow-multi-device"; /** * 允许凭证续签 */ - String LOGIN_ALLOW_REFRESH = "login_allowRefresh"; + String LOGIN_ALLOW_REFRESH = "login.allow-refresh"; /** * 凭证续签最大次数 */ - String LOGIN_MAX_REFRESH_COUNT = "login_maxRefreshCount"; + String LOGIN_MAX_REFRESH_COUNT = "login.max-refresh-count"; /** * 凭证续签间隔分 */ - String LOGIN_REFRESH_INTERVAL = "login_refreshInterval"; + String LOGIN_REFRESH_INTERVAL = "login.refresh-interval"; /** * 登录失败锁定 */ - String LOGIN_LOGIN_FAILED_LOCK = "login_loginFailedLock"; + String LOGIN_LOGIN_FAILED_LOCK = "login.login-failed-lock"; /** - * 登录失败锁定阈值分 + * 登录失败锁定阈值 */ - String LOGIN_LOGIN_FAILED_LOCK_THRESHOLD = "login_loginFailedLockThreshold"; + String LOGIN_LOGIN_FAILED_LOCK_THRESHOLD = "login.login-failed-lock-threshold"; /** - * 登录失败锁定时间分 + * 登录失败锁定时间 分 */ - String LOGIN_LOGIN_FAILED_LOCK_TIME = "login_loginFailedLockTime"; + String LOGIN_LOGIN_FAILED_LOCK_TIME = "login.login-failed-lock-time"; /** * 登录失败发信 */ - String LOGIN_LOGIN_FAILED_SEND = "login_loginFailedSend"; + String LOGIN_LOGIN_FAILED_SEND = "login.login-failed-send"; /** * 登录失败发信阈值 */ - String LOGIN_LOGIN_FAILED_SEND_THRESHOLD = "login_loginFailedSendThreshold"; + String LOGIN_LOGIN_FAILED_SEND_THRESHOLD = "login.login-failed-send-threshold"; /** * 是否开启自动清理命令记录 */ - String AUTO_CLEAR_EXEC_LOG_ENABLED = "autoClear_execLogEnabled"; + String AUTO_CLEAR_EXEC_LOG_ENABLED = "auto-clear.exec-log.enabled"; /** * 自动清理命令记录保留天数 */ - String AUTO_CLEAR_EXEC_LOG_KEEP_DAYS = "autoClear_execLogKeepDays"; + String AUTO_CLEAR_EXEC_LOG_KEEP_DAYS = "auto-clear.exec-log.keep-days"; /** * 是否开启自动清理终端连接记录 */ - String AUTO_CLEAR_TERMINAL_LOG_ENABLED = "autoClear_terminalLogEnabled"; + String AUTO_CLEAR_TERMINAL_LOG_ENABLED = "auto-clear.terminal-log.enabled"; /** * 自动清理终端连接记录保留天数 */ - String AUTO_CLEAR_TERMINAL_LOG_KEEP_DAYS = "autoClear_terminalLogKeepDays"; + String AUTO_CLEAR_TERMINAL_LOG_KEEP_DAYS = "auto-clear.terminal-log.keep-days"; } diff --git a/orion-visor-launch/src/main/resources/application-dev.yaml b/orion-visor-launch/src/main/resources/application-dev.yaml index bfad7464..95b5e913 100644 --- a/orion-visor-launch/src/main/resources/application-dev.yaml +++ b/orion-visor-launch/src/main/resources/application-dev.yaml @@ -14,7 +14,7 @@ spring: port: ${REDIS_PORT:6379} password: ${REDIS_PASSWORD:Data@123456} database: ${REDIS_DATABASE:1} - data-version: ${REDIS_DATA_VERSION:1} + data-version: ${REDIS_DATA_VERSION:2} mock: false redisson: threads: 2 diff --git a/orion-visor-launch/src/main/resources/application-prod.yaml b/orion-visor-launch/src/main/resources/application-prod.yaml index ffd195e1..a93fbdec 100644 --- a/orion-visor-launch/src/main/resources/application-prod.yaml +++ b/orion-visor-launch/src/main/resources/application-prod.yaml @@ -25,7 +25,7 @@ spring: port: ${REDIS_PORT:6379} password: ${REDIS_PASSWORD:Data@123456} database: ${REDIS_DATABASE:0} - data-version: ${REDIS_DATA_VERSION:1} + data-version: ${REDIS_DATA_VERSION:2} redisson: threads: 4 netty-threads: 4 diff --git a/orion-visor-modules/orion-visor-module-common/src/main/java/org/dromara/visor/module/common/config/AppLogConfig.java b/orion-visor-modules/orion-visor-module-common/src/main/java/org/dromara/visor/module/common/config/AppLogConfig.java index 922d77f1..e02cbc09 100644 --- a/orion-visor-modules/orion-visor-module-common/src/main/java/org/dromara/visor/module/common/config/AppLogConfig.java +++ b/orion-visor-modules/orion-visor-module-common/src/main/java/org/dromara/visor/module/common/config/AppLogConfig.java @@ -50,12 +50,12 @@ public class AppLogConfig { /** * 是否生成详细的执行日志 */ - private final ConfigRef execDetailLog; + private final ConfigRef execDetailEnabled; public AppLogConfig(ConfigStore configStore) { this.trackerLoadLines = configStore.int32(ConfigKeys.LOG_TRACKER_LOAD_LINES); this.trackerLoadInterval = configStore.int32(ConfigKeys.LOG_TRACKER_LOAD_INTERVAL); - this.execDetailLog = configStore.bool(ConfigKeys.LOG_EXEC_DETAIL_LOG); + this.execDetailEnabled = configStore.bool(ConfigKeys.LOG_EXEC_DETAIL_ENABLED); } public Integer getTrackerLoadLines() { @@ -66,8 +66,8 @@ public class AppLogConfig { return trackerLoadInterval.value; } - public Boolean getExecDetailLog() { - return execDetailLog.value; + public Boolean getExecDetailEnabled() { + return execDetailEnabled.value; } } diff --git a/orion-visor-modules/orion-visor-module-exec/orion-visor-module-exec-service/src/main/java/org/dromara/visor/module/exec/handler/exec/command/handler/ExecTaskHandler.java b/orion-visor-modules/orion-visor-module-exec/orion-visor-module-exec-service/src/main/java/org/dromara/visor/module/exec/handler/exec/command/handler/ExecTaskHandler.java index ecb90eb7..076eaf4a 100644 --- a/orion-visor-modules/orion-visor-module-exec/orion-visor-module-exec-service/src/main/java/org/dromara/visor/module/exec/handler/exec/command/handler/ExecTaskHandler.java +++ b/orion-visor-modules/orion-visor-module-exec/orion-visor-module-exec-service/src/main/java/org/dromara/visor/module/exec/handler/exec/command/handler/ExecTaskHandler.java @@ -193,7 +193,7 @@ public class ExecTaskHandler implements IExecTaskHandler { * @return handler */ private IExecCommandHandler createCommandHandler(Long execHostId) { - if (Booleans.isTrue(appLogConfig.getExecDetailLog())) { + if (Booleans.isTrue(appLogConfig.getExecDetailEnabled())) { // 详细日志 return new ExecCommandDetailHandler(execHostId, execLog, builtParams, timeoutChecker); } else { diff --git a/orion-visor-modules/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/org/dromara/visor/module/infra/define/cache/UserCacheKeyDefine.java b/orion-visor-modules/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/org/dromara/visor/module/infra/define/cache/UserCacheKeyDefine.java index ff179ef0..8a66388f 100644 --- a/orion-visor-modules/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/org/dromara/visor/module/infra/define/cache/UserCacheKeyDefine.java +++ b/orion-visor-modules/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/org/dromara/visor/module/infra/define/cache/UserCacheKeyDefine.java @@ -59,6 +59,7 @@ public interface UserCacheKeyDefine { CacheKeyDefine LOGIN_FAILED_COUNT = new CacheKeyBuilder() .key("user:login-failed:{}") .desc("用户登录失败次数 ${username}") + .noPrefix() .type(Integer.class) .struct(RedisCacheStruct.STRING) .build(); diff --git a/orion-visor-modules/orion-visor-module-monitor/orion-visor-module-monitor-service/src/main/java/org/dromara/visor/module/monitor/define/cache/AlarmPolicyCacheKeyDefine.java b/orion-visor-modules/orion-visor-module-monitor/orion-visor-module-monitor-service/src/main/java/org/dromara/visor/module/monitor/define/cache/AlarmPolicyCacheKeyDefine.java index ca4fac0f..02f8084f 100644 --- a/orion-visor-modules/orion-visor-module-monitor/orion-visor-module-monitor-service/src/main/java/org/dromara/visor/module/monitor/define/cache/AlarmPolicyCacheKeyDefine.java +++ b/orion-visor-modules/orion-visor-module-monitor/orion-visor-module-monitor-service/src/main/java/org/dromara/visor/module/monitor/define/cache/AlarmPolicyCacheKeyDefine.java @@ -49,6 +49,7 @@ public interface AlarmPolicyCacheKeyDefine { CacheKeyDefine ALARM_RULE_SILENCE = new CacheKeyBuilder() .key("alarm:silence:{}:{}") .desc("告警规则沉默标志 ${agentKey} ${ruleId}") + .noPrefix() .type(Long.class) .struct(RedisCacheStruct.STRING) .build(); diff --git a/orion-visor-ui/src/api/system/setting.ts b/orion-visor-ui/src/api/system/setting.ts index 2c9b3234..82a13263 100644 --- a/orion-visor-ui/src/api/system/setting.ts +++ b/orion-visor-ui/src/api/system/setting.ts @@ -45,53 +45,53 @@ export type SystemSetting = SftpSetting * SFTP 设置 */ export interface SftpSetting { - sftp_previewSize: number; - sftp_uploadPresentBackup: string; - sftp_uploadBackupFileName: string; + ['sftp.preview-size']: number; + ['sftp.upload-present-backup']: string; + ['sftp.upload-backup-file-name']: string; } /** * 登录设置 */ export interface LoginSetting { - login_allowMultiDevice: string; - login_allowRefresh: string; - login_maxRefreshCount: number; - login_refreshInterval: number; - login_loginFailedLock: string; - login_loginFailedLockThreshold: number; - login_loginFailedLockTime: number; - login_loginFailedSend: string; - login_loginFailedSendThreshold: number; - login_loginSessionTime: number; + ['login.allow-multi-device']: string; + ['login.allow-refresh']: string; + ['login.max-refresh-count']: number; + ['login.refresh-interval']: number; + ['login.login-failed-lock']: string; + ['login.login-failed-lock-threshold']: number; + ['login.login-failed-lock-time']: number; + ['login.login-failed-send']: string; + ['login.login-failed-send-threshold']: number; + ['login.login-session-time']: number; } /** * 加密设置 */ export interface EncryptSetting { - encrypt_publicKey: string; - encrypt_privateKey: string; + ['encrypt.public-key']: string; + ['encrypt.private-key']: string; } /** * 日志设置 */ export interface LogSetting { - log_webScrollLines: number; - log_trackerLoadLines: number; - log_trackerLoadInterval: number; - log_execDetailLog: string; + ['log.web-scroll-lines']: number; + ['log.tracker-load-lines']: number; + ['log.tracker-load-interval']: number; + ['log.exec-detail.enabled']: string; } /** * 自动清理设置 */ export interface AutoClearSetting { - autoClear_execLogEnabled: string; - autoClear_execLogKeepDays: number; - autoClear_terminalLogEnabled: string; - autoClear_terminalLogKeepDays: number; + ['auto-clear.exec-log.enabled']: string; + ['auto-clear.exec-log.keep-days']: number; + ['auto-clear.terminal-log.enabled']: string; + ['auto-clear.terminal-log.keep-days']: number; } /** diff --git a/orion-visor-ui/src/components/exec/log/panel/index.vue b/orion-visor-ui/src/components/exec/log/panel/index.vue index 2375769a..65511037 100644 --- a/orion-visor-ui/src/components/exec/log/panel/index.vue +++ b/orion-visor-ui/src/components/exec/log/panel/index.vue @@ -55,8 +55,8 @@ execLog.value = { ...record }; currentHostExecId.value = record.hosts[0].id; // 获取最大显示行数 - const { log_webScrollLines } = await useCacheStore().loadSystemSetting(); - const scrollLines = toAnonymousNumber(log_webScrollLines) || 1000; + const { 'log.web-scroll-lines': webScrollLines } = await useCacheStore().loadSystemSetting(); + const scrollLines = toAnonymousNumber(webScrollLines) || 1000; // 创建 appender appender.value = markRaw(new LogAppender({ id: record.id, diff --git a/orion-visor-ui/src/utils/rsa.ts b/orion-visor-ui/src/utils/rsa.ts index a0185ab3..02341144 100644 --- a/orion-visor-ui/src/utils/rsa.ts +++ b/orion-visor-ui/src/utils/rsa.ts @@ -12,7 +12,7 @@ export const encrypt = async (data: string | undefined): Promise - - - - - - - - diff --git a/orion-visor-ui/src/views/system/setting/components/encrypt-setting.vue b/orion-visor-ui/src/views/system/setting/components/encrypt-setting.vue index 4c214b39..674d2f2e 100644 --- a/orion-visor-ui/src/views/system/setting/components/encrypt-setting.vue +++ b/orion-visor-ui/src/views/system/setting/components/encrypt-setting.vue @@ -13,23 +13,21 @@ 请输入 PKCS8 格式的 RSA Base64 密钥, 用于前后端传输时的数据加密 - - - - @@ -97,8 +95,8 @@ setLoading(true); try { const { data } = await generatorKeypair(); - setting.value.encrypt_publicKey = data.publicKey; - setting.value.encrypt_privateKey = data.privateKey; + setting.value['encrypt.public-key'] = data.publicKey; + setting.value['encrypt.private-key'] = data.privateKey; } catch (e) { } finally { setLoading(false); @@ -125,7 +123,7 @@ .main-container { width: 728px !important; - .input-wrapper { + .text-wrapper { width: 100%; } } diff --git a/orion-visor-ui/src/views/system/setting/components/log-setting.vue b/orion-visor-ui/src/views/system/setting/components/log-setting.vue index b24bce73..b807a516 100644 --- a/orion-visor-ui/src/views/system/setting/components/log-setting.vue +++ b/orion-visor-ui/src/views/system/setting/components/log-setting.vue @@ -9,11 +9,10 @@ label-align="right" :auto-label-width="true"> - - - - - - - - diff --git a/orion-visor-ui/src/views/system/setting/components/login-setting.vue b/orion-visor-ui/src/views/system/setting/components/login-setting.vue index ec8e164c..5b0048be 100644 --- a/orion-visor-ui/src/views/system/setting/components/login-setting.vue +++ b/orion-visor-ui/src/views/system/setting/components/login-setting.vue @@ -9,11 +9,10 @@ label-align="right" :auto-label-width="true"> - - - - - - - - - - - - - - - - - - - - diff --git a/orion-visor-ui/src/views/system/setting/components/sftp-setting.vue b/orion-visor-ui/src/views/system/setting/components/sftp-setting.vue index 116d8da6..2b3ecc4d 100644 --- a/orion-visor-ui/src/views/system/setting/components/sftp-setting.vue +++ b/orion-visor-ui/src/views/system/setting/components/sftp-setting.vue @@ -9,11 +9,10 @@ label-align="right" :auto-label-width="true"> - - - - @@ -37,11 +35,10 @@ - - diff --git a/orion-visor-ui/src/views/system/setting/index.vue b/orion-visor-ui/src/views/system/setting/index.vue index 1920e05e..4dcf5bf2 100644 --- a/orion-visor-ui/src/views/system/setting/index.vue +++ b/orion-visor-ui/src/views/system/setting/index.vue @@ -132,6 +132,10 @@ .alert-href { text-decoration: none; } + + .input-wrapper { + width: 368px; + } } diff --git a/orion-visor-ui/src/views/system/setting/types/const.ts b/orion-visor-ui/src/views/system/setting/types/const.ts index 5881ef91..a1836041 100644 --- a/orion-visor-ui/src/views/system/setting/types/const.ts +++ b/orion-visor-ui/src/views/system/setting/types/const.ts @@ -4,5 +4,5 @@ export const SystemSettingTypes = { ENCRYPT: 'encrypt', LOGIN: 'login', LOG: 'log', - AUTO_CLEAR: 'autoClear', + AUTO_CLEAR: 'auto-clear', };