Compare commits

...

25 Commits

Author SHA1 Message Date
李佳航
032f1763f6 Merge pull request #95 from dromara/dev
Dev
2025-03-10 11:02:45 +08:00
lijiahangmax
d071ef64d8 🔨 编译问题. 2025-03-09 20:11:21 +08:00
lijiahangmax
c820443a3b 升级版本. 2025-03-09 20:00:10 +08:00
lijiahangmax
14c4e77445 修改终端提示. 2025-03-09 19:58:10 +08:00
lijiahangmax
79d9f69ed4 修改终端提示. 2025-03-08 12:44:33 +08:00
lijiahangmax
6c9065072d Merge remote-tracking branch 'origin/dev' into dev 2025-03-07 22:03:52 +08:00
lijiahang
05bc6c1fbb 修改路由规则. 2025-03-07 15:50:26 +08:00
lijiahang
a1dd9eec01 优化单元测试. 2025-03-07 14:57:26 +08:00
lijiahangmax
660df7c110 Merge remote-tracking branch 'origin/dev' into dev 2025-03-06 23:29:28 +08:00
lijiahang
093501a400 🐛 代码生成器未能读取到环境变量. 2025-03-06 10:17:48 +08:00
lijiahang
7943deb924 优化终端会话管理器. 2025-03-05 10:20:20 +08:00
lijiahangmax
490167e649 Merge remote-tracking branch 'origin/dev' into dev 2025-03-04 21:46:00 +08:00
lijiahang
8635f6bb05 🔨 修改静态资源匿名处理策略. 2025-03-04 10:27:55 +08:00
李佳航
9e31d820e0 Merge pull request #94 from dromara/dev
Dev
2025-03-03 11:25:03 +08:00
lijiahang
92353d859a 初始化 sql. 2025-03-03 11:13:42 +08:00
lijiahang
bef8d69e59 Merge remote-tracking branch 'origin/dev' into dev
# Conflicts:
#	sql/init-4-data.sql
2025-03-03 09:46:24 +08:00
lijiahangmax
ac46dd6703 🎨 优化统计样式. 2025-03-02 20:16:09 +08:00
lijiahangmax
b3ab78e063 🔖 升级版本. 2025-03-02 13:28:41 +08:00
lijiahangmax
95d2c6cb65 🔨 修改 sql 脚本. 2025-03-01 23:23:52 +08:00
lijiahang
7017c7502b 修改创建人逻辑. 2025-02-21 17:57:35 +08:00
李佳航
c14055ba8c Merge pull request #91 from dromara/dev
Dev
2025-02-19 10:17:03 +08:00
lijiahangmax
04aa6c9680 ✏️ 修改文档. 2025-02-18 23:35:48 +08:00
lijiahang
397bbb2657 🔖 升级版本. 2025-02-18 10:56:41 +08:00
lijiahang
9a68282127 🐛 修复计划任务日志无权限. 2025-02-18 10:54:10 +08:00
lijiahang
dcd02acc61 删除冗余配置. 2025-02-14 12:07:39 +08:00
74 changed files with 858 additions and 811 deletions

View File

@@ -1,5 +1,5 @@
#/bin/bash
version=2.3.2
version=2.3.5
docker build -t orion-visor-adminer:${version} .
docker tag orion-visor-adminer:${version} registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-adminer:${version}
docker tag orion-visor-adminer:${version} registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-adminer:latest

View File

@@ -1,5 +1,5 @@
#/bin/bash
version=2.3.2
version=2.3.5
cp -r ../../sql ./sql
docker build -t orion-visor-mysql:${version} .
rm -rf ./sql

View File

@@ -1,5 +1,5 @@
#/bin/bash
version=2.3.2
version=2.3.5
docker push registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-adminer:${version}
docker push registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-mysql:${version}
docker push registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-redis:${version}

View File

@@ -1,5 +1,5 @@
#/bin/bash
version=2.3.2
version=2.3.5
docker build -t orion-visor-redis:${version} .
docker tag orion-visor-redis:${version} registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-redis:${version}
docker tag orion-visor-redis:${version} registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-redis:latest

View File

@@ -1,8 +1,8 @@
#/bin/bash
version=2.3.2
version=2.3.5
mv ../../orion-visor-launch/target/orion-visor-launch.jar ./orion-visor-launch.jar
mv ../../orion-visor-ui/dist ./dist
docker build --no-cache -t orion-visor-service:${version} .
docker build -t orion-visor-service:${version} .
rm -rf ./orion-visor-launch.jar
rm -rf ./dist
docker tag orion-visor-service:${version} registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-service:${version}

View File

@@ -20,21 +20,21 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.dromara.visor.launch.configuration;
package org.dromara.visor.common.configuration;
import cn.orionsec.kit.spring.SpringHolder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* 应用配置类
* spring 配置类
*
* @author Jiahang Li
* @version 1.0.0
* @since 2023/6/20 10:34
*/
@Configuration
public class LaunchApplicationConfiguration {
public class SpringConfiguration {
/**
* @return spring 容器工具类

View File

@@ -36,7 +36,7 @@ public interface AppConst extends OrionConst {
/**
* 同 ${orion.version} 迭代时候需要手动更改
*/
String VERSION = "2.3.2";
String VERSION = "2.3.5";
/**
* 同 ${spring.application.name}

View File

@@ -45,4 +45,11 @@ public interface SecurityHolder {
*/
Long getLoginUserId();
/**
* 获取当前用户名
*
* @return username
*/
String getLoginUsername();
}

View File

@@ -14,7 +14,7 @@
<url>https://github.com/dromara/orion-visor</url>
<properties>
<revision>2.3.2</revision>
<revision>2.3.5</revision>
<spring.boot.version>2.7.17</spring.boot.version>
<spring.boot.admin.version>2.7.15</spring.boot.admin.version>
<flatten.maven.plugin.version>1.5.0</flatten.maven.plugin.version>

View File

@@ -23,6 +23,8 @@
package org.dromara.visor.framework.mybatis.core.generator;
import cn.orionsec.kit.lang.constant.Const;
import cn.orionsec.kit.lang.utils.Strings;
import cn.orionsec.kit.lang.utils.Systems;
import cn.orionsec.kit.lang.utils.ansi.AnsiAppender;
import cn.orionsec.kit.lang.utils.ansi.style.AnsiFont;
import cn.orionsec.kit.lang.utils.ansi.style.color.AnsiForeground;
@@ -32,6 +34,8 @@ import org.dromara.visor.framework.mybatis.core.generator.template.Table;
import org.dromara.visor.framework.mybatis.core.generator.template.Template;
import java.io.File;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 代码生成器
@@ -42,6 +46,8 @@ import java.io.File;
*/
public class CodeGenerators {
private static final Pattern ENV_VAR_PATTERN = Pattern.compile("\\$\\{([^:]+):([^}]+)\\}");
public static void main(String[] args) {
// 输出路径
String outputDir = "D:/MP/";
@@ -76,11 +82,6 @@ public class CodeGenerators {
.disableUnitTest()
.enableProviderApi()
.vue("system", "message")
.dict("messageClassify", "classify", "messageClassify")
.comment("消息分类")
.fields("NOTICE", "TODO")
.labels("通知", "待办")
.valueUseFields()
.dict("messageType", "type", "messageType")
.comment("消息类型")
.fields("EXEC_FAILED", "UPLOAD_FAILED")
@@ -94,9 +95,9 @@ public class CodeGenerators {
// jdbc 配置 - 使用配置文件
File yamlFile = new File("orion-visor-launch/src/main/resources/application-dev.yaml");
YmlExt yaml = YmlExt.load(yamlFile);
String url = yaml.getValue("spring.datasource.druid.url");
String username = yaml.getValue("spring.datasource.druid.username");
String password = yaml.getValue("spring.datasource.druid.password");
String url = resolveConfigValue(yaml.getValue("spring.datasource.druid.url"));
String username = resolveConfigValue(yaml.getValue("spring.datasource.druid.username"));
String password = resolveConfigValue(yaml.getValue("spring.datasource.druid.password"));
// 执行
runGenerator(outputDir, author,
@@ -147,4 +148,31 @@ public class CodeGenerators {
System.out.print(line);
}
/**
* 解析实际的配置
*
* @param value value
* @return value
*/
private static String resolveConfigValue(String value) {
if (Strings.isBlank(value)) {
return value;
}
Matcher matcher = ENV_VAR_PATTERN.matcher(value);
StringBuffer resultString = new StringBuffer();
while (matcher.find()) {
// 环境变量名
String envVar = matcher.group(1);
// 默认值
String defaultValue = matcher.group(2);
// 获取环境变量的值
String envValue = Systems.getEnv(envVar, defaultValue);
// 替换占位符
matcher.appendReplacement(resultString, Matcher.quoteReplacement(envValue));
}
// 处理结尾的剩余部分
matcher.appendTail(resultString);
return resultString.toString();
}
}

View File

@@ -50,6 +50,7 @@ public class DomainFillUtils {
*/
public static void fillInsert(BaseDO baseDO) {
Date now = new Date();
String username = securityHolder.getLoginUsername();
// 创建时间
if (Objects.isNull(baseDO.getCreateTime())) {
baseDO.setCreateTime(now);
@@ -58,15 +59,13 @@ public class DomainFillUtils {
if (Objects.isNull(baseDO.getUpdateTime())) {
baseDO.setUpdateTime(now);
}
Long userId = securityHolder.getLoginUserId();
// 创建人
if (Objects.nonNull(userId) && Objects.isNull(baseDO.getCreator())) {
baseDO.setCreator(userId.toString());
if (Objects.nonNull(username) && Objects.isNull(baseDO.getCreator())) {
baseDO.setCreator(username);
}
// 更新人
if (Objects.nonNull(userId) && Objects.isNull(baseDO.getUpdater())) {
baseDO.setUpdater(userId.toString());
if (Objects.nonNull(username) && Objects.isNull(baseDO.getUpdater())) {
baseDO.setUpdater(username);
}
// 逻辑删除字段
if (Objects.isNull(baseDO.getDeleted())) {
@@ -85,9 +84,9 @@ public class DomainFillUtils {
baseDO.setUpdateTime(new Date());
}
// 更新人
Long userId = securityHolder.getLoginUserId();
if (Objects.nonNull(userId) && Objects.isNull(baseDO.getUpdater())) {
baseDO.setUpdater(userId.toString());
String username = securityHolder.getLoginUsername();
if (Objects.nonNull(username) && Objects.isNull(baseDO.getUpdater())) {
baseDO.setUpdater(username);
}
}

View File

@@ -11,10 +11,10 @@ SELECT @TYPE_KEY_ID:= id FROM dict_key WHERE key_name = 'operatorLogType' AND de
INSERT INTO dict_value
(`key_id`, `key_name`, `value`, `label`, `extra`, `sort`, `create_time`, `update_time`, `creator`, `updater`, `deleted`)
VALUES
(@MODULE_KEY_ID, 'operatorLogModule', '${package.ModuleName}:${typeHyphen}', '$!{table.comment}', '{}', @MODULE_KEY_MAX_SORT + 10, now(), now(), '1', '1', 0),
(@TYPE_KEY_ID, 'operatorLogType', '${typeHyphen}:create', '创建$!{table.comment}', '{}', 10, now(), now(), '1', '1', 0),
(@TYPE_KEY_ID, 'operatorLogType', '${typeHyphen}:update', '更新$!{table.comment}', '{}', 20, now(), now(), '1', '1', 0),
(@TYPE_KEY_ID, 'operatorLogType', '${typeHyphen}:delete', '删除$!{table.comment}', '{}', 30, now(), now(), '1', '1', 0);
(@MODULE_KEY_ID, 'operatorLogModule', '${package.ModuleName}:${typeHyphen}', '$!{table.comment}', '{}', @MODULE_KEY_MAX_SORT + 10, now(), now(), 'admin', 'admin', 0),
(@TYPE_KEY_ID, 'operatorLogType', '${typeHyphen}:create', '创建$!{table.comment}', '{}', 10, now(), now(), 'admin', 'admin', 0),
(@TYPE_KEY_ID, 'operatorLogType', '${typeHyphen}:update', '更新$!{table.comment}', '{}', 20, now(), now(), 'admin', 'admin', 0),
(@TYPE_KEY_ID, 'operatorLogType', '${typeHyphen}:delete', '删除$!{table.comment}', '{}', 30, now(), now(), 'admin', 'admin', 0);
#end
#if($dictMap.entrySet().size() > 0)
@@ -23,7 +23,7 @@ VALUES
INSERT INTO dict_key
(`key_name`, `value_type`, `extra_schema`, `description`, `create_time`, `update_time`, `creator`, `updater`, `deleted`)
VALUES
('$enumEntity.value.keyName', 'STRING', '$enumEntity.value.extraSchema', '$enumEntity.value.comment', now(), now(), '1', '1', 0);
('$enumEntity.value.keyName', 'STRING', '$enumEntity.value.extraSchema', '$enumEntity.value.comment', now(), now(), 'admin', 'admin', 0);
-- 设置临时配置项id
SELECT @TMP_KEY_ID:=LAST_INSERT_ID();
@@ -35,7 +35,7 @@ VALUES
#set($count = $enumEntity.value.fields.size() - 1)
#foreach($index in [0..$count])
#set($sort = $index * 10 + 10)
(@TMP_KEY_ID, '$enumEntity.value.keyName', '$enumEntity.value.values.get($index)', '$enumEntity.value.labels.get($index)', #if($enumEntity.value.extraJson.size() > $index)'$enumEntity.value.extraJson.get($index)'#else'{}'#end, $sort, now(), now(), '1', '1', 0)#if($foreach.hasNext),#else;#end
(@TMP_KEY_ID, '$enumEntity.value.keyName', '$enumEntity.value.values.get($index)', '$enumEntity.value.labels.get($index)', #if($enumEntity.value.extraJson.size() > $index)'$enumEntity.value.extraJson.get($index)'#else'{}'#end, $sort, now(), now(), 'admin', 'admin', 0)#if($foreach.hasNext),#else;#end
#end
#end

View File

@@ -4,7 +4,7 @@
INSERT INTO system_menu
(parent_id, name, type, sort, visible, status, cache, component, creator, updater, deleted)
VALUES
(0, '${table.comment}管理', 1, 10, 1, 1, 1, '${vue.moduleEntityFirstLower}Module', '1', '1', 0);
(0, '${table.comment}管理', 1, 10, 1, 1, 1, '${vue.moduleEntityFirstLower}Module', 'admin', 'admin', 0);
-- 设置临时父菜单id
SELECT @TMP_PARENT_ID:=LAST_INSERT_ID();
@@ -13,7 +13,7 @@ SELECT @TMP_PARENT_ID:=LAST_INSERT_ID();
INSERT INTO system_menu
(parent_id, name, type, sort, visible, status, cache, component, creator, updater, deleted)
VALUES
(@TMP_PARENT_ID, '$table.comment', 2, 10, 1, 1, 1, '$vue.featureEntityFirstLower', '1', '1', 0);
(@TMP_PARENT_ID, '$table.comment', 2, 10, 1, 1, 1, '$vue.featureEntityFirstLower', 'admin', 'admin', 0);
-- 设置临时子菜单id
SELECT @TMP_SUB_ID:=LAST_INSERT_ID();
@@ -22,7 +22,7 @@ SELECT @TMP_SUB_ID:=LAST_INSERT_ID();
INSERT INTO system_menu
(parent_id, name, permission, type, sort, creator, updater, deleted)
VALUES
(@TMP_SUB_ID, '查询$table.comment', '${package.ModuleName}:${typeHyphen}:query', 3, 10, '1', '1', 0),
(@TMP_SUB_ID, '创建$table.comment', '${package.ModuleName}:${typeHyphen}:create', 3, 20, '1', '1', 0),
(@TMP_SUB_ID, '修改$table.comment', '${package.ModuleName}:${typeHyphen}:update', 3, 30, '1', '1', 0),
(@TMP_SUB_ID, '删除$table.comment', '${package.ModuleName}:${typeHyphen}:delete', 3, 40, '1', '1', 0);
(@TMP_SUB_ID, '查询$table.comment', '${package.ModuleName}:${typeHyphen}:query', 3, 10, 'admin', 'admin', 0),
(@TMP_SUB_ID, '创建$table.comment', '${package.ModuleName}:${typeHyphen}:create', 3, 20, 'admin', 'admin', 0),
(@TMP_SUB_ID, '修改$table.comment', '${package.ModuleName}:${typeHyphen}:update', 3, 30, 'admin', 'admin', 0),
(@TMP_SUB_ID, '删除$table.comment', '${package.ModuleName}:${typeHyphen}:delete', 3, 40, 'admin', 'admin', 0);

View File

@@ -8,7 +8,7 @@ const $vue.moduleConst: AppRouteRecordRaw = {
children: [
{
name: '$vue.featureEntityFirstLower',
path: '/$vue.feature',
path: '/$vue.module/$vue.feature',
component: () => import('@/views/$vue.module/$vue.feature/index.vue'),
},
],

View File

@@ -3,7 +3,7 @@ import { dateFormat } from '@/utils';
const fieldConfig = {
rowGap: '10px',
labelSpan: 8,
labelSpan: 6,
minHeight: '22px',
fields: [
{

View File

@@ -45,4 +45,9 @@ public class SecurityHolderDelegate implements SecurityHolder {
return SecurityUtils.getLoginUserId();
}
@Override
public String getLoginUsername() {
return SecurityUtils.getLoginUsername();
}
}

View File

@@ -38,7 +38,27 @@ public class StaticResourceAuthorizeRequestsCustomizer extends AuthorizeRequests
@Override
public void customize(ExpressionUrlAuthorizationConfigurer<HttpSecurity>.ExpressionInterceptUrlRegistry registry) {
// 静态资源可匿名访问
registry.antMatchers(HttpMethod.GET, "/*.html", "/**/*.html", "/**/*.css", "/**/*.js").permitAll();
registry.antMatchers(HttpMethod.GET,
"/*.html",
"/*.css",
"/*.js",
"/*.gz",
"/*.ico",
"/*.jpg",
"/*.png",
"/*.svg",
"/*.json",
"/*.webmanifest",
"/**/*.html",
"/**/*.css",
"/**/*.js",
"/**/*.gz",
"/**/*.ico",
"/**/*.jpg",
"/**/*.png",
"/**/*.svg",
"/**/*.json"
).permitAll();
}
}

View File

@@ -71,6 +71,11 @@ public class OrionMockBeanTestConfiguration {
public Long getLoginUserId() {
return DEFAULT.getId();
}
@Override
public String getLoginUsername() {
return DEFAULT.getUsername();
}
};
}

View File

@@ -24,6 +24,7 @@ package org.dromara.visor.framework.test.core.base;
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure;
import com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration;
import org.dromara.visor.common.configuration.SpringConfiguration;
import org.dromara.visor.framework.datasource.configuration.OrionDataSourceAutoConfiguration;
import org.dromara.visor.framework.mybatis.configuration.OrionMybatisAutoConfiguration;
import org.dromara.visor.framework.redis.configuration.OrionRedisAutoConfiguration;
@@ -57,6 +58,8 @@ import org.springframework.transaction.annotation.Transactional;
public class BaseUnitTest {
@Import({
// spring
SpringConfiguration.class,
// mock
OrionMockBeanTestConfiguration.class,
OrionMockRedisTestConfiguration.class,
@@ -74,7 +77,6 @@ public class BaseUnitTest {
RedisAutoConfiguration.class,
RedissonAutoConfiguration.class,
})
// TODO
public static class Application {
}

View File

@@ -42,7 +42,11 @@ import java.util.Optional;
* @version 1.0.0
* @since 2023/6/19 16:55
*/
@SpringBootApplication(scanBasePackages = {"org.dromara.visor.launch", "org.dromara.visor.module"})
@SpringBootApplication(scanBasePackages = {
"org.dromara.visor.launch",
"org.dromara.visor.common",
"org.dromara.visor.module"
})
public class LaunchApplication {
public static void main(String[] args) {

View File

@@ -1,18 +1,18 @@
spring:
datasource:
druid:
url: jdbc:mysql://127.0.0.1:3306/orion_visor?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=Asia/Shanghai&autoReconnect=true
username: root
password: Data@123456
url: jdbc:mysql://${MYSQL_HOST:127.0.0.1}:${MYSQL_PORT:3306}/${MYSQL_DATABASE:orion_visor}?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=Asia/Shanghai&autoReconnect=true
username: ${MYSQL_USER:root}
password: ${MYSQL_PASSWORD:Data@123456}
initial-size: 0
min-idle: 1
max-active: 5
stat-view-servlet:
enabled: false
redis:
host: 127.0.0.1
port: 6379
password: Data@123456
host: ${REDIS_HOST:127.0.0.1}
port: ${REDIS_PORT:6379}
password: ${REDIS_PASSWORD:Data@123456}
redisson:
threads: 2
netty-threads: 2

View File

@@ -157,51 +157,6 @@ logging:
level:
org.dromara.visor.launch.controller.BootstrapController: INFO
# 应用配置
app:
# 认证配置
authentication:
# 是否允许多端登录
allow-multi-device: true
# 是否允许凭证续签
allow-refresh: true
# 凭证续签最大次数
max-refresh-count: 3
# 登录失败发送站内信阈值
login-failed-send-threshold: 3
# 登录失败锁定次数
login-failed-lock-count: 5
# 登录失败锁定时间 (分)
login-failed-lock-time: 30
# tracker 配置
tracker:
# 加载偏移量 (行)
offset: 300
# 延迟时间 (ms)
delay: 100
# 文件未找到等待次数
wait-times: 100
# sftp 配置
sftp:
# 上传文件时 文件存在是否备份
upload-present-backup: true
# 备份文件名称
backup-file-name: bk_${fileName}_${timestamp}
# 执行日志
exec-log:
# 是否拼接 ansi 执行状态日志
append-ansi: true
# 自动清理配置
auto-clear:
# 批量执行日志
exec-log:
enabled: false
keep-period: 30
# 终端连接日志
terminal-connect-log:
enabled: false
keep-period: 30
# orion framework config
orion:
# 版本

View File

@@ -39,9 +39,9 @@ import java.util.function.Function;
*/
public class ReplaceVersion {
private static final String TARGET_VERSION = "2.3.1";
private static final String TARGET_VERSION = "2.3.4";
private static final String REPLACE_VERSION = "2.3.2";
private static final String REPLACE_VERSION = "2.3.5";
private static final String PATH = new File("").getAbsolutePath();

View File

@@ -82,6 +82,10 @@
<groupId>org.dromara.visor</groupId>
<artifactId>orion-visor-spring-boot-starter-job</artifactId>
</dependency>
<dependency>
<groupId>org.dromara.visor</groupId>
<artifactId>orion-visor-spring-boot-starter-test</artifactId>
</dependency>
</dependencies>
</project>

View File

@@ -63,7 +63,7 @@ public class AssetAuthorizedDataServiceController {
@IgnoreLog(IgnoreLogMode.RET)
@GetMapping("/current-host")
@Operation(summary = "查询当前用户已授权的主机")
public AuthorizedHostWrapperVO getCurrentAuthorizedHost(@RequestParam("type") String type) {
public AuthorizedHostWrapperVO getCurrentAuthorizedHost(@RequestParam(value = "type", required = false) String type) {
return assetAuthorizedDataService.getUserAuthorizedHost(SecurityUtils.getLoginUserId(), type);
}

View File

@@ -94,7 +94,7 @@ public class ExecJobLogController {
@IgnoreLog(IgnoreLogMode.RET)
@GetMapping("/get-host")
@Operation(summary = "查询执行主机日志")
@PreAuthorize("@ss.hasPermission('exec:exec-job-log:query')")
@PreAuthorize("@ss.hasPermission('asset:exec-job-log:query')")
public ExecHostLogVO getExecJobHostLog(@RequestParam("id") Long id) {
return execHostLogService.getExecHostLog(id);
}
@@ -163,7 +163,7 @@ public class ExecJobLogController {
@GetMapping("/tail")
@Operation(summary = "查看计划任务日志")
@Parameter(name = "id", description = "id", required = true)
@PreAuthorize("@ss.hasPermission('exec:exec-job-log:query')")
@PreAuthorize("@ss.hasPermission('asset:exec-job-log:query')")
public String getExecJobLogTailToken(@RequestParam("id") Long id) {
return execLogService.getExecLogTailToken(id);
}

View File

@@ -49,7 +49,17 @@ public interface TerminalConnectLogDAO extends IMapper<TerminalConnectLogDO> {
* @param limit limit
* @return hostId
*/
List<Long> selectLatestConnectHostId(@Param("userId") Long userId, @Param("type") String type, @Param("limit") Integer limit);
default List<Long> selectLatestConnectHostId(Long userId, String type, Integer limit) {
return this.of()
.createWrapper(true)
.select(TerminalConnectLogDO::getHostId)
.eq(TerminalConnectLogDO::getUserId, userId)
.eq(TerminalConnectLogDO::getType, type)
.orderByDesc(TerminalConnectLogDO::getId)
.then()
.limit(limit)
.list(TerminalConnectLogDO::getHostId);
}
/**
* 查询终端连接日志用户数量

View File

@@ -31,10 +31,10 @@ package org.dromara.visor.module.asset.handler.host.jsch;
*/
public interface SessionMessage {
String AUTHENTICATION_FAILURE = "authentication failed. please check the configuration. - {}";
String AUTHENTICATION_FAILURE = "身份认证失败. {}";
String SERVER_UNREACHABLE = "remote server unreachable. please check the configuration. - {}";
String SERVER_UNREACHABLE = "无法连接至服务器. {}";
String CONNECTION_TIMEOUT = "connection timeout. - {}";
String CONNECTION_TIMEOUT = "连接服务器超时. {}";
}

View File

@@ -135,13 +135,6 @@ public interface HostService {
*/
void deleteHostRelByIdListAsync(List<Long> idList);
/**
* 获取当前更新配置的 hostId
*
* @return hostId
*/
Long getCurrentUpdateConfigHostId();
/**
* 清除缓存
*/

View File

@@ -83,8 +83,6 @@ import java.util.stream.Collectors;
@Service
public class HostServiceImpl implements HostService {
private static final ThreadLocal<Long> CURRENT_UPDATE_CONFIG_ID = new ThreadLocal<>();
@Resource
private HostDAO hostDAO;
@@ -185,30 +183,25 @@ public class HostServiceImpl implements HostService {
OperatorLogs.add(ExtraFieldConst.CONFIG, param);
log.info("HostService-updateHostConfig request: {}", param);
Long id = request.getId();
try {
CURRENT_UPDATE_CONFIG_ID.set(id);
// 查询主机信息
HostDO host = hostDAO.selectById(id);
Valid.notNull(host, ErrorMessage.HOST_ABSENT);
HostTypeEnum type = Valid.valid(HostTypeEnum::of, host.getType());
GenericsDataModel beforeConfig = type.parse(host.getConfig());
GenericsDataModel newConfig = type.parse(request.getConfig());
// 添加日志参数
OperatorLogs.add(OperatorLogs.ID, id);
OperatorLogs.add(OperatorLogs.NAME, host.getName());
// 更新前校验
type.doValid(beforeConfig, newConfig);
// 修改配置
HostDO updateHost = HostDO.builder()
.id(id)
.config(newConfig.serial())
.build();
int effect = hostDAO.updateById(updateHost);
log.info("HostService-updateHostConfig effect: {}", effect);
return effect;
} finally {
CURRENT_UPDATE_CONFIG_ID.remove();
}
// 查询主机信息
HostDO host = hostDAO.selectById(id);
Valid.notNull(host, ErrorMessage.HOST_ABSENT);
HostTypeEnum type = Valid.valid(HostTypeEnum::of, host.getType());
GenericsDataModel beforeConfig = type.parse(host.getConfig());
GenericsDataModel newConfig = type.parse(request.getConfig());
// 添加日志参数
OperatorLogs.add(OperatorLogs.ID, id);
OperatorLogs.add(OperatorLogs.NAME, host.getName());
// 更新前校验
type.doValid(beforeConfig, newConfig);
// 修改配置
HostDO updateHost = HostDO.builder()
.id(id)
.config(newConfig.serial())
.build();
int effect = hostDAO.updateById(updateHost);
log.info("HostService-updateHostConfig effect: {}", effect);
return effect;
}
@Override
@@ -348,11 +341,6 @@ public class HostServiceImpl implements HostService {
dataExtraApi.deleteByRelIdList(DataExtraTypeEnum.HOST, idList);
}
@Override
public Long getCurrentUpdateConfigHostId() {
return CURRENT_UPDATE_CONFIG_ID.get();
}
@Override
public void clearCache() {
RedisMaps.scanKeysDelete(HostCacheKeyDefine.HOST_INFO.format("*"));

View File

@@ -48,6 +48,7 @@ import org.dromara.visor.module.asset.enums.HostIdentityTypeEnum;
import org.dromara.visor.module.asset.enums.HostSshAuthTypeEnum;
import org.dromara.visor.module.asset.handler.host.config.model.HostSshConfigModel;
import org.dromara.visor.module.asset.handler.host.extra.model.HostSshExtraModel;
import org.dromara.visor.module.asset.service.AssetAuthorizedDataService;
import org.dromara.visor.module.asset.service.HostConfigService;
import org.dromara.visor.module.asset.service.HostExtraService;
import org.dromara.visor.module.asset.service.TerminalService;
@@ -81,7 +82,7 @@ public class TerminalServiceImpl implements TerminalService {
private HostExtraService hostExtraService;
@Resource
private AssetAuthorizedDataServiceImpl assetAuthorizedDataService;
private AssetAuthorizedDataService assetAuthorizedDataService;
@Resource
private HostDAO hostDAO;

View File

@@ -33,16 +33,6 @@
id, user_id, username, host_id, host_name, host_address, type, session_id, status, start_time, end_time, extra_info, create_time, update_time, deleted
</sql>
<select id="selectLatestConnectHostId" resultType="java.lang.Long">
SELECT host_id
FROM terminal_connect_log
WHERE deleted = 0
AND type = #{type}
AND user_id = #{userId}
ORDER BY id DESC
LIMIT #{limit}
</select>
<select id="selectConnectLogUserCount" resultMap="CountResultMap">
SELECT DATE(create_time) connect_date, COUNT(1) total_count
FROM terminal_connect_log

View File

@@ -3,4 +3,4 @@ VITE_API_BASE_URL=http://127.0.0.1:9200/orion-visor/api
# websocket 路径
VITE_WS_BASE_URL=ws://127.0.0.1:9200/orion-visor/keep-alive
# 版本号
VITE_APP_VERSION=2.3.2
VITE_APP_VERSION=2.3.5

View File

@@ -3,4 +3,4 @@ VITE_API_BASE_URL=/orion-visor/api
# websocket 路径
VITE_WS_BASE_URL=/orion-visor/keep-alive
# 版本号
VITE_APP_VERSION=2.3.2
VITE_APP_VERSION=2.3.5

View File

@@ -1,7 +1,7 @@
{
"name": "orion-visor-ui",
"description": "Orion Visor UI",
"version": "2.3.2",
"version": "2.3.5",
"private": true,
"author": "Jiahang Li",
"license": "Apache 2.0",

View File

@@ -58,7 +58,7 @@
v-model:selected-group="selectedGroup"
:host-list="hostList"
:groups="hosts?.groupTree as any"
:nodes="treeNodes" />
:nodes="treeNodes as any" />
<!-- 列表视图 -->
<host-table v-else
v-model:selected-keys="selectedKeys"
@@ -83,13 +83,13 @@
import { onMounted, ref, watch, computed } from 'vue';
import { dataColor } from '@/utils';
import { dictKeys, NewConnectionType, newConnectionTypeKey } from './types/const';
import { useDictStore } from '@/store';
import { useCacheStore, useDictStore } from '@/store';
import { tagLabelFilter } from '@/types/form';
import { tagColor } from '@/views/asset/host-list/types/const';
import useLoading from '@/hooks/loading';
import useVisible from '@/hooks/visible';
import { getCurrentAuthorizedHost } from '@/api/asset/asset-authorized-data';
import { getAuthorizedHostOptions } from '@/types/options';
import { getLatestConnectHostId } from '@/api/asset/terminal-connect-log';
import HostTable from './components/host-table.vue';
import HostGroup from './components/host-group.vue';
@@ -151,10 +151,13 @@
setLoading(true);
try {
// 加载主机列表
const { data } = await getCurrentAuthorizedHost(props.type);
hosts.value = data;
const data = await useCacheStore().loadAuthorizedHosts(props.type);
// 禁用别名
data.hostList.forEach(s => s.alias = undefined as unknown as string);
// 查询最近连接的主机
const { data: latestHosts } = await getLatestConnectHostId(props.type as string, 30);
data.latestHosts = latestHosts;
hosts.value = data;
// 设置主机搜索选项
filterOptions.value = getAuthorizedHostOptions(data.hostList);
} catch (e) {

View File

@@ -27,7 +27,7 @@
<script lang="ts" setup>
import type { ExecLogQueryResponse } from '@/api/exec/exec-log';
import type { ExecType, ILogAppender } from '../const';
import { onUnmounted, ref, nextTick, onMounted } from 'vue';
import { onUnmounted, ref, nextTick, onMounted, markRaw } from 'vue';
import { getExecCommandLogStatus } from '@/api/exec/exec-command-log';
import { getExecJobLogStatus } from '@/api/exec/exec-job-log';
import { dictKeys, ExecHostStatus, ExecStatus } from '../const';
@@ -58,11 +58,11 @@
const { log_webScrollLines } = await useCacheStore().loadSystemSetting();
const scrollLines = toAnonymousNumber(log_webScrollLines) || 1000;
// 创建 appender
appender.value = new LogAppender({
appender.value = markRaw(new LogAppender({
id: record.id,
type: props.type,
scrollLines,
});
}));
// 定时查询执行状态
if (record.status === ExecStatus.WAITING ||
record.status === ExecStatus.RUNNING) {

View File

@@ -8,17 +8,17 @@ const ASSET_AUDIT: AppRouteRecordRaw = {
children: [
{
name: 'connectLog',
path: '/connect-log',
path: '/audit/connect-log',
component: () => import('@/views/asset-audit/connect-log/index.vue'),
},
{
name: 'connectSession',
path: '/connect-session',
path: '/audit/connect-session',
component: () => import('@/views/asset-audit/connect-session/index.vue'),
},
{
name: 'sftpLog',
path: '/sftp-log',
path: '/audit/sftp-log',
component: () => import('@/views/asset-audit/sftp-log/index.vue'),
},
],

View File

@@ -8,19 +8,19 @@ const ASSET: AppRouteRecordRaw = {
children: [
{
name: 'hostList',
path: '/host-list',
path: '/asset/host',
component: () => import('@/views/asset/host-list/index.vue'),
}, {
name: 'hostKey',
path: '/host-key',
path: '/asset/host-key',
component: () => import('@/views/asset/host-key/index.vue'),
}, {
name: 'hostIdentity',
path: '/host-identity',
path: '/asset/host-identity',
component: () => import('@/views/asset/host-identity/index.vue'),
}, {
name: 'assetGrant',
path: '/asset-grant',
path: '/asset/grant',
component: () => import('@/views/asset/grant/index.vue'),
},
],

View File

@@ -9,37 +9,37 @@ const EXEC: Array<AppRouteRecordRaw> = [
children: [
{
name: 'execCommand',
path: '/exec-command',
path: '/exec/command',
component: () => import('@/views/exec/exec-command/index.vue'),
},
{
name: 'execCommandLog',
path: '/exec-log',
path: '/exec/command-log',
component: () => import('@/views/exec/exec-command-log/index.vue'),
},
{
name: 'execJob',
path: '/exec-job',
path: '/exec/job',
component: () => import('@/views/exec/exec-job/index.vue'),
},
{
name: 'execJobLog',
path: '/exec-job-log',
path: '/exec/job-log',
component: () => import('@/views/exec/exec-job-log/index.vue'),
},
{
name: 'batchUpload',
path: '/batch-upload',
path: '/exec/upload',
component: () => import('@/views/exec/batch-upload/index.vue'),
},
{
name: 'uploadTask',
path: '/upload-task',
path: '/exec/upload-task',
component: () => import('@/views/exec/upload-task/index.vue'),
},
{
name: 'execTemplate',
path: '/exec-template',
path: '/exec/template',
component: () => import('@/views/exec/exec-template/index.vue'),
},
],
@@ -50,7 +50,7 @@ const EXEC: Array<AppRouteRecordRaw> = [
children: [
{
name: 'execJobLogView',
path: '/job-log-view',
path: '/exec/job-log/view',
component: () => import('@/views/exec/exec-job-log-view/index.vue'),
},
],

View File

@@ -8,17 +8,17 @@ const SYSTEM: AppRouteRecordRaw = {
children: [
{
name: 'systemMenu',
path: '/menu',
path: '/system/menu',
component: () => import('@/views/system/menu/index.vue'),
},
{
name: 'dictKey',
path: '/dict-key',
path: '/system/dict-key',
component: () => import('@/views/system/dict-key/index.vue'),
},
{
name: 'dictValue',
path: '/dict-value',
path: '/system/dict-value',
component: () => import('@/views/system/dict-value/index.vue'),
},
{

View File

@@ -8,22 +8,22 @@ const USER: AppRouteRecordRaw = {
children: [
{
name: 'role',
path: '/role',
path: '/user/role',
component: () => import('@/views/user/role/index.vue'),
},
{
name: 'user',
path: '/user',
path: '/user/list',
component: () => import('@/views/user/user/index.vue'),
},
{
name: 'userInfo',
path: '/user-info',
path: '/user/info',
component: () => import('@/views/user/info/index.vue'),
},
{
name: 'operatorLog',
path: '/operator-log',
path: '/user/operator-log',
component: () => import('@/views/user/operator-log/index.vue'),
},
],

View File

@@ -15,7 +15,7 @@ import { getHostKeyList } from '@/api/asset/host-key';
import { getHostIdentityList } from '@/api/asset/host-identity';
import { getHostGroupTree } from '@/api/asset/host-group';
import { getMenuList } from '@/api/system/menu';
import { getCurrentAuthorizedHostIdentity, getCurrentAuthorizedHostKey } from '@/api/asset/asset-authorized-data';
import { getCurrentAuthorizedHost, getCurrentAuthorizedHostIdentity, getCurrentAuthorizedHostKey } from '@/api/asset/asset-authorized-data';
import { getCommandSnippetGroupList } from '@/api/asset/command-snippet-group';
import { getExecJobList } from '@/api/exec/exec-job';
import { getPathBookmarkGroupList } from '@/api/asset/path-bookmark-group';
@@ -99,8 +99,8 @@ export default defineStore('cache', {
},
// 获取主机列表
async loadHosts(type: HostType, force = false) {
return await this.load(`host_${type}`, () => getHostList(type), ['asset:host:query'], force);
async loadHosts(type: HostType = '', force = false) {
return await this.load(`host_${type || 'ALL'}`, () => getHostList(type), ['asset:host:query'], force);
},
// 获取主机密钥列表
@@ -123,6 +123,11 @@ export default defineStore('cache', {
return await this.load(`${type}_Tags`, () => getTagList(type), undefined, force);
},
// 获取已授权的主机列表
async loadAuthorizedHosts(type: HostType = '', force = false) {
return await this.load(`authorizedHost_${type || 'ALL'}`, () => getCurrentAuthorizedHost(type), undefined, force);
},
// 获取已授权的主机密钥列表
async loadAuthorizedHostKeys(force = false) {
return await this.load('authorizedHostKeys', getCurrentAuthorizedHostKey, undefined, force);

View File

@@ -1,6 +1,7 @@
// 缓存类型
export type CacheType = 'users' | 'menus' | 'roles'
| 'hostGroups' | 'hostKeys' | 'hostIdentities' | 'host_*'
| 'hostGroups' | 'host_*' | 'authorizedHost_*'
| 'hostKeys' | 'hostIdentities'
| 'dictKeys'
| 'execJob'
| 'authorizedHostKeys' | 'authorizedHostIdentities'

View File

@@ -10,16 +10,17 @@ import type {
} from './types';
import type { ISshSession, ITerminalSession, PanelSessionTabType, TerminalPanelTabItem } from '@/views/host/terminal/types/define';
import type { AuthorizedHostQueryResponse } from '@/api/asset/asset-authorized-data';
import { getCurrentAuthorizedHost } from '@/api/asset/asset-authorized-data';
import type { HostQueryResponse } from '@/api/asset/host';
import type { TerminalTheme, TerminalThemeSchema } from '@/api/asset/terminal';
import { getTerminalThemes } from '@/api/asset/terminal';
import { markRaw } from 'vue';
import { defineStore } from 'pinia';
import { getPreference, updatePreference } from '@/api/user/preference';
import { getLatestConnectHostId } from '@/api/asset/terminal-connect-log';
import { nextId } from '@/utils';
import { isObject } from '@/utils/is';
import { Message } from '@arco-design/web-vue';
import { useCacheStore } from '@/store';
import { PanelSessionType, TerminalTabs } from '@/views/host/terminal/types/const';
import TerminalTabManager from '@/views/host/terminal/handler/terminal-tab-manager';
import TerminalSessionManager from '@/views/host/terminal/handler/terminal-session-manager';
@@ -73,7 +74,7 @@ export default defineStore('terminal', {
hosts: {} as AuthorizedHostQueryResponse,
tabManager: new TerminalTabManager(),
panelManager: new TerminalPanelManager(),
sessionManager: new TerminalSessionManager(),
sessionManager: markRaw(new TerminalSessionManager()),
transferManager: new SftpTransferManager(),
}),
@@ -130,18 +131,18 @@ export default defineStore('terminal', {
},
// 加载主机列表
async loadHosts() {
async loadHostList() {
if (this.hosts.hostList?.length) {
return;
}
// 查询授权主机
const { data } = await getCurrentAuthorizedHost('SSH');
const data = await useCacheStore().loadAuthorizedHosts();
Object.keys(data).forEach(k => {
this.hosts[k as keyof AuthorizedHostQueryResponse] = data[k as keyof AuthorizedHostQueryResponse] as any;
});
this.hosts.latestHosts = [];
// 查询最近连接的主机
const { data: latestHosts } = await getLatestConnectHostId('SSH', 30);
const { data: latestHosts } = await getLatestConnectHostId('', 30);
this.hosts.latestHosts = latestHosts;
},

View File

@@ -1,5 +1,4 @@
import type { TableColumnData } from '@arco-design/web-vue/es/table/interface';
import { dateFormat } from '@/utils';
const columns = [
{
@@ -32,8 +31,8 @@ const columns = [
title: '状态',
dataIndex: 'status',
slotName: 'status',
align: 'center',
width: 106,
align: 'left',
width: 118,
}, {
title: '留痕地址',
dataIndex: 'address',

View File

@@ -93,7 +93,7 @@
try {
// 加载组内数据
const { data } = await getHostGroupRelList(groupId as number);
const hosts = await cacheStore.loadHosts('');
const hosts = await cacheStore.loadHosts();
selectedGroupHosts.value = data.map(s => hosts.find(h => h.id === s) as HostQueryResponse)
.filter(Boolean);
} catch (e) {
@@ -138,6 +138,8 @@
idList: checkedGroups.value
});
Message.success('授权成功');
// 清空缓存
cacheStore.reset('authorizedHost_ALL', 'authorizedHost_SSH');
} catch (e) {
} finally {
setLoading(false);

View File

@@ -96,6 +96,8 @@
idList: selectedKeys.value
});
Message.success('授权成功');
// 清空缓存
cacheStore.reset('authorizedHostIdentities');
} catch (e) {
} finally {
setLoading(false);

View File

@@ -72,6 +72,8 @@
idList: selectedKeys.value
});
Message.success('授权成功');
// 清空缓存
cacheStore.reset('authorizedHostKeys');
} catch (e) {
} finally {
setLoading(false);

View File

@@ -113,7 +113,7 @@
// 加载主机列表
const loadHosts = () => {
cacheStore.loadHosts('').then(hosts => {
cacheStore.loadHosts().then(hosts => {
data.value = hosts.map(s => {
return {
value: String(s.id),

View File

@@ -3,7 +3,7 @@ import { dateFormat } from '@/utils';
const fieldConfig = {
rowGap: '10px',
labelSpan: 8,
labelSpan: 6,
minHeight: '22px',
fields: [
{

View File

@@ -19,6 +19,8 @@ const columns = [
title: '用户名',
dataIndex: 'username',
slotName: 'username',
ellipsis: true,
tooltip: true
}, {
title: '类型',
dataIndex: 'type',
@@ -28,6 +30,7 @@ const columns = [
title: '主机密钥',
dataIndex: 'keyId',
slotName: 'keyId',
width: 180,
}, {
title: '描述',
dataIndex: 'description',

View File

@@ -3,7 +3,7 @@ import { dateFormat } from '@/utils';
const fieldConfig = {
rowGap: '10px',
labelSpan: 8,
labelSpan: 6,
minHeight: '22px',
fields: [
{

View File

@@ -339,7 +339,8 @@
// 重新加载数据
fetchCardData();
// 清空缓存
cacheStore.reset('host_', 'host_SSH');
cacheStore.reset('host_ALL', 'host_SSH',
'authorizedHost_ALL', 'authorizedHost_SSH');
};
defineExpose({ reload });

View File

@@ -373,7 +373,8 @@
// 重新加载数据
fetchTableData();
// 清空缓存
cacheStore.reset('host_', 'host_SSH');
cacheStore.reset('host_ALL', 'host_SSH',
'authorizedHost_ALL', 'authorizedHost_SSH');
};
defineExpose({ reload });

View File

@@ -2,7 +2,7 @@ import type { CardField, CardFieldConfig } from '@/types/card';
const fieldConfig = {
rowGap: '10px',
labelSpan: 8,
labelSpan: 6,
minHeight: '22px',
fields: [
{

View File

@@ -135,10 +135,10 @@
const { chartOption: terminalConnectChart } = useChartOption(() => {
return {
grid: {
left: 0,
right: 0,
top: 10,
bottom: 0,
left: 8,
right: 8,
top: 8,
bottom: 8,
},
xAxis: {
type: 'category',
@@ -176,10 +176,10 @@
const { chartOption: execCommandChart } = useChartOption(() => {
return {
grid: {
left: 0,
right: 0,
top: 10,
bottom: 0,
left: 8,
right: 8,
top: 8,
bottom: 8,
},
xAxis: {
type: 'category',

View File

@@ -1,5 +1,5 @@
<template>
<div class="terminal-example" ref="terminal" />
<div class="terminal-example" ref="terminalRef" />
</template>
<script lang="ts">
@@ -11,31 +11,32 @@
<script lang="ts" setup>
import type { TerminalThemeSchema } from '@/api/asset/terminal';
import { Terminal } from '@xterm/xterm';
import { onMounted, onUnmounted, ref } from 'vue';
import { markRaw, onMounted, onUnmounted, ref } from 'vue';
const props = defineProps<{
schema: TerminalThemeSchema | Record<string, any>;
}>();
const terminal = ref();
const terminalRef = ref();
const term = ref();
onMounted(() => {
term.value = new Terminal({
const terminal = new Terminal({
theme: { ...props.schema, cursor: props.schema.background },
cols: 42,
rows: 6,
fontSize: 15,
cursorInactiveStyle: 'none',
});
term.value.open(terminal.value);
term.value.write(
terminal.open(terminalRef.value);
terminal.write(
'[root@OrionServer usr]#\r\n' +
'dr-xr-xr-x. 2 root root bin\r\n' +
'dr-xr-xr-x. 2 root root sbin\r\n' +
'drwxr-xr-x. 4 root root src\r\n' +
'lrwxrwxrwx. 1 root root tmp -> ../var/tmp '
);
term.value = markRaw(terminal);
});
defineExpose({ term });

View File

@@ -45,7 +45,7 @@
</div>
</div>
<!-- 已关闭-右侧操作 -->
<div v-if="session?.connected === false && closeMessage !== undefined"
<div v-if="session?.status.connected === false && closeMessage !== undefined"
class="sftp-table-header-right">
<!-- 错误信息 -->
<a-tag class="close-message"
@@ -54,7 +54,7 @@
已断开: {{ closeMessage }}
</a-tag>
<!-- 重连 -->
<a-tooltip v-if="session?.canReconnect"
<a-tooltip v-if="session?.status.canReconnect"
position="top"
:mini="true"
:overlay-inverse="true"
@@ -245,7 +245,7 @@
// 设置命令编辑模式
const setPathEditable = (editable: boolean) => {
// 检查是否断开
if (editable && !props.session?.connected) {
if (editable && !props.session?.status.connected) {
return;
}
pathEditable.value = editable;
@@ -267,7 +267,7 @@
// 加载文件列表
const loadFileList = (path: string = props.currentPath) => {
// 检查是否断开
if (!props.session?.connected) {
if (!props.session?.status.connected) {
return;
}
emits('loadFile', path);

View File

@@ -205,7 +205,7 @@
const clickFilename = (record: TableData) => {
if (record.isDir) {
// 检查是否断开
if (!props.session?.connected) {
if (!props.session?.status.connected) {
return;
}
// 进入文件夹
@@ -218,7 +218,7 @@
// 编辑文件
const editFile = (record: TableData) => {
// 检查是否断开
if (!props.session?.connected) {
if (!props.session?.status.connected) {
return;
}
emits('editFile', record.name, record.path);
@@ -228,7 +228,7 @@
// 删除文件
const deleteFile = (path: string) => {
// 检查是否断开
if (!props.session?.connected) {
if (!props.session?.status.connected) {
return;
}
emits('deleteFile', [path]);
@@ -237,7 +237,7 @@
// 下载文件
const downloadFile = (path: string) => {
// 检查是否断开
if (!props.session?.connected) {
if (!props.session?.status.connected) {
return;
}
emits('download', [path], false);
@@ -246,7 +246,7 @@
// 移动文件
const moveFile = (path: string) => {
// 检查是否断开
if (!props.session?.connected) {
if (!props.session?.status.connected) {
return;
}
openSftpMoveModal(props.session?.sessionId as string, path);
@@ -255,7 +255,7 @@
// 文件提权
const chmodFile = (path: string, permission: number) => {
// 检查是否断开
if (!props.session?.connected) {
if (!props.session?.status.connected) {
return;
}
openSftpChmodModal(props.session?.sessionId as string, path, permission);

View File

@@ -23,8 +23,8 @@
<!-- 连接状态 -->
<a-badge v-if="preference.actionBarSetting.connectStatus !== false"
class="status-bridge"
:status="getDictValue(sessionStatusKey, session ? session.status : 0, 'status')"
:text="getDictValue(sessionStatusKey, session ? session.status : 0)" />
:status="getDictValue(sessionStatusKey, session ? session.status.connectStatus : 0, 'status')"
:text="getDictValue(sessionStatusKey, session ? session.status.connectStatus : 0)" />
</div>
</div>
</template>

View File

@@ -64,7 +64,7 @@
// 发送命令
const writeCommand = (value: string) => {
if (session.value?.canWrite) {
if (session.value?.status.canWrite) {
session.value?.handler.pasteTrimEnd(value);
}
};

View File

@@ -1,50 +1,66 @@
import type { ITerminalSession, TerminalPanelTabItem } from '../types/define';
import type { ITerminalSession, TerminalPanelTabItem, TerminalStatus } from '../types/define';
import type { Reactive } from 'vue';
import { reactive } from 'vue';
import { TerminalSessionStatus } from '@/views/host/terminal/types/const';
// 会话基类
export default abstract class BaseSession implements ITerminalSession {
export default abstract class BaseSession<Status extends TerminalStatus> implements ITerminalSession<Status> {
public type: string;
public hostId: number;
public title: string;
public address: string;
public readonly type: string;
public readonly hostId: number;
public readonly title: string;
public readonly address: string;
public readonly status: Reactive<Status>;
public sessionId: string;
public connected: boolean;
public canReconnect: boolean;
public canWrite: boolean;
protected constructor(type: string, tab: TerminalPanelTabItem) {
protected constructor(type: string, tab: TerminalPanelTabItem, status: Partial<Status>) {
this.type = type;
this.hostId = tab.hostId;
this.title = tab.title;
this.address = tab.address;
this.sessionId = tab.sessionId;
this.connected = false;
this.canWrite = false;
this.canReconnect = false;
}
// 设置是否可写
setCanWrite(canWrite: boolean): void {
this.canWrite = canWrite;
}
// 设置已连接
setConnected(): void {
this.connected = true;
this.status = reactive({
connectStatus: TerminalSessionStatus.CONNECTING,
connected: false,
canWrite: false,
canReconnect: false,
...status,
} as Status);
}
// 连接会话
connect(): void {
this.status.connectStatus = TerminalSessionStatus.CONNECTING;
}
// 断开连接
disconnect(): void {
this.connected = false;
// 设置已关闭
this.setClosed();
}
// 关闭
close(): void {
this.connected = false;
// 设置已关闭
this.setClosed();
}
// 设置是否可写
setCanWrite(canWrite: boolean): void {
this.status.canWrite = canWrite;
}
// 设置已连接
setConnected(): void {
this.status.connected = true;
this.status.connectStatus = TerminalSessionStatus.CONNECTED;
}
// 设置已关闭
setClosed(): void {
this.status.connected = false;
this.status.canWrite = false;
this.status.connectStatus = TerminalSessionStatus.CLOSED;
}
}

View File

@@ -1,4 +1,4 @@
import type { ISftpSession, ISftpSessionResolver, ITerminalChannel, TerminalPanelTabItem } from '../types/define';
import type { ISftpSession, ISftpSessionResolver, ITerminalChannel, TerminalPanelTabItem, TerminalStatus } from '../types/define';
import { h } from 'vue';
import { InputProtocol } from '@/types/protocol/terminal.protocol';
import { PanelSessionType } from '../types/const';
@@ -6,7 +6,7 @@ import { Modal } from '@arco-design/web-vue';
import BaseSession from './base-session';
// sftp 会话实现
export default class SftpSession extends BaseSession implements ISftpSession {
export default class SftpSession extends BaseSession<TerminalStatus> implements ISftpSession {
public resolver: ISftpSessionResolver;
@@ -16,7 +16,7 @@ export default class SftpSession extends BaseSession implements ISftpSession {
constructor(tab: TerminalPanelTabItem,
channel: ITerminalChannel) {
super(PanelSessionType.SFTP.type, tab);
super(PanelSessionType.SFTP.type, tab, {});
this.channel = channel;
this.showHiddenFile = false;
this.resolver = undefined as unknown as ISftpSessionResolver;
@@ -27,13 +27,6 @@ export default class SftpSession extends BaseSession implements ISftpSession {
this.resolver = resolver;
}
// 设置已连接
setConnected(): void {
super.setConnected();
// 连接回调
this.resolver.connectCallback();
}
// 连接会话
connect(): void {
super.connect();
@@ -171,4 +164,11 @@ export default class SftpSession extends BaseSession implements ISftpSession {
});
}
// 设置已连接
setConnected(): void {
super.setConnected();
// 连接回调
this.resolver.connectCallback();
}
}

View File

@@ -91,9 +91,9 @@ export default class SshSessionHandler implements ISshSessionHandler {
case 'openSftp':
case 'uploadFile':
case 'checkAppendMissing':
return this.session.canWrite;
return this.session.status.canWrite;
case 'disconnect':
return this.session.connected;
return this.session.status.connected;
default:
return true;
}
@@ -197,7 +197,7 @@ export default class SshSessionHandler implements ISshSessionHandler {
// 字号增加
private fontSizeAdd(addSize: number) {
this.inst.options['fontSize'] = this.inst.options['fontSize'] as number + addSize;
if (this.session.connected) {
if (this.session.status.connected) {
this.session.fit();
this.inst.focus();
}

View File

@@ -2,12 +2,12 @@ import type { UnwrapRef } from 'vue';
import type { ISearchOptions } from '@xterm/addon-search';
import { SearchAddon } from '@xterm/addon-search';
import type { TerminalPreference } from '@/store/modules/terminal/types';
import type { ISshSession, ISshSessionHandler, ITerminalChannel, TerminalPanelTabItem, XtermDomRef } from '../types/define';
import type { ISshSession, ISshSessionHandler, ITerminalChannel, TerminalPanelTabItem, TerminalStatus, XtermDomRef } from '../types/define';
import type { XtermAddons } from '@/types/xterm';
import { defaultFontFamily } from '@/types/xterm';
import { useTerminalStore } from '@/store';
import { InputProtocol } from '@/types/protocol/terminal.protocol';
import { PanelSessionType, TerminalSessionStatus, TerminalShortcutType } from '../types/const';
import { PanelSessionType, TerminalShortcutType } from '../types/const';
import { Terminal } from '@xterm/xterm';
import { FitAddon } from '@xterm/addon-fit';
import { WebLinksAddon } from '@xterm/addon-web-links';
@@ -21,12 +21,10 @@ import SshSessionHandler from './ssh-session-handler';
import BaseSession from './base-session';
// ssh 会话实现
export default class SshSession extends BaseSession implements ISshSession {
export default class SshSession extends BaseSession<TerminalStatus> implements ISshSession {
public inst: Terminal;
public status: number;
public handler: ISshSessionHandler;
private readonly channel: ITerminalChannel;
@@ -38,10 +36,9 @@ export default class SshSession extends BaseSession implements ISshSession {
constructor(tab: TerminalPanelTabItem,
channel: ITerminalChannel,
canUseWebgl: boolean) {
super(PanelSessionType.SSH.type, tab);
super(PanelSessionType.SSH.type, tab, {});
this.channel = channel;
this.canUseWebgl = canUseWebgl;
this.status = TerminalSessionStatus.CONNECTING;
this.inst = undefined as unknown as Terminal;
this.handler = undefined as unknown as ISshSessionHandler;
this.addons = {} as XtermAddons;
@@ -93,9 +90,9 @@ export default class SshSession extends BaseSession implements ISshSession {
e.preventDefault();
}
// 检查重新连接
if (!this.connected && this.canReconnect && e.key === 'Enter') {
if (!this.status.connected && this.status.canReconnect && e.key === 'Enter') {
// 防止重复回车
this.canReconnect = false;
this.status.canReconnect = false;
// 异步作用域重新连接
setTimeout(async () => {
await useTerminalStore().reOpenSession(this.sessionId);
@@ -120,7 +117,7 @@ export default class SshSession extends BaseSession implements ISshSession {
private registerEvent(dom: HTMLElement, preference: UnwrapRef<TerminalPreference>) {
// 注册输入事件
this.inst.onData(s => {
if (!this.canWrite || !this.connected) {
if (!this.status.canWrite || !this.status.connected) {
return;
}
// 输入
@@ -145,7 +142,7 @@ export default class SshSession extends BaseSession implements ISshSession {
}
// 注册 resize 事件
this.inst.onResize(({ cols, rows }) => {
if (!this.connected) {
if (!this.status.connected) {
return;
}
this.channel.send(InputProtocol.SSH_RESIZE, {
@@ -158,7 +155,7 @@ export default class SshSession extends BaseSession implements ISshSession {
addEventListen(dom, 'contextmenu', async () => {
// 右键粘贴逻辑
if (preference.interactSetting.rightClickPaste) {
if (!this.canWrite || !this.connected) {
if (!this.status.canWrite || !this.status.connected) {
return;
}
// 未开启右键选中 || 开启并无选中的内容则粘贴
@@ -204,29 +201,9 @@ export default class SshSession extends BaseSession implements ISshSession {
}
}
// 设置已连接
setConnected(): void {
super.setConnected();
// 设置状态
this.status = TerminalSessionStatus.CONNECTED;
this.inst.focus();
}
// 设置是否可写
setCanWrite(canWrite: boolean): void {
super.setCanWrite(canWrite);
if (canWrite) {
this.inst.options.cursorBlink = useTerminalStore().preference.displaySetting.cursorBlink;
} else {
this.inst.options.cursorBlink = false;
}
}
// 连接会话
connect(): void {
super.connect();
// 设置状态
this.status = TerminalSessionStatus.CONNECTING;
// 发送会话初始化请求
this.channel.send(InputProtocol.CHECK, {
sessionId: this.sessionId,
@@ -295,4 +272,20 @@ export default class SshSession extends BaseSession implements ISshSession {
}
}
// 设置已连接
setConnected(): void {
super.setConnected();
this.inst.focus();
}
// 设置是否可写
setCanWrite(canWrite: boolean): void {
super.setCanWrite(canWrite);
if (canWrite) {
this.inst.options.cursorBlink = useTerminalStore().preference.displaySetting.cursorBlink;
} else {
this.inst.options.cursorBlink = false;
}
}
}

View File

@@ -77,7 +77,7 @@ export default class TerminalChannel implements ITerminalChannel {
private closeCallback(): void {
// 关闭时将手动触发 close 消息, 有可能是其他原因关闭的, 没有接收到 close 消息, 导致已断开是终端还是显示已连接
Object.values(this.sessionManager.sessions).forEach(s => {
if (!s?.connected) {
if (!s?.status.connected) {
return;
}
// close 消息

View File

@@ -1,7 +1,7 @@
import type { ISftpSession, ISshSession, ITerminalChannel, ITerminalOutputProcessor, ITerminalSession, ITerminalSessionManager } from '../types/define';
import type { OutputPayload } from '@/types/protocol/terminal.protocol';
import { InputProtocol } from '@/types/protocol/terminal.protocol';
import { PanelSessionType, TerminalSessionStatus } from '../types/const';
import { PanelSessionType } from '../types/const';
import { useTerminalStore } from '@/store';
import { Message } from '@arco-design/web-vue';
@@ -21,7 +21,7 @@ export default class TerminalOutputProcessor implements ITerminalOutputProcessor
processCheck({ sessionId, result, msg }: OutputPayload): void {
const success = !!Number.parseInt(result);
const session = this.sessionManager.getSession(sessionId);
session.canReconnect = !success;
session.status.canReconnect = !success;
// 处理
this.processWithType(session, ssh => {
// ssh 会话
@@ -35,9 +35,10 @@ export default class TerminalOutputProcessor implements ITerminalOutputProcessor
rows: ssh.inst.rows
});
} else {
// 设置已关闭
session.setClosed();
// 未成功展示错误信息
ssh.write(`${msg || ''}\r\n\r\n输入回车重新连接...\r\n\r\n`);
ssh.status = TerminalSessionStatus.CLOSED;
}
}, sftp => {
// sftp 会话
@@ -47,6 +48,8 @@ export default class TerminalOutputProcessor implements ITerminalOutputProcessor
sessionId,
});
} else {
// 设置已关闭
session.setClosed();
// 未成功提示错误信息
sftp.resolver?.onClose(false, msg);
Message.error(msg || '建立 SFTP 失败');
@@ -58,29 +61,25 @@ export default class TerminalOutputProcessor implements ITerminalOutputProcessor
processConnect({ sessionId, result, msg }: OutputPayload): void {
const success = !!Number.parseInt(result);
const session = this.sessionManager.getSession(sessionId);
session.canReconnect = !success;
session.status.canReconnect = !success;
if (success) {
// 设置可写
session.setCanWrite(true);
// 设置已连接
session.setConnected();
} else {
// 设置已关闭
session.setClosed();
}
// 处理
this.processWithType(session, ssh => {
// ssh 会话
if (success) {
// 设置可写
ssh.setCanWrite(true);
// 设置已连接
ssh.setConnected();
} else {
// 未成功展示错误信息
if (!success) {
// ssh 会话 未成功展示错误信息
ssh.write(`${msg || ''}\r\n\r\n输入回车重新连接...\r\n\r\n`);
ssh.status = TerminalSessionStatus.CLOSED;
}
}, sftp => {
// sftp 会话
if (success) {
// 设置可写
sftp.setCanWrite(true);
// 设置已连接
sftp.setConnected();
} else {
// 未成功提示错误信息
if (!success) {
// sftp 会话 未成功提示错误信息
sftp.resolver?.onClose(false, msg);
Message.error(msg || '打开 SFTP 失败');
}
@@ -95,8 +94,9 @@ export default class TerminalOutputProcessor implements ITerminalOutputProcessor
return;
}
const isForceClose = !!Number.parseInt(forceClose);
session.connected = false;
session.canReconnect = !isForceClose;
session.status.canReconnect = !isForceClose;
// 设置已关闭
session.setClosed();
// 处理
this.processWithType(session, ssh => {
// ssh 拼接关闭消息
@@ -104,13 +104,7 @@ export default class TerminalOutputProcessor implements ITerminalOutputProcessor
if (!isForceClose) {
ssh.write('输入回车重新连接...\r\n\r\n');
}
// 设置状态
ssh.status = TerminalSessionStatus.CLOSED;
// 设置不可写
ssh.setCanWrite(false);
}, sftp => {
// 设置不可写
sftp.setCanWrite(false);
// sftp 设置状态
sftp.resolver?.onClose(isForceClose, msg);
});

View File

@@ -104,7 +104,10 @@ export default class TerminalSessionManager implements ITerminalSessionManager {
// 移除 session
this.sessions[sessionId] = undefined as unknown as ITerminalSession;
// session 全部关闭后 关闭 channel
if (Object.values(this.sessions).filter(Boolean).every(s => !s?.connected)) {
const allClosed = Object.values(this.sessions)
.filter(Boolean)
.every(s => !s?.status.connected);
if (allClosed) {
this.reset();
}
}

View File

@@ -79,7 +79,7 @@
const {
fetchPreference, getCurrentSession, openSession,
layoutState, preference, loadHosts, hosts, tabManager, sessionManager
layoutState, preference, loadHostList, hosts, tabManager, sessionManager
} = useTerminalStore();
const { loading, setLoading } = useLoading(true);
const { enter: enterFull, exit: exitFull } = useFullscreen();
@@ -165,7 +165,7 @@
onMounted(async () => {
try {
// 加载主机
await loadHosts();
await loadHostList();
// 默认连接主机
const connect = route.query.connect as string;
if (connect) {

View File

@@ -363,7 +363,7 @@ export const TransferReceiver = {
};
// 会话关闭信息
export const sessionCloseMsg = 'session closed...';
export const sessionCloseMsg = '会话已结束...';
// 打开 settingModal key
export const openSettingModalKey = Symbol();

View File

@@ -1,6 +1,6 @@
import type { Terminal } from '@xterm/xterm';
import type { ISearchOptions } from '@xterm/addon-search';
import type { CSSProperties } from 'vue';
import type { CSSProperties, Reactive } from 'vue';
import type { HostQueryResponse } from '@/api/asset/host';
import type { InputPayload, OutputPayload, Protocol } from '@/types/protocol/terminal.protocol';
@@ -196,38 +196,47 @@ export interface XtermDomRef {
uploadModal: any;
}
// 终端会话定义
export interface ITerminalSession {
type: string;
title: string;
address: string;
hostId: number;
sessionId: string;
// 终端状态
export interface TerminalStatus {
// 连接状态
connectStatus: number;
// 是否已连接
connected: boolean;
// 是否可以重新连接
canReconnect: boolean;
// 是否可写
canWrite: boolean;
// 是否可以重新连接
canReconnect: boolean;
}
// 终端会话定义
export interface ITerminalSession<Status extends TerminalStatus = TerminalStatus> {
readonly type: string;
readonly title: string;
readonly address: string;
readonly hostId: number;
// 终端状态
readonly status: Reactive<Status>;
sessionId: string;
// 设置是否可写
setCanWrite: (canWrite: boolean) => void;
// 设置已连接
setConnected: () => void;
// 连接会话
connect: () => void;
// 断开连接
disconnect: () => void;
// 关闭
close: () => void;
// 设置是否可写
setCanWrite: (canWrite: boolean) => void;
// 设置已连接
setConnected: () => void;
// 设置已关闭
setClosed: () => void;
}
// ssh 会话定义
export interface ISshSession extends ITerminalSession {
// terminal 实例
inst: Terminal;
// 状态
status: number;
// 处理器
handler: ISshSessionHandler;

View File

@@ -22,7 +22,7 @@
</modules>
<properties>
<revision>2.3.2</revision>
<revision>2.3.5</revision>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<maven.surefire.plugin.version>3.0.0-M5</maven.surefire.plugin.version>

View File

@@ -1,470 +1,470 @@
-- 默认管理员账号
-- 账号: admin 密码: admin
INSERT INTO `system_user` VALUES (1, 'admin', 'c3284d0f94606de1fd2af172aba15bf3', '管理员', NULL, NULL, NULL, 1, 1, 'NEW', NULL, NULL, NULL, NOW(), NOW(), '1', '1', 0);
INSERT INTO `system_user` VALUES (1, 'admin', 'c3284d0f94606de1fd2af172aba15bf3', '管理员', NULL, NULL, NULL, 1, 1, 'NEW', NULL, NULL, NULL, NOW(), NOW(), 'admin', 'admin', 0);
-- 角色配置
INSERT INTO `system_role` VALUES (1, '管理员', 'admin', 1, NULL, '2023-07-16 21:13:14', '2023-07-17 17:31:29', '1', '1', 0);
INSERT INTO `system_role` VALUES (1, '管理员', 'admin', 1, NULL, NOW(), NOW(), 'admin', 'admin', 0);
-- 角色用户关联
INSERT INTO `system_user_role` VALUES (1, 1, 1, '2023-07-16 21:15:49', '2023-07-17 18:18:02', '1', '1', 0);
INSERT INTO `system_user_role` VALUES (1, 1, 1, NOW(), NOW(), 'admin', 'admin', 0);
-- 系统设置
INSERT INTO `system_setting` VALUES (6, 'sftp', 'sftp_previewSize', '2', '2025-02-10 22:19:46', '2025-02-10 22:19:46', '1', '1', 0);
INSERT INTO `system_setting` VALUES (7, 'sftp', 'sftp_uploadPresentBackup', 'true', '2025-02-10 22:19:46', '2025-02-10 22:19:46', '1', '1', 0);
INSERT INTO `system_setting` VALUES (8, 'sftp', 'sftp_uploadBackupFileName', 'bk_${fileName}_${timestamp}', '2025-02-10 22:19:46', '2025-02-10 22:19:46', '1', '1', 0);
INSERT INTO `system_setting` VALUES (9, 'login', 'login_loginSessionTime', '1440', '2025-02-10 22:20:59', '2025-02-10 22:20:59', '1', '1', 0);
INSERT INTO `system_setting` VALUES (10, 'login', 'login_maxRefreshCount', '3', '2025-02-10 22:20:59', '2025-02-10 22:20:59', '1', '1', 0);
INSERT INTO `system_setting` VALUES (11, 'login', 'login_refreshInterval', '480', '2025-02-10 22:20:59', '2025-02-10 22:20:59', '1', '1', 0);
INSERT INTO `system_setting` VALUES (12, 'login', 'login_loginFailedLockThreshold', '5', '2025-02-10 22:20:59', '2025-02-10 22:20:59', '1', '1', 0);
INSERT INTO `system_setting` VALUES (13, 'login', 'login_loginFailedLockTime', '30', '2025-02-10 22:20:59', '2025-02-10 22:20:59', '1', '1', 0);
INSERT INTO `system_setting` VALUES (14, 'login', 'login_loginFailedSendThreshold', '5', '2025-02-10 22:20:59', '2025-02-10 22:20:59', '1', '1', 0);
INSERT INTO `system_setting` VALUES (15, 'login', 'login_allowMultiDevice', 'true', '2025-02-10 22:20:59', '2025-02-10 22:20:59', '1', '1', 0);
INSERT INTO `system_setting` VALUES (16, 'login', 'login_allowRefresh', 'true', '2025-02-10 22:20:59', '2025-02-10 22:20:59', '1', '1', 0);
INSERT INTO `system_setting` VALUES (17, 'login', 'login_loginFailedLock', 'true', '2025-02-10 22:20:59', '2025-02-10 22:20:59', '1', '1', 0);
INSERT INTO `system_setting` VALUES (18, 'login', 'login_loginFailedSend', 'true', '2025-02-10 22:20:59', '2025-02-10 22:20:59', '1', '1', 0);
INSERT INTO `system_setting` VALUES (21, 'encrypt', 'encrypt_publicKey', 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC6++dxyeNdij6ZfM2I9ojLQ1tzmqyuL3rkectm9uXJsXOFiN0aFi4glsoGVZO5hMH5/pppdSQnYz3rSV9b0qjFTRMv5u1BHHzuzoOkI43WqXCX96f8diHIZsEu9fZ+AkxVck/kDPfmR2dVjwo8ZBuJ7drsP8fDbs8N3vtEwPSotwIDAQAB', '2025-02-10 22:21:11', '2025-02-10 22:21:11', '1', '1', 0);
INSERT INTO `system_setting` VALUES (22, 'encrypt', 'encrypt_privateKey', 'MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBALr753HJ412KPpl8zYj2iMtDW3OarK4veuR5y2b25cmxc4WI3RoWLiCWygZVk7mEwfn+mml1JCdjPetJX1vSqMVNEy/m7UEcfO7Og6QjjdapcJf3p/x2IchmwS719n4CTFVyT+QM9+ZHZ1WPCjxkG4nt2uw/x8Nuzw3e+0TA9Ki3AgMBAAECgYA+sD3ENH952ONr6h+uj5kFLKv4ch76twhomTzMZHJd0JR+bIhUOqN0YZmRzhcc15mBCw8R1Cgu3GLiA1NpIZNbH6ujsGzwOGn9E+1TIgRAfgOV1JmMIJ4sVa2zb5+seZ4TkU2MfpKjToa/cX1kovoiNR8gPV+HCE8HUBXgOziF4QJBAOf2LGTjjKSag8WBQjgy2OCi6l0260jGSCGBJYCG884feeH/msTbTdvo44iYyd3P9txxBmmnpdJLvPgJWCu01q0CQQDOXH8yPkSCBL+ZvFizBHayhoO0FN/YFyrYf1wewt43mCDHbx4fzwXtc2CLrSt+nqgwTA4M73Sf2DAOW9pk9T1zAkBIT1d7g+v+DCTz1t2bw04UiPTiZhJmt1kZCLd2H5u1L97A8vt+Tpcw7KKxnF+hhAkCo0FKgnaQ3gdkkxUnWtJpAkEAoA4v/bk8C5hBP61NIrRQmBEq767NG16Etdy6h4VfM8GDkwvFUqiQkWZOuKc8t/24t5UVxMSpMR1N0KU/k9R+rwJBALjw7SzSeqWV2VLUZVqtWPu9nZvX79SWZWMp0gtmYYgzKa1dttzdJsXY5i/cfKH6RO2hwicO1rVBpiZ5zMggljo=', '2025-02-10 22:21:11', '2025-02-10 22:21:11', '1', '1', 0);
INSERT INTO `system_setting` VALUES (23, 'log', 'log_webScrollLines', '1500', '2025-02-10 22:21:54', '2025-02-10 22:21:54', '1', '1', 0);
INSERT INTO `system_setting` VALUES (24, 'log', 'log_trackerLoadInterval', '100', '2025-02-10 22:21:54', '2025-02-10 22:21:54', '1', '1', 0);
INSERT INTO `system_setting` VALUES (25, 'log', 'log_trackerLoadLines', '300', '2025-02-10 22:21:54', '2025-02-10 22:21:54', '1', '1', 0);
INSERT INTO `system_setting` VALUES (26, 'log', 'log_execDetailLog', 'true', '2025-02-10 22:21:54', '2025-02-10 22:21:54', '1', '1', 0);
INSERT INTO `system_setting` VALUES (27, 'autoClear', 'autoClear_execLogKeepDays', '30', '2025-02-10 22:22:00', '2025-02-10 22:22:00', '1', '1', 0);
INSERT INTO `system_setting` VALUES (28, 'autoClear', 'autoClear_terminalLogKeepDays', '30', '2025-02-10 22:22:00', '2025-02-10 22:22:00', '1', '1', 0);
INSERT INTO `system_setting` VALUES (29, 'autoClear', 'autoClear_execLogEnabled', 'true', '2025-02-10 22:22:00', '2025-02-10 22:22:00', '1', '1', 0);
INSERT INTO `system_setting` VALUES (30, 'autoClear', 'autoClear_terminalLogEnabled', 'true', '2025-02-10 22:22:00', '2025-02-10 22:22:00', '1', '1', 0);
INSERT INTO `system_setting` VALUES (6, 'sftp', 'sftp_previewSize', '2', '2025-02-10 22:19:46', '2025-02-10 22:19:46', 'admin', 'admin', 0);
INSERT INTO `system_setting` VALUES (7, 'sftp', 'sftp_uploadPresentBackup', 'true', '2025-02-10 22:19:46', '2025-02-10 22:19:46', 'admin', 'admin', 0);
INSERT INTO `system_setting` VALUES (8, 'sftp', 'sftp_uploadBackupFileName', 'bk_${fileName}_${timestamp}', '2025-02-10 22:19:46', '2025-02-10 22:19:46', 'admin', 'admin', 0);
INSERT INTO `system_setting` VALUES (9, 'login', 'login_loginSessionTime', '1440', '2025-02-10 22:20:59', '2025-02-10 22:20:59', 'admin', 'admin', 0);
INSERT INTO `system_setting` VALUES (10, 'login', 'login_maxRefreshCount', '3', '2025-02-10 22:20:59', '2025-02-10 22:20:59', 'admin', 'admin', 0);
INSERT INTO `system_setting` VALUES (11, 'login', 'login_refreshInterval', '480', '2025-02-10 22:20:59', '2025-02-10 22:20:59', 'admin', 'admin', 0);
INSERT INTO `system_setting` VALUES (12, 'login', 'login_loginFailedLockThreshold', '5', '2025-02-10 22:20:59', '2025-02-10 22:20:59', 'admin', 'admin', 0);
INSERT INTO `system_setting` VALUES (13, 'login', 'login_loginFailedLockTime', '30', '2025-02-10 22:20:59', '2025-02-10 22:20:59', 'admin', 'admin', 0);
INSERT INTO `system_setting` VALUES (14, 'login', 'login_loginFailedSendThreshold', '5', '2025-02-10 22:20:59', '2025-02-10 22:20:59', 'admin', 'admin', 0);
INSERT INTO `system_setting` VALUES (15, 'login', 'login_allowMultiDevice', 'true', '2025-02-10 22:20:59', '2025-02-10 22:20:59', 'admin', 'admin', 0);
INSERT INTO `system_setting` VALUES (16, 'login', 'login_allowRefresh', 'true', '2025-02-10 22:20:59', '2025-02-10 22:20:59', 'admin', 'admin', 0);
INSERT INTO `system_setting` VALUES (17, 'login', 'login_loginFailedLock', 'true', '2025-02-10 22:20:59', '2025-02-10 22:20:59', 'admin', 'admin', 0);
INSERT INTO `system_setting` VALUES (18, 'login', 'login_loginFailedSend', 'true', '2025-02-10 22:20:59', '2025-02-10 22:20:59', 'admin', 'admin', 0);
INSERT INTO `system_setting` VALUES (21, 'encrypt', 'encrypt_publicKey', 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC6++dxyeNdij6ZfM2I9ojLQ1tzmqyuL3rkectm9uXJsXOFiN0aFi4glsoGVZO5hMH5/pppdSQnYz3rSV9b0qjFTRMv5u1BHHzuzoOkI43WqXCX96f8diHIZsEu9fZ+AkxVck/kDPfmR2dVjwo8ZBuJ7drsP8fDbs8N3vtEwPSotwIDAQAB', '2025-02-10 22:21:11', '2025-02-10 22:21:11', 'admin', 'admin', 0);
INSERT INTO `system_setting` VALUES (22, 'encrypt', 'encrypt_privateKey', 'MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBALr753HJ412KPpl8zYj2iMtDW3OarK4veuR5y2b25cmxc4WI3RoWLiCWygZVk7mEwfn+mml1JCdjPetJX1vSqMVNEy/m7UEcfO7Og6QjjdapcJf3p/x2IchmwS719n4CTFVyT+QM9+ZHZ1WPCjxkG4nt2uw/x8Nuzw3e+0TA9Ki3AgMBAAECgYA+sD3ENH952ONr6h+uj5kFLKv4ch76twhomTzMZHJd0JR+bIhUOqN0YZmRzhcc15mBCw8R1Cgu3GLiA1NpIZNbH6ujsGzwOGn9E+1TIgRAfgOV1JmMIJ4sVa2zb5+seZ4TkU2MfpKjToa/cX1kovoiNR8gPV+HCE8HUBXgOziF4QJBAOf2LGTjjKSag8WBQjgy2OCi6l0260jGSCGBJYCG884feeH/msTbTdvo44iYyd3P9txxBmmnpdJLvPgJWCu01q0CQQDOXH8yPkSCBL+ZvFizBHayhoO0FN/YFyrYf1wewt43mCDHbx4fzwXtc2CLrSt+nqgwTA4M73Sf2DAOW9pk9T1zAkBIT1d7g+v+DCTz1t2bw04UiPTiZhJmt1kZCLd2H5u1L97A8vt+Tpcw7KKxnF+hhAkCo0FKgnaQ3gdkkxUnWtJpAkEAoA4v/bk8C5hBP61NIrRQmBEq767NG16Etdy6h4VfM8GDkwvFUqiQkWZOuKc8t/24t5UVxMSpMR1N0KU/k9R+rwJBALjw7SzSeqWV2VLUZVqtWPu9nZvX79SWZWMp0gtmYYgzKa1dttzdJsXY5i/cfKH6RO2hwicO1rVBpiZ5zMggljo=', '2025-02-10 22:21:11', '2025-02-10 22:21:11', 'admin', 'admin', 0);
INSERT INTO `system_setting` VALUES (23, 'log', 'log_webScrollLines', '1500', '2025-02-10 22:21:54', '2025-02-10 22:21:54', 'admin', 'admin', 0);
INSERT INTO `system_setting` VALUES (24, 'log', 'log_trackerLoadInterval', '100', '2025-02-10 22:21:54', '2025-02-10 22:21:54', 'admin', 'admin', 0);
INSERT INTO `system_setting` VALUES (25, 'log', 'log_trackerLoadLines', '300', '2025-02-10 22:21:54', '2025-02-10 22:21:54', 'admin', 'admin', 0);
INSERT INTO `system_setting` VALUES (26, 'log', 'log_execDetailLog', 'true', '2025-02-10 22:21:54', '2025-02-10 22:21:54', 'admin', 'admin', 0);
INSERT INTO `system_setting` VALUES (27, 'autoClear', 'autoClear_execLogKeepDays', '30', '2025-02-10 22:22:00', '2025-02-10 22:22:00', 'admin', 'admin', 0);
INSERT INTO `system_setting` VALUES (28, 'autoClear', 'autoClear_terminalLogKeepDays', '30', '2025-02-10 22:22:00', '2025-02-10 22:22:00', 'admin', 'admin', 0);
INSERT INTO `system_setting` VALUES (29, 'autoClear', 'autoClear_execLogEnabled', 'true', '2025-02-10 22:22:00', '2025-02-10 22:22:00', 'admin', 'admin', 0);
INSERT INTO `system_setting` VALUES (30, 'autoClear', 'autoClear_terminalLogEnabled', 'true', '2025-02-10 22:22:00', '2025-02-10 22:22:00', 'admin', 'admin', 0);
-- 字典项
INSERT INTO `dict_key` VALUES (1, 'operatorLogModule', 'STRING', '[]', '操作日志模块', '2023-10-21 02:04:22', '2023-10-30 14:11:38', '1', '1', 0);
INSERT INTO `dict_key` VALUES (2, 'operatorLogType', 'STRING', '[]', '操作日志类型', '2023-10-21 02:06:04', '2023-10-21 02:06:04', '1', '1', 0);
INSERT INTO `dict_key` VALUES (4, 'systemMenuType', 'INTEGER', '[]', '菜单类型', '2023-10-26 15:34:43', '2023-10-26 15:36:10', '1', '1', 0);
INSERT INTO `dict_key` VALUES (5, 'systemMenuStatus', 'INTEGER', '[{\"name\": \"color\", \"type\": \"COLOR\"}]', '菜单状态', '2023-10-26 15:42:16', '2023-10-26 16:48:13', '1', '1', 0);
INSERT INTO `dict_key` VALUES (6, 'systemMenuVisible', 'INTEGER', '[{\"name\": \"color\", \"type\": \"COLOR\"}]', '菜单可见状态', '2023-10-26 15:42:39', '2023-10-26 16:48:07', '1', '1', 0);
INSERT INTO `dict_key` VALUES (7, 'systemMenuCache', 'INTEGER', '[]', '菜单缓存状态', '2023-10-26 15:43:52', '2023-10-26 15:43:52', '1', '1', 0);
INSERT INTO `dict_key` VALUES (8, 'dictValueType', 'STRING', '[{\"name\": \"color\", \"type\": \"COLOR\"}]', '字典配置值类型', '2023-10-27 01:48:51', '2023-10-27 01:48:51', '1', '1', 0);
INSERT INTO `dict_key` VALUES (9, 'systemUserStatus', 'INTEGER', '[{\"name\": \"color\", \"type\": \"COLOR\"}]', '用户状态', '2023-10-27 12:10:41', '2023-10-27 12:10:41', '1', '1', 0);
INSERT INTO `dict_key` VALUES (10, 'systemRoleStatus', 'INTEGER', '[{\"name\": \"color\", \"type\": \"COLOR\"}, {\"name\": \"status\", \"type\": \"STRING\"}]', '角色状态', '2023-10-27 12:33:04', '2023-10-27 12:33:17', '1', '1', 0);
INSERT INTO `dict_key` VALUES (11, 'hostSshAuthType', 'STRING', '[]', 'SSH 身份认证方式', '2023-10-27 14:29:12', '2024-08-24 19:18:38', '1', '1', 0);
INSERT INTO `dict_key` VALUES (15, 'operatorLogResult', 'INTEGER', '[{\"name\": \"color\", \"type\": \"COLOR\"}]', '操作日志结果', '2023-10-31 17:35:28', '2023-10-31 17:42:50', '2', '2', 0);
INSERT INTO `dict_key` VALUES (16, 'operatorRiskLevel', 'STRING', '[{\"name\": \"color\", \"type\": \"COLOR\"}]', '操作风险等级', '2023-11-01 16:03:00', '2023-11-01 16:03:00', '1', '1', 0);
INSERT INTO `dict_key` VALUES (19, 'systemMenuNewWindow', 'INTEGER', '[]', '菜单是否开启新窗口', '2023-12-05 14:14:29', '2023-12-05 14:14:29', '1', '1', 0);
INSERT INTO `dict_key` VALUES (21, 'terminalFontFamily', 'STRING', '[]', '终端字体样式', '2023-12-11 16:46:24', '2023-12-11 17:10:32', '1', '1', 0);
INSERT INTO `dict_key` VALUES (22, 'terminalFontSize', 'INTEGER', '[]', '终端字体大小', '2023-12-11 17:07:25', '2023-12-11 17:07:25', '1', '1', 0);
INSERT INTO `dict_key` VALUES (23, 'terminalFontWeight', 'STRING', '[]', '终端文本粗细', '2023-12-11 17:18:43', '2023-12-11 17:21:36', '1', '1', 0);
INSERT INTO `dict_key` VALUES (24, 'terminalCursorStyle', 'STRING', '[]', '终端光标样式', '2023-12-11 18:24:47', '2023-12-11 18:26:11', '1', '1', 0);
INSERT INTO `dict_key` VALUES (25, 'hostNewConnectionType', 'STRING', '[]', '主机新建连接类型', '2023-12-14 17:24:19', '2024-01-31 23:39:19', '1', '1', 0);
INSERT INTO `dict_key` VALUES (26, 'hostExtraSshAuthType', 'STRING', '[]', 'SSH 额外认证方式', '2023-12-25 15:41:22', '2024-08-24 19:19:07', '1', '1', 0);
INSERT INTO `dict_key` VALUES (27, 'terminalConnectType', 'STRING', '[{\"name\": \"color\", \"type\": \"COLOR\"}]', '终端连接类型', '2023-12-26 23:23:08', '2024-10-15 12:46:11', '1', '1', 0);
INSERT INTO `dict_key` VALUES (28, 'terminalConnectStatus', 'STRING', '[{\"name\": \"color\", \"type\": \"COLOR\"}]', '终端连接状态', '2023-12-26 23:23:51', '2024-10-15 13:39:53', '1', '1', 0);
INSERT INTO `dict_key` VALUES (29, 'terminalSessionStatus', 'INTEGER', '[{\"name\": \"status\", \"type\": \"STRING\"}]', '终端会话状态', '2024-01-09 00:32:00', '2024-10-15 13:39:51', '1', '1', 0);
INSERT INTO `dict_key` VALUES (31, 'terminalEmulationType', 'STRING', '[]', '伪终端类型', '2024-01-11 23:35:01', '2024-01-11 23:35:01', '1', '1', 0);
INSERT INTO `dict_key` VALUES (32, 'terminalTabColor', 'COLOR', '[{\"name\": \"color\", \"type\": \"COLOR\"}, {\"name\": \"bg\", \"type\": \"COLOR\"}]', '终端标签页颜色', '2024-03-01 15:01:44', '2024-08-05 12:36:54', '1', '1', 0);
INSERT INTO `dict_key` VALUES (33, 'sftpOperatorType', 'STRING', '[]', 'SFTP 操作类型', '2024-03-05 16:49:54', '2024-03-05 16:49:54', '1', '1', 0);
INSERT INTO `dict_key` VALUES (34, 'execStatus', 'STRING', '[{\"name\": \"color\", \"type\": \"STRING\"}]', '批量执行状态', '2024-03-13 15:08:43', '2024-03-13 15:39:46', '1', '1', 0);
INSERT INTO `dict_key` VALUES (35, 'execHostStatus', 'STRING', '[{\"name\": \"color\", \"type\": \"COLOR\"}, {\"name\": \"execColor\", \"type\": \"COLOR\"}]', '主机执行状态', '2024-03-13 15:09:10', '2024-03-17 20:31:07', '1', '1', 0);
INSERT INTO `dict_key` VALUES (36, 'execJobStatus', 'INTEGER', '[{\"name\": \"color\", \"type\": \"COLOR\"}]', '计划任务状态', '2024-04-10 16:18:07', '2024-04-11 14:25:05', '1', '1', 0);
INSERT INTO `dict_key` VALUES (37, 'hostIdentityType', 'STRING', '[{\"name\": \"color\", \"type\": \"COLOR\"}]', '主机身份类型', '2024-04-16 17:15:31', '2024-04-16 17:15:31', '2', '2', 0);
INSERT INTO `dict_key` VALUES (38, 'hostOsType', 'STRING', '[]', '主机系统类型', '2024-04-16 22:18:59', '2024-12-12 16:20:52', '1', '3', 0);
INSERT INTO `dict_key` VALUES (39, 'pathBookmarkType', 'STRING', '[]', '路径标签类型', '2024-04-24 13:43:12', '2024-04-24 13:43:12', '1', '1', 0);
INSERT INTO `dict_key` VALUES (40, 'sftpTransferStatus', 'STRING', '[{\"name\": \"status\", \"type\": \"STRING\"}, {\"name\": \"color\", \"type\": \"COLOR\"}, {\"name\": \"icon\", \"type\": \"STRING\"}]', 'SFTP 传输状态', '2024-05-06 11:54:49', '2024-05-06 11:54:49', '1', '1', 0);
INSERT INTO `dict_key` VALUES (41, 'uploadTaskStatus', 'STRING', '[{\"name\": \"color\", \"type\": \"COLOR\"}]', '上传任务状态', '2024-05-07 22:18:48', '2024-05-08 22:06:23', '1', '1', 0);
INSERT INTO `dict_key` VALUES (42, 'uploadTaskFileStatus', 'STRING', '[{\"name\": \"status\", \"type\": \"STRING\"}]', '上传任务文件状态', '2024-05-08 10:30:29', '2024-05-10 17:34:13', '1', '1', 0);
INSERT INTO `dict_key` VALUES (43, 'messageType', 'STRING', '[{\"name\": \"tagLabel\", \"type\": \"STRING\"}, {\"name\": \"tagVisible\", \"type\": \"BOOLEAN\"}, {\"name\": \"tagColor\", \"type\": \"COLOR\"}, {\"name\": \"redirectComponent\", \"type\": \"STRING\"}]', '消息类型', '2024-05-13 12:07:56', '2024-08-19 12:28:30', '1', '1', 0);
INSERT INTO `dict_key` VALUES (44, 'messageClassify', 'STRING', '[]', '消息分类', '2024-05-13 15:06:27', '2024-05-31 17:31:37', '1', '1', 0);
INSERT INTO `dict_key` VALUES (53, 'terminalTheme', 'STRING', '[{\"name\": \"dark\", \"type\": \"BOOLEAN\"}]', '终端主题', '2024-07-04 19:14:34', '2024-07-04 19:14:34', '1', '1', 0);
INSERT INTO `dict_key` VALUES (57, 'hostStatus', 'STRING', '[{\"name\": \"color\", \"type\": \"COLOR\"}, {\"name\": \"status\", \"type\": \"STRING\"}]', '主机状态', '2024-07-17 12:51:10', '2024-07-22 16:53:23', '1', '1', 0);
INSERT INTO `dict_key` VALUES (58, 'hostType', 'STRING', '[{\"name\": \"color\", \"type\": \"COLOR\"}]', '主机类型', '2024-07-17 12:51:10', '2024-07-22 14:02:44', '1', '1', 0);
INSERT INTO `dict_key` VALUES (61, 'updatePasswordReason', 'STRING', '[]', '修改密码原因', '2024-12-11 17:19:40', '2024-12-11 17:20:04', '1', '1', 0);
INSERT INTO `dict_key` VALUES (1, 'operatorLogModule', 'STRING', '[]', '操作日志模块', '2023-10-21 02:04:22', '2023-10-30 14:11:38', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (2, 'operatorLogType', 'STRING', '[]', '操作日志类型', '2023-10-21 02:06:04', '2023-10-21 02:06:04', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (4, 'systemMenuType', 'INTEGER', '[]', '菜单类型', '2023-10-26 15:34:43', '2023-10-26 15:36:10', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (5, 'systemMenuStatus', 'INTEGER', '[{\"name\": \"color\", \"type\": \"COLOR\"}]', '菜单状态', '2023-10-26 15:42:16', '2023-10-26 16:48:13', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (6, 'systemMenuVisible', 'INTEGER', '[{\"name\": \"color\", \"type\": \"COLOR\"}]', '菜单可见状态', '2023-10-26 15:42:39', '2023-10-26 16:48:07', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (7, 'systemMenuCache', 'INTEGER', '[]', '菜单缓存状态', '2023-10-26 15:43:52', '2023-10-26 15:43:52', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (8, 'dictValueType', 'STRING', '[{\"name\": \"color\", \"type\": \"COLOR\"}]', '字典配置值类型', '2023-10-27 01:48:51', '2023-10-27 01:48:51', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (9, 'systemUserStatus', 'INTEGER', '[{\"name\": \"color\", \"type\": \"COLOR\"}]', '用户状态', '2023-10-27 12:10:41', '2023-10-27 12:10:41', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (10, 'systemRoleStatus', 'INTEGER', '[{\"name\": \"color\", \"type\": \"COLOR\"}, {\"name\": \"status\", \"type\": \"STRING\"}]', '角色状态', '2023-10-27 12:33:04', '2023-10-27 12:33:17', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (11, 'hostSshAuthType', 'STRING', '[]', 'SSH 身份认证方式', '2023-10-27 14:29:12', '2024-08-24 19:18:38', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (15, 'operatorLogResult', 'INTEGER', '[{\"name\": \"color\", \"type\": \"COLOR\"}]', '操作日志结果', '2023-10-31 17:35:28', '2023-10-31 17:42:50', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (16, 'operatorRiskLevel', 'STRING', '[{\"name\": \"color\", \"type\": \"COLOR\"}]', '操作风险等级', '2023-11-01 16:03:00', '2023-11-01 16:03:00', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (19, 'systemMenuNewWindow', 'INTEGER', '[]', '菜单是否开启新窗口', '2023-12-05 14:14:29', '2023-12-05 14:14:29', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (21, 'terminalFontFamily', 'STRING', '[]', '终端字体样式', '2023-12-11 16:46:24', '2023-12-11 17:10:32', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (22, 'terminalFontSize', 'INTEGER', '[]', '终端字体大小', '2023-12-11 17:07:25', '2023-12-11 17:07:25', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (23, 'terminalFontWeight', 'STRING', '[]', '终端文本粗细', '2023-12-11 17:18:43', '2023-12-11 17:21:36', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (24, 'terminalCursorStyle', 'STRING', '[]', '终端光标样式', '2023-12-11 18:24:47', '2023-12-11 18:26:11', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (25, 'hostNewConnectionType', 'STRING', '[]', '主机新建连接类型', '2023-12-14 17:24:19', '2024-01-31 23:39:19', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (26, 'hostExtraSshAuthType', 'STRING', '[]', 'SSH 额外认证方式', '2023-12-25 15:41:22', '2024-08-24 19:19:07', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (27, 'terminalConnectType', 'STRING', '[{\"name\": \"color\", \"type\": \"COLOR\"}]', '终端连接类型', '2023-12-26 23:23:08', '2024-10-15 12:46:11', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (28, 'terminalConnectStatus', 'STRING', '[{\"name\": \"color\", \"type\": \"COLOR\"}]', '终端连接状态', '2023-12-26 23:23:51', '2024-10-15 13:39:53', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (29, 'terminalSessionStatus', 'INTEGER', '[{\"name\": \"status\", \"type\": \"STRING\"}]', '终端会话状态', '2024-01-09 00:32:00', '2024-10-15 13:39:51', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (31, 'terminalEmulationType', 'STRING', '[]', '伪终端类型', '2024-01-11 23:35:01', '2024-01-11 23:35:01', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (32, 'terminalTabColor', 'COLOR', '[{\"name\": \"color\", \"type\": \"COLOR\"}, {\"name\": \"bg\", \"type\": \"COLOR\"}]', '终端标签页颜色', '2024-03-01 15:01:44', '2024-08-05 12:36:54', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (33, 'sftpOperatorType', 'STRING', '[]', 'SFTP 操作类型', '2024-03-05 16:49:54', '2024-03-05 16:49:54', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (34, 'execStatus', 'STRING', '[{\"name\": \"color\", \"type\": \"STRING\"}]', '批量执行状态', '2024-03-13 15:08:43', '2024-03-13 15:39:46', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (35, 'execHostStatus', 'STRING', '[{\"name\": \"color\", \"type\": \"COLOR\"}, {\"name\": \"execColor\", \"type\": \"COLOR\"}]', '主机执行状态', '2024-03-13 15:09:10', '2024-03-17 20:31:07', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (36, 'execJobStatus', 'INTEGER', '[{\"name\": \"color\", \"type\": \"COLOR\"}]', '计划任务状态', '2024-04-10 16:18:07', '2024-04-11 14:25:05', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (37, 'hostIdentityType', 'STRING', '[{\"name\": \"color\", \"type\": \"COLOR\"}]', '主机身份类型', '2024-04-16 17:15:31', '2024-04-16 17:15:31', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (38, 'hostOsType', 'STRING', '[]', '主机系统类型', '2024-04-16 22:18:59', '2024-12-12 16:20:52', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (39, 'pathBookmarkType', 'STRING', '[]', '路径标签类型', '2024-04-24 13:43:12', '2024-04-24 13:43:12', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (40, 'sftpTransferStatus', 'STRING', '[{\"name\": \"status\", \"type\": \"STRING\"}, {\"name\": \"color\", \"type\": \"COLOR\"}, {\"name\": \"icon\", \"type\": \"STRING\"}]', 'SFTP 传输状态', '2024-05-06 11:54:49', '2024-05-06 11:54:49', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (41, 'uploadTaskStatus', 'STRING', '[{\"name\": \"color\", \"type\": \"COLOR\"}]', '上传任务状态', '2024-05-07 22:18:48', '2024-05-08 22:06:23', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (42, 'uploadTaskFileStatus', 'STRING', '[{\"name\": \"status\", \"type\": \"STRING\"}]', '上传任务文件状态', '2024-05-08 10:30:29', '2024-05-10 17:34:13', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (43, 'messageType', 'STRING', '[{\"name\": \"tagLabel\", \"type\": \"STRING\"}, {\"name\": \"tagVisible\", \"type\": \"BOOLEAN\"}, {\"name\": \"tagColor\", \"type\": \"COLOR\"}, {\"name\": \"redirectComponent\", \"type\": \"STRING\"}]', '消息类型', '2024-05-13 12:07:56', '2024-08-19 12:28:30', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (44, 'messageClassify', 'STRING', '[]', '消息分类', '2024-05-13 15:06:27', '2024-05-31 17:31:37', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (53, 'terminalTheme', 'STRING', '[{\"name\": \"dark\", \"type\": \"BOOLEAN\"}]', '终端主题', '2024-07-04 19:14:34', '2024-07-04 19:14:34', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (57, 'hostStatus', 'STRING', '[{\"name\": \"color\", \"type\": \"COLOR\"}, {\"name\": \"status\", \"type\": \"STRING\"}]', '主机状态', '2024-07-17 12:51:10', '2024-07-22 16:53:23', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (58, 'hostType', 'STRING', '[{\"name\": \"color\", \"type\": \"COLOR\"}]', '主机类型', '2024-07-17 12:51:10', '2024-07-22 14:02:44', 'admin', 'admin', 0);
INSERT INTO `dict_key` VALUES (61, 'updatePasswordReason', 'STRING', '[]', '修改密码原因', '2024-12-11 17:19:40', '2024-12-11 17:20:04', 'admin', 'admin', 0);
-- 字典值
INSERT INTO `dict_value` VALUES (3, 4, 'systemMenuType', '1', '父菜单', '{}', 10, '2023-10-26 15:58:59', '2023-10-26 15:58:59', '1', '1', 0);
INSERT INTO `dict_value` VALUES (4, 4, 'systemMenuType', '2', '子菜单', '{}', 20, '2023-10-26 16:44:34', '2023-10-26 16:44:34', '1', '1', 0);
INSERT INTO `dict_value` VALUES (5, 4, 'systemMenuType', '3', '功能', '{}', 30, '2023-10-26 16:44:45', '2023-10-26 16:44:45', '1', '1', 0);
INSERT INTO `dict_value` VALUES (6, 5, 'systemMenuStatus', '0', '停用', '{\"color\": \"orange\"}', 10, '2023-10-26 16:47:54', '2023-10-26 16:47:54', '1', '1', 0);
INSERT INTO `dict_value` VALUES (7, 5, 'systemMenuStatus', '1', '启用', '{\"color\": \"arcoblue\"}', 20, '2023-10-26 17:00:54', '2024-04-24 16:35:09', '1', '1', 0);
INSERT INTO `dict_value` VALUES (8, 6, 'systemMenuVisible', '0', '隐藏', '{\"color\": \"orange\"}', 10, '2023-10-26 17:03:41', '2023-10-26 17:03:41', '1', '1', 0);
INSERT INTO `dict_value` VALUES (9, 6, 'systemMenuVisible', '1', '显示', '{\"color\": \"arcoblue\"}', 20, '2023-10-27 00:25:30', '2024-04-24 16:35:05', '1', '1', 0);
INSERT INTO `dict_value` VALUES (10, 7, 'systemMenuCache', '0', '不缓存', '{}', 10, '2023-10-27 00:26:15', '2023-10-27 00:26:15', '1', '1', 0);
INSERT INTO `dict_value` VALUES (11, 7, 'systemMenuCache', '1', '缓存', '{}', 20, '2023-10-27 00:26:25', '2023-10-27 00:26:25', '1', '1', 0);
INSERT INTO `dict_value` VALUES (12, 8, 'dictValueType', 'STRING', '字符串', '{\"color\": \"arcoblue\"}', 10, '2023-10-27 01:49:18', '2023-12-17 18:45:14', '1', '1', 0);
INSERT INTO `dict_value` VALUES (13, 8, 'dictValueType', 'INTEGER', '整数', '{\"color\": \"arcoblue\"}', 20, '2023-10-27 01:54:30', '2023-10-27 01:54:30', '1', '1', 0);
INSERT INTO `dict_value` VALUES (14, 8, 'dictValueType', 'DECIMAL', '小数', '{\"color\": \"purple\"}', 30, '2023-10-27 01:54:43', '2023-10-27 01:54:43', '1', '1', 0);
INSERT INTO `dict_value` VALUES (15, 8, 'dictValueType', 'BOOLEAN', '布尔值', '{\"color\": \"pinkpurple\"}', 40, '2023-10-27 01:54:54', '2023-10-27 01:54:54', '1', '1', 0);
INSERT INTO `dict_value` VALUES (16, 8, 'dictValueType', 'COLOR', '颜色', '{\"color\": \"magenta\"}', 50, '2023-10-27 01:55:05', '2023-10-27 01:56:39', '1', '1', 0);
INSERT INTO `dict_value` VALUES (17, 9, 'systemUserStatus', '0', '停用', '{\"color\": \"orange\"}', 10, '2023-10-27 12:13:08', '2023-10-27 12:13:08', '1', '1', 0);
INSERT INTO `dict_value` VALUES (18, 9, 'systemUserStatus', '1', '启用', '{\"color\": \"arcoblue\"}', 20, '2023-10-27 12:13:17', '2024-04-24 16:35:00', '1', '1', 0);
INSERT INTO `dict_value` VALUES (20, 10, 'systemRoleStatus', '0', '停用', '{\"color\": \"orange\", \"status\": \"danger\"}', 10, '2023-10-27 12:33:45', '2023-10-27 12:33:45', '1', '1', 0);
INSERT INTO `dict_value` VALUES (21, 10, 'systemRoleStatus', '1', '启用', '{\"color\": \"arcoblue\", \"status\": \"default\"}', 20, '2023-10-27 12:33:56', '2024-04-24 16:34:52', '1', '1', 0);
INSERT INTO `dict_value` VALUES (22, 11, 'hostSshAuthType', 'PASSWORD', '密码认证', '{}', 10, '2023-10-27 14:29:28', '2024-08-24 19:19:31', '1', '1', 0);
INSERT INTO `dict_value` VALUES (23, 11, 'hostSshAuthType', 'KEY', '密钥认证', '{}', 20, '2023-10-27 14:29:35', '2024-08-24 19:19:34', '1', '1', 0);
INSERT INTO `dict_value` VALUES (24, 11, 'hostSshAuthType', 'IDENTITY', '身份认证', '{}', 30, '2023-10-27 14:29:42', '2024-08-24 19:19:28', '1', '1', 0);
INSERT INTO `dict_value` VALUES (55, 1, 'operatorLogModule', 'infra:authentication', '身份认证', '{}', 1000, '2023-10-31 10:47:48', '2023-10-31 10:55:12', '1', '1', 0);
INSERT INTO `dict_value` VALUES (56, 1, 'operatorLogModule', 'infra:system-user', '系统用户', '{}', 1010, '2023-10-31 10:47:51', '2023-10-31 11:00:59', '1', '1', 0);
INSERT INTO `dict_value` VALUES (57, 1, 'operatorLogModule', 'infra:system-role', '系统角色', '{}', 1020, '2023-10-31 10:47:52', '2023-10-31 10:54:59', '1', '1', 0);
INSERT INTO `dict_value` VALUES (58, 1, 'operatorLogModule', 'infra:system-menu', '系统菜单', '{}', 1030, '2023-10-31 10:47:53', '2023-10-31 10:54:51', '1', '1', 0);
INSERT INTO `dict_value` VALUES (59, 1, 'operatorLogModule', 'infra:dict-key', '字典配置项', '{}', 1040, '2023-10-31 10:48:03', '2023-10-31 10:54:44', '1', '1', 0);
INSERT INTO `dict_value` VALUES (60, 1, 'operatorLogModule', 'infra:dict-value', '字典配置值', '{}', 1050, '2023-10-31 10:48:04', '2023-10-31 10:54:38', '1', '1', 0);
INSERT INTO `dict_value` VALUES (61, 1, 'operatorLogModule', 'asset:host', '主机操作', '{}', 2000, '2023-10-31 10:48:16', '2023-10-31 10:53:54', '1', '1', 0);
INSERT INTO `dict_value` VALUES (62, 1, 'operatorLogModule', 'asset:host-key', '主机密钥', '{}', 2020, '2023-10-31 10:48:17', '2024-05-17 12:48:58', '1', '1', 0);
INSERT INTO `dict_value` VALUES (63, 1, 'operatorLogModule', 'asset:host-identity', '主机身份', '{}', 2030, '2023-10-31 10:48:19', '2023-10-31 10:54:26', '1', '1', 0);
INSERT INTO `dict_value` VALUES (64, 2, 'operatorLogType', 'authentication:login', '登录系统', '{}', 10, '2023-10-31 10:55:26', '2023-10-31 18:41:40', '1', '1', 0);
INSERT INTO `dict_value` VALUES (65, 2, 'operatorLogType', 'authentication:logout', '登出系统', '{}', 20, '2023-10-31 10:55:27', '2023-10-31 11:05:41', '1', '1', 0);
INSERT INTO `dict_value` VALUES (66, 2, 'operatorLogType', 'authentication:update-password', '修改密码', '{}', 30, '2023-10-31 10:55:30', '2023-10-31 11:05:41', '1', '1', 0);
INSERT INTO `dict_value` VALUES (67, 2, 'operatorLogType', 'system-user:create', '创建用户', '{}', 10, '2023-10-31 10:55:42', '2023-10-31 11:05:41', '1', '1', 0);
INSERT INTO `dict_value` VALUES (68, 2, 'operatorLogType', 'system-user:update', '修改用户', '{}', 20, '2023-10-31 10:55:42', '2023-10-31 11:05:41', '1', '1', 0);
INSERT INTO `dict_value` VALUES (69, 2, 'operatorLogType', 'system-user:update-status', '修改用户状态', '{}', 30, '2023-10-31 10:55:42', '2023-10-31 11:05:41', '1', '1', 0);
INSERT INTO `dict_value` VALUES (70, 2, 'operatorLogType', 'system-user:grant-role', '分配用户角色', '{}', 40, '2023-10-31 10:55:42', '2023-10-31 11:05:41', '1', '1', 0);
INSERT INTO `dict_value` VALUES (71, 2, 'operatorLogType', 'system-user:reset-password', '重置用户密码', '{}', 50, '2023-10-31 10:55:42', '2023-10-31 11:05:41', '1', '1', 0);
INSERT INTO `dict_value` VALUES (72, 2, 'operatorLogType', 'system-user:delete', '删除用户', '{}', 60, '2023-10-31 10:55:42', '2023-10-31 11:05:41', '1', '1', 0);
INSERT INTO `dict_value` VALUES (73, 2, 'operatorLogType', 'system-role:create', '创建角色', '{}', 10, '2023-10-31 10:55:42', '2023-10-31 11:05:41', '1', '1', 0);
INSERT INTO `dict_value` VALUES (74, 2, 'operatorLogType', 'system-role:update', '修改角色', '{}', 20, '2023-10-31 10:55:42', '2023-10-31 11:05:42', '1', '1', 0);
INSERT INTO `dict_value` VALUES (75, 2, 'operatorLogType', 'system-role:update-status', '修改角色状态', '{}', 30, '2023-10-31 10:55:42', '2023-10-31 11:05:42', '1', '1', 0);
INSERT INTO `dict_value` VALUES (76, 2, 'operatorLogType', 'system-role:delete', '删除角色', '{}', 40, '2023-10-31 10:55:42', '2023-10-31 11:05:42', '1', '1', 0);
INSERT INTO `dict_value` VALUES (77, 2, 'operatorLogType', 'system-role:grant-menu', '分配角色菜单', '{}', 50, '2023-10-31 10:55:42', '2023-10-31 11:05:42', '1', '1', 0);
INSERT INTO `dict_value` VALUES (78, 2, 'operatorLogType', 'system-menu:create', '创建菜单', '{}', 10, '2023-10-31 10:55:42', '2023-10-31 11:05:42', '1', '1', 0);
INSERT INTO `dict_value` VALUES (79, 2, 'operatorLogType', 'system-menu:update', '修改菜单', '{}', 20, '2023-10-31 10:55:42', '2023-10-31 11:05:42', '1', '1', 0);
INSERT INTO `dict_value` VALUES (80, 2, 'operatorLogType', 'system-menu:update-status', '修改菜单状态', '{}', 30, '2023-10-31 10:55:42', '2023-10-31 11:05:42', '1', '1', 0);
INSERT INTO `dict_value` VALUES (81, 2, 'operatorLogType', 'system-menu:delete', '删除菜单', '{}', 40, '2023-10-31 10:55:42', '2023-10-31 11:05:42', '1', '1', 0);
INSERT INTO `dict_value` VALUES (82, 2, 'operatorLogType', 'dict-key:create', '创建字典配置项', '{}', 10, '2023-10-31 10:55:42', '2023-10-31 11:05:42', '1', '1', 0);
INSERT INTO `dict_value` VALUES (83, 2, 'operatorLogType', 'dict-key:update', '更新字典配置项', '{}', 20, '2023-10-31 10:55:42', '2023-10-31 11:05:42', '1', '1', 0);
INSERT INTO `dict_value` VALUES (84, 2, 'operatorLogType', 'dict-key:delete', '删除字典配置项', '{}', 30, '2023-10-31 10:55:43', '2023-10-31 11:05:42', '1', '1', 0);
INSERT INTO `dict_value` VALUES (85, 2, 'operatorLogType', 'dict-value:create', '创建字典配置值', '{}', 10, '2023-10-31 10:55:43', '2023-10-31 11:05:42', '1', '1', 0);
INSERT INTO `dict_value` VALUES (86, 2, 'operatorLogType', 'dict-value:update', '更新字典配置值', '{}', 20, '2023-10-31 10:55:43', '2023-10-31 11:05:42', '1', '1', 0);
INSERT INTO `dict_value` VALUES (87, 2, 'operatorLogType', 'dict-value:delete', '删除字典配置值', '{}', 30, '2023-10-31 10:55:43', '2023-10-31 11:05:42', '1', '1', 0);
INSERT INTO `dict_value` VALUES (88, 2, 'operatorLogType', 'host:create', '创建主机', '{}', 10, '2023-10-31 10:55:43', '2023-10-31 11:05:42', '1', '1', 0);
INSERT INTO `dict_value` VALUES (89, 2, 'operatorLogType', 'host:update', '修改主机', '{}', 20, '2023-10-31 10:55:43', '2023-10-31 11:05:42', '1', '1', 0);
INSERT INTO `dict_value` VALUES (90, 2, 'operatorLogType', 'host:delete', '删除主机', '{}', 30, '2023-10-31 10:55:43', '2023-10-31 11:05:43', '1', '1', 0);
INSERT INTO `dict_value` VALUES (91, 2, 'operatorLogType', 'host:update-config', '修改主机配置', '{}', 40, '2023-10-31 10:55:43', '2023-10-31 11:05:43', '1', '1', 0);
INSERT INTO `dict_value` VALUES (92, 2, 'operatorLogType', 'host:update-status', '修改主机状态', '{}', 50, '2023-10-31 10:55:43', '2024-07-22 14:48:11', '1', '1', 0);
INSERT INTO `dict_value` VALUES (93, 2, 'operatorLogType', 'host-key:create', '创建主机密钥', '{}', 10, '2023-10-31 10:55:43', '2024-05-17 12:49:00', '1', '1', 0);
INSERT INTO `dict_value` VALUES (94, 2, 'operatorLogType', 'host-key:update', '修改主机密钥', '{}', 20, '2023-10-31 10:55:43', '2024-05-17 12:49:03', '1', '1', 0);
INSERT INTO `dict_value` VALUES (95, 2, 'operatorLogType', 'host-key:delete', '删除主机密钥', '{}', 30, '2023-10-31 10:55:43', '2024-05-17 12:49:06', '1', '1', 0);
INSERT INTO `dict_value` VALUES (96, 2, 'operatorLogType', 'host-identity:create', '创建主机身份', '{}', 10, '2023-10-31 10:55:43', '2023-10-31 11:05:43', '1', '1', 0);
INSERT INTO `dict_value` VALUES (97, 2, 'operatorLogType', 'host-identity:update', '修改主机身份', '{}', 20, '2023-10-31 10:55:43', '2023-10-31 11:05:43', '1', '1', 0);
INSERT INTO `dict_value` VALUES (98, 2, 'operatorLogType', 'host-identity:delete', '删除主机身份', '{}', 30, '2023-10-31 10:55:43', '2023-10-31 11:05:43', '1', '1', 0);
INSERT INTO `dict_value` VALUES (101, 15, 'operatorLogResult', '0', '失败', '{\"color\": \"red\"}', 10, '2023-10-31 17:42:09', '2023-11-01 16:05:44', '2', '1', 0);
INSERT INTO `dict_value` VALUES (102, 15, 'operatorLogResult', '1', '成功', '{\"color\": \"arcoblue\"}', 20, '2023-10-31 17:42:15', '2023-11-01 16:06:02', '2', '1', 0);
INSERT INTO `dict_value` VALUES (103, 16, 'operatorRiskLevel', 'L', '低风险', '{\"color\": \"arcoblue\"}', 10, '2023-11-01 16:04:10', '2023-11-01 16:04:10', '1', '1', 0);
INSERT INTO `dict_value` VALUES (104, 16, 'operatorRiskLevel', 'M', '中风险', '{\"color\": \"orangered\"}', 20, '2023-11-01 16:04:24', '2023-11-01 16:04:24', '1', '1', 0);
INSERT INTO `dict_value` VALUES (105, 16, 'operatorRiskLevel', 'H', '高风险', '{\"color\": \"red\"}', 30, '2023-11-01 16:04:41', '2023-11-01 16:04:41', '1', '1', 0);
INSERT INTO `dict_value` VALUES (106, 2, 'operatorLogType', 'system-user:offline', '下线用户会话', '{}', 10, '2023-11-02 11:32:39', '2023-11-02 11:32:39', '1', '1', 0);
INSERT INTO `dict_value` VALUES (107, 1, 'operatorLogModule', 'asset:host-group', '主机分组', '{}', 2040, '2023-11-13 18:26:13', '2024-04-11 23:34:46', '1', '1', 0);
INSERT INTO `dict_value` VALUES (108, 2, 'operatorLogType', 'host-group:create', '创建主机分组', '{}', 10, '2023-11-13 18:27:05', '2023-11-13 18:27:28', '1', '1', 0);
INSERT INTO `dict_value` VALUES (109, 2, 'operatorLogType', 'host-group:rename', '重命名主机分组', '{}', 20, '2023-11-13 18:27:51', '2023-11-13 18:27:51', '1', '1', 0);
INSERT INTO `dict_value` VALUES (110, 2, 'operatorLogType', 'host-group:move', '移动主机分组', '{}', 30, '2023-11-13 18:28:02', '2023-11-13 18:28:02', '1', '1', 0);
INSERT INTO `dict_value` VALUES (111, 2, 'operatorLogType', 'host-group:delete', '删除主机分组', '{}', 40, '2023-11-13 18:28:12', '2023-11-13 18:28:12', '1', '1', 0);
INSERT INTO `dict_value` VALUES (112, 2, 'operatorLogType', 'host-group:update-rel', '修改分组主机', '{}', 10, '2023-11-13 23:48:03', '2023-11-13 23:48:35', '1', '1', 0);
INSERT INTO `dict_value` VALUES (113, 2, 'operatorLogType', 'host-group:grant', '主机分组授权', '{}', 50, '2023-11-23 18:10:14', '2023-11-23 18:10:14', '1', '1', 0);
INSERT INTO `dict_value` VALUES (122, 2, 'operatorLogType', 'host-key:grant', '主机密钥授权', '{}', 40, '2023-11-30 21:03:55', '2024-05-17 12:49:10', '1', '1', 0);
INSERT INTO `dict_value` VALUES (123, 2, 'operatorLogType', 'host-identity:grant', '主机身份授权', '{}', 40, '2023-11-30 21:04:48', '2023-11-30 21:04:48', '1', '1', 0);
INSERT INTO `dict_value` VALUES (124, 19, 'systemMenuNewWindow', '0', '关闭', '{}', 10, '2023-12-05 14:15:17', '2023-12-05 14:15:17', '1', '1', 0);
INSERT INTO `dict_value` VALUES (125, 19, 'systemMenuNewWindow', '1', '开启', '{}', 20, '2023-12-05 14:15:24', '2023-12-05 14:15:24', '1', '1', 0);
INSERT INTO `dict_value` VALUES (129, 21, 'terminalFontFamily', '_', '默认', '{}', 10, '2023-12-11 16:46:48', '2023-12-11 17:54:03', '1', '1', 0);
INSERT INTO `dict_value` VALUES (130, 21, 'terminalFontFamily', 'Courier New', 'Courier New', '{}', 20, '2023-12-11 16:46:57', '2023-12-11 17:07:39', '1', '1', 0);
INSERT INTO `dict_value` VALUES (131, 21, 'terminalFontFamily', 'Fira Code', 'Fira Code', '{}', 60, '2023-12-11 16:47:04', '2024-05-15 15:27:12', '1', '1', 0);
INSERT INTO `dict_value` VALUES (132, 21, 'terminalFontFamily', 'JetBrains Mono', 'JetBrains Mono', '{}', 70, '2023-12-11 16:47:09', '2024-05-15 15:27:16', '1', '1', 0);
INSERT INTO `dict_value` VALUES (135, 21, 'terminalFontFamily', 'Consolas', 'Consolas', '{}', 50, '2023-12-11 16:47:28', '2024-05-15 15:26:51', '1', '1', 0);
INSERT INTO `dict_value` VALUES (137, 21, 'terminalFontFamily', 'Source Code Pro', 'Source Code Pro', '{}', 80, '2023-12-11 16:47:43', '2024-05-15 15:27:21', '1', '1', 0);
INSERT INTO `dict_value` VALUES (139, 21, 'terminalFontFamily', 'Lucida Console', 'Lucida Console', '{}', 30, '2023-12-11 16:47:58', '2024-05-15 15:26:28', '1', '1', 0);
INSERT INTO `dict_value` VALUES (140, 21, 'terminalFontFamily', 'Courier', 'Courier', '{}', 40, '2023-12-11 16:48:03', '2024-05-15 15:26:42', '1', '1', 0);
INSERT INTO `dict_value` VALUES (142, 22, 'terminalFontSize', '10', '10px', '{}', 10, '2023-12-11 17:08:04', '2023-12-11 17:08:04', '1', '1', 0);
INSERT INTO `dict_value` VALUES (143, 22, 'terminalFontSize', '11', '11px', '{}', 20, '2023-12-11 17:08:08', '2023-12-11 17:08:08', '1', '1', 0);
INSERT INTO `dict_value` VALUES (144, 22, 'terminalFontSize', '12', '12px', '{}', 30, '2023-12-11 17:08:11', '2023-12-11 17:08:11', '1', '1', 0);
INSERT INTO `dict_value` VALUES (145, 22, 'terminalFontSize', '13', '13px', '{}', 40, '2023-12-11 17:08:16', '2023-12-11 17:08:16', '1', '1', 0);
INSERT INTO `dict_value` VALUES (146, 22, 'terminalFontSize', '14', '14px', '{}', 50, '2023-12-11 17:08:21', '2023-12-11 17:08:21', '1', '1', 0);
INSERT INTO `dict_value` VALUES (147, 22, 'terminalFontSize', '15', '15px', '{}', 60, '2023-12-11 17:08:29', '2023-12-11 17:08:29', '1', '1', 0);
INSERT INTO `dict_value` VALUES (148, 22, 'terminalFontSize', '16', '16px', '{}', 70, '2023-12-11 17:08:35', '2023-12-11 17:08:35', '1', '1', 0);
INSERT INTO `dict_value` VALUES (149, 22, 'terminalFontSize', '17', '17px', '{}', 80, '2023-12-11 17:08:48', '2023-12-11 17:08:48', '1', '1', 0);
INSERT INTO `dict_value` VALUES (150, 22, 'terminalFontSize', '18', '18px', '{}', 90, '2023-12-11 17:08:55', '2023-12-11 17:08:55', '1', '1', 0);
INSERT INTO `dict_value` VALUES (151, 22, 'terminalFontSize', '19', '19px', '{}', 100, '2023-12-11 17:09:00', '2023-12-11 17:09:00', '1', '1', 0);
INSERT INTO `dict_value` VALUES (152, 22, 'terminalFontSize', '20', '20px', '{}', 110, '2023-12-11 17:09:07', '2023-12-11 17:09:07', '1', '1', 0);
INSERT INTO `dict_value` VALUES (153, 22, 'terminalFontSize', '21', '21px', '{}', 120, '2023-12-11 17:09:12', '2023-12-11 17:09:12', '1', '1', 0);
INSERT INTO `dict_value` VALUES (154, 22, 'terminalFontSize', '22', '22px', '{}', 130, '2023-12-11 17:09:17', '2023-12-11 17:09:17', '1', '1', 0);
INSERT INTO `dict_value` VALUES (155, 23, 'terminalFontWeight', 'normal', 'normal', '{}', 140, '2023-12-11 17:19:05', '2023-12-11 17:19:05', '1', '1', 0);
INSERT INTO `dict_value` VALUES (156, 23, 'terminalFontWeight', 'bold', 'bold', '{}', 150, '2023-12-11 17:19:11', '2023-12-11 17:19:11', '1', '1', 0);
INSERT INTO `dict_value` VALUES (157, 23, 'terminalFontWeight', '100', '100', '{}', 160, '2023-12-11 17:19:17', '2023-12-11 17:19:17', '1', '1', 0);
INSERT INTO `dict_value` VALUES (158, 23, 'terminalFontWeight', '200', '200', '{}', 170, '2023-12-11 17:19:21', '2023-12-11 17:19:44', '1', '1', 0);
INSERT INTO `dict_value` VALUES (159, 23, 'terminalFontWeight', '300', '300', '{}', 180, '2023-12-11 17:19:25', '2023-12-11 17:20:06', '1', '1', 0);
INSERT INTO `dict_value` VALUES (160, 23, 'terminalFontWeight', '400', '400', '{}', 190, '2023-12-11 17:19:35', '2023-12-11 17:19:59', '1', '1', 0);
INSERT INTO `dict_value` VALUES (161, 23, 'terminalFontWeight', '500', '500', '{}', 200, '2023-12-11 17:20:15', '2023-12-11 17:20:43', '1', '1', 0);
INSERT INTO `dict_value` VALUES (162, 23, 'terminalFontWeight', '600', '600', '{}', 210, '2023-12-11 17:20:18', '2023-12-11 17:20:49', '1', '1', 0);
INSERT INTO `dict_value` VALUES (163, 23, 'terminalFontWeight', '700', '700', '{}', 220, '2023-12-11 17:20:22', '2023-12-11 17:20:54', '1', '1', 0);
INSERT INTO `dict_value` VALUES (164, 23, 'terminalFontWeight', '800', '800', '{}', 230, '2023-12-11 17:20:25', '2023-12-11 17:20:58', '1', '1', 0);
INSERT INTO `dict_value` VALUES (165, 23, 'terminalFontWeight', '900', '900', '{}', 240, '2023-12-11 17:20:29', '2023-12-11 17:21:09', '1', '1', 0);
INSERT INTO `dict_value` VALUES (166, 24, 'terminalCursorStyle', 'block', '', '{}', 10, '2023-12-11 18:26:36', '2023-12-11 18:48:35', '1', '1', 0);
INSERT INTO `dict_value` VALUES (167, 24, 'terminalCursorStyle', 'underline', '', '{}', 20, '2023-12-11 18:27:32', '2023-12-11 18:27:32', '1', '1', 0);
INSERT INTO `dict_value` VALUES (168, 24, 'terminalCursorStyle', 'bar', '', '{}', 30, '2023-12-11 18:27:57', '2023-12-11 18:48:25', '1', '1', 0);
INSERT INTO `dict_value` VALUES (169, 25, 'hostNewConnectionType', 'group', '分组', '{}', 10, '2023-12-14 17:24:43', '2024-01-31 23:39:19', '1', '1', 0);
INSERT INTO `dict_value` VALUES (170, 25, 'hostNewConnectionType', 'list', '列表', '{}', 20, '2023-12-14 17:24:49', '2024-01-31 23:39:19', '1', '1', 0);
INSERT INTO `dict_value` VALUES (171, 25, 'hostNewConnectionType', 'favorite', '收藏', '{}', 30, '2023-12-14 17:25:00', '2024-01-31 23:39:19', '1', '1', 0);
INSERT INTO `dict_value` VALUES (172, 25, 'hostNewConnectionType', 'latest', '最近连接', '{}', 40, '2023-12-14 17:25:10', '2024-01-31 23:39:19', '1', '1', 0);
INSERT INTO `dict_value` VALUES (173, 26, 'hostExtraSshAuthType', 'DEFAULT', '主机默认配置', '{}', 10, '2023-12-25 15:48:26', '2023-12-25 15:48:26', '1', '1', 0);
INSERT INTO `dict_value` VALUES (174, 26, 'hostExtraSshAuthType', 'CUSTOM_KEY', '自定义密钥', '{}', 20, '2023-12-25 15:48:42', '2024-05-31 18:05:35', '1', '1', 0);
INSERT INTO `dict_value` VALUES (175, 26, 'hostExtraSshAuthType', 'CUSTOM_IDENTITY', '自定义身份', '{}', 30, '2023-12-25 15:48:52', '2023-12-25 16:05:31', '1', '1', 0);
INSERT INTO `dict_value` VALUES (176, 27, 'terminalConnectType', 'SSH', 'SSH', '{\"color\": \"arcoblue\"}', 10, '2023-12-26 23:23:18', '2024-10-15 11:56:41', '1', '1', 0);
INSERT INTO `dict_value` VALUES (177, 28, 'terminalConnectStatus', 'CONNECTING', '连接中', '{\"color\": \"rgb(var(--green-6))\"}', 10, '2023-12-26 23:29:00', '2024-10-15 11:59:01', '1', '1', 0);
INSERT INTO `dict_value` VALUES (178, 28, 'terminalConnectStatus', 'COMPLETE', '完成', '{\"color\": \"rgb(var(--blue-6))\"}', 20, '2023-12-26 23:29:15', '2024-10-15 11:59:01', '1', '1', 0);
INSERT INTO `dict_value` VALUES (179, 28, 'terminalConnectStatus', 'FAILED', '失败', '{\"color\": \"rgb(var(--red-6))\"}', 30, '2023-12-26 23:29:34', '2024-10-15 11:59:01', '1', '1', 0);
INSERT INTO `dict_value` VALUES (180, 1, 'operatorLogModule', 'asset:terminal', '主机终端', '{}', 2050, '2023-12-27 18:42:39', '2024-10-15 15:52:47', '2', '1', 0);
INSERT INTO `dict_value` VALUES (181, 2, 'operatorLogType', 'terminal:connect', '连接主机终端', '{}', 10, '2023-12-27 18:43:17', '2024-10-15 15:54:47', '2', '1', 0);
INSERT INTO `dict_value` VALUES (182, 29, 'terminalSessionStatus', '0', '连接中', '{\"status\": \"normal\"}', 10, '2024-01-09 00:32:47', '2024-10-15 13:39:21', '1', '1', 0);
INSERT INTO `dict_value` VALUES (183, 29, 'terminalSessionStatus', '1', '已连接', '{\"status\": \"processing\"}', 20, '2024-01-09 00:32:59', '2024-10-15 13:39:23', '1', '1', 0);
INSERT INTO `dict_value` VALUES (184, 29, 'terminalSessionStatus', '2', '已断开', '{\"status\": \"danger\"}', 30, '2024-01-09 00:33:09', '2024-10-15 13:39:24', '1', '1', 0);
INSERT INTO `dict_value` VALUES (189, 31, 'terminalEmulationType', 'xterm', 'xterm', '{}', 10, '2024-01-11 23:35:40', '2024-01-11 23:35:40', '1', '1', 0);
INSERT INTO `dict_value` VALUES (190, 31, 'terminalEmulationType', 'xterm-16color', 'xterm-16color', '{}', 20, '2024-01-11 23:35:49', '2024-01-11 23:35:49', '1', '1', 0);
INSERT INTO `dict_value` VALUES (191, 31, 'terminalEmulationType', 'xterm-256color', 'xterm-256color', '{}', 30, '2024-01-11 23:35:55', '2024-01-11 23:35:55', '1', '1', 0);
INSERT INTO `dict_value` VALUES (192, 31, 'terminalEmulationType', 'vt100', 'vt100', '{}', 40, '2024-01-11 23:36:00', '2024-01-11 23:36:00', '1', '1', 0);
INSERT INTO `dict_value` VALUES (193, 27, 'terminalConnectType', 'SFTP', 'SFTP', '{\"color\": \"purple\"}', 20, '2024-02-04 18:23:10', '2024-10-15 11:56:41', '1', '1', 0);
INSERT INTO `dict_value` VALUES (194, 2, 'operatorLogType', 'terminal:sftp-mkdir', '创建文件夹', '{}', 20, '2024-02-23 17:53:21', '2024-10-15 15:54:47', '1', '1', 0);
INSERT INTO `dict_value` VALUES (195, 2, 'operatorLogType', 'terminal:sftp-touch', '创建文件', '{}', 30, '2024-02-23 17:53:28', '2024-10-15 15:54:47', '1', '1', 0);
INSERT INTO `dict_value` VALUES (196, 2, 'operatorLogType', 'terminal:sftp-move', '移动文件', '{}', 40, '2024-02-23 17:53:39', '2024-10-15 15:54:47', '1', '1', 0);
INSERT INTO `dict_value` VALUES (197, 2, 'operatorLogType', 'terminal:sftp-remove', '删除文件', '{}', 50, '2024-02-23 17:53:51', '2024-10-15 15:54:47', '1', '1', 0);
INSERT INTO `dict_value` VALUES (198, 2, 'operatorLogType', 'terminal:sftp-truncate', '截断文件', '{}', 60, '2024-02-23 17:54:06', '2024-10-15 15:54:47', '1', '1', 0);
INSERT INTO `dict_value` VALUES (199, 2, 'operatorLogType', 'terminal:sftp-chmod', '文件提权', '{}', 70, '2024-02-23 17:54:17', '2024-10-15 15:54:47', '1', '1', 0);
INSERT INTO `dict_value` VALUES (200, 2, 'operatorLogType', 'terminal:sftp-set-content', '修改文件内容', '{}', 80, '2024-02-23 17:54:37', '2024-10-15 15:54:47', '1', '1', 0);
INSERT INTO `dict_value` VALUES (201, 2, 'operatorLogType', 'terminal:sftp-upload', '上传文件', '{}', 90, '2024-02-23 17:54:52', '2024-10-15 15:54:47', '1', '1', 0);
INSERT INTO `dict_value` VALUES (202, 2, 'operatorLogType', 'terminal:sftp-download', '下载文件', '{}', 100, '2024-02-23 17:55:03', '2024-10-15 15:54:47', '1', '1', 0);
INSERT INTO `dict_value` VALUES (203, 32, 'terminalTabColor', 'red', '红色', '{\"bg\": \"rgb(var(--red-2))\", \"color\": \"rgb(var(--red-6))\"}', 10, '2024-03-01 15:07:41', '2024-08-05 14:24:28', '1', '1', 0);
INSERT INTO `dict_value` VALUES (204, 32, 'terminalTabColor', 'orange', '橙色', '{\"bg\": \"rgb(var(--orange-2))\", \"color\": \"rgb(var(--orange-6))\"}', 20, '2024-03-01 15:07:55', '2024-08-05 14:24:23', '1', '1', 0);
INSERT INTO `dict_value` VALUES (205, 32, 'terminalTabColor', 'yellow', '黄色', '{\"bg\": \"rgb(var(--yellow-2))\", \"color\": \"rgb(var(--yellow-6))\"}', 30, '2024-03-01 15:08:13', '2024-08-05 14:24:15', '1', '1', 0);
INSERT INTO `dict_value` VALUES (206, 32, 'terminalTabColor', 'green', '绿色', '{\"bg\": \"rgb(var(--green-2))\", \"color\": \"rgb(var(--green-6))\"}', 40, '2024-03-01 15:08:23', '2024-08-05 14:24:09', '1', '1', 0);
INSERT INTO `dict_value` VALUES (207, 32, 'terminalTabColor', 'cyan', '青色', '{\"bg\": \"rgb(var(--cyan-2))\", \"color\": \"rgb(var(--cyan-6))\"}', 50, '2024-03-01 15:08:46', '2024-08-05 14:24:03', '1', '1', 0);
INSERT INTO `dict_value` VALUES (208, 32, 'terminalTabColor', 'blue', '浅蓝', '{\"bg\": \"rgb(var(--blue-2))\", \"color\": \"rgb(var(--blue-6))\"}', 60, '2024-03-01 15:11:01', '2024-08-05 14:23:59', '1', '1', 0);
INSERT INTO `dict_value` VALUES (209, 32, 'terminalTabColor', 'arcoblue', '蓝色', '{\"bg\": \"rgb(var(--arcoblue-2))\", \"color\": \"rgb(var(--arcoblue-6))\"}', 70, '2024-03-01 15:11:11', '2024-08-05 14:23:55', '1', '1', 0);
INSERT INTO `dict_value` VALUES (210, 32, 'terminalTabColor', 'purple', '紫色', '{\"bg\": \"rgb(var(--purple-2))\", \"color\": \"rgb(var(--purple-6))\"}', 80, '2024-03-01 15:11:20', '2024-08-05 14:23:51', '1', '1', 0);
INSERT INTO `dict_value` VALUES (211, 32, 'terminalTabColor', 'pinkpurple', '粉紫', '{\"bg\": \"rgb(var(--pinkpurple-2))\", \"color\": \"rgb(var(--pinkpurple-6))\"}', 90, '2024-03-01 15:11:41', '2024-08-05 14:23:47', '1', '1', 0);
INSERT INTO `dict_value` VALUES (213, 32, 'terminalTabColor', 'gray', '灰色', '{\"bg\": \"rgb(var(--gray-2))\", \"color\": \"rgb(var(--gray-6))\"}', 100, '2024-03-01 15:12:01', '2024-08-05 14:23:43', '1', '1', 0);
INSERT INTO `dict_value` VALUES (214, 28, 'terminalConnectStatus', 'FORCE_OFFLINE', '强制下线', '{\"color\": \"rgb(var(--red-6))\"}', 40, '2024-03-04 12:51:13', '2024-10-15 11:59:01', '1', '1', 0);
INSERT INTO `dict_value` VALUES (215, 1, 'operatorLogModule', 'asset:terminal-connect-log', '终端连接日志', '{}', 2060, '2024-03-04 13:43:33', '2024-10-15 11:31:41', '1', '1', 0);
INSERT INTO `dict_value` VALUES (216, 2, 'operatorLogType', 'terminal-connect-log:delete', '删除终端连接日志', '{}', 10, '2024-03-04 13:44:34', '2024-10-15 11:36:08', '1', '1', 0);
INSERT INTO `dict_value` VALUES (217, 2, 'operatorLogType', 'terminal-connect-log:clear', '清空终端连接日志', '{}', 20, '2024-03-04 13:45:07', '2024-10-15 11:36:27', '1', '1', 0);
INSERT INTO `dict_value` VALUES (218, 2, 'operatorLogType', 'terminal-connect-log:force-offline', '强制下线', '{}', 30, '2024-03-04 13:45:36', '2024-10-15 11:35:15', '1', '1', 0);
INSERT INTO `dict_value` VALUES (219, 1, 'operatorLogModule', 'infra:operator-log', '操作日志', '{}', 1060, '2024-03-04 16:32:11', '2024-03-04 16:32:11', '1', '1', 0);
INSERT INTO `dict_value` VALUES (220, 2, 'operatorLogType', 'operator-log:delete', '删除操作日志', '{}', 10, '2024-03-04 16:33:11', '2024-03-04 16:33:44', '1', '1', 0);
INSERT INTO `dict_value` VALUES (221, 2, 'operatorLogType', 'operator-log:clear', '清空操作日志', '{}', 20, '2024-03-04 16:33:31', '2024-03-04 16:33:31', '1', '1', 0);
INSERT INTO `dict_value` VALUES (222, 2, 'operatorLogType', 'terminal:delete-sftp-log', '删除文件操作日志', '{}', 15, '2024-03-05 15:28:00', '2024-10-15 15:54:47', '1', '1', 0);
INSERT INTO `dict_value` VALUES (223, 33, 'sftpOperatorType', 'terminal:sftp-mkdir', '创建文件夹', '{}', 10, '2024-03-05 16:50:17', '2024-10-15 15:54:47', '1', '1', 0);
INSERT INTO `dict_value` VALUES (224, 33, 'sftpOperatorType', 'terminal:sftp-touch', '创建文件', '{}', 20, '2024-03-05 16:50:27', '2024-10-15 15:54:47', '1', '1', 0);
INSERT INTO `dict_value` VALUES (225, 33, 'sftpOperatorType', 'terminal:sftp-move', '移动文件', '{}', 30, '2024-03-05 16:50:41', '2024-10-15 15:54:47', '1', '1', 0);
INSERT INTO `dict_value` VALUES (226, 33, 'sftpOperatorType', 'terminal:sftp-remove', '删除文件', '{}', 40, '2024-03-05 16:50:53', '2024-10-15 15:54:47', '1', '1', 0);
INSERT INTO `dict_value` VALUES (227, 33, 'sftpOperatorType', 'terminal:sftp-truncate', '截断文件', '{}', 50, '2024-03-05 16:51:04', '2024-10-15 15:54:47', '1', '1', 0);
INSERT INTO `dict_value` VALUES (228, 33, 'sftpOperatorType', 'terminal:sftp-chmod', '文件提权', '{}', 60, '2024-03-05 16:51:15', '2024-10-15 15:54:47', '1', '1', 0);
INSERT INTO `dict_value` VALUES (229, 33, 'sftpOperatorType', 'terminal:sftp-set-content', '修改文件内容', '{}', 70, '2024-03-05 16:51:30', '2024-10-15 15:54:47', '1', '1', 0);
INSERT INTO `dict_value` VALUES (230, 33, 'sftpOperatorType', 'terminal:sftp-upload', '上传文件', '{}', 80, '2024-03-05 16:52:06', '2024-10-15 15:54:47', '1', '1', 0);
INSERT INTO `dict_value` VALUES (231, 33, 'sftpOperatorType', 'terminal:sftp-download', '下载文件', '{}', 90, '2024-03-05 16:52:18', '2024-10-15 15:54:47', '1', '1', 0);
INSERT INTO `dict_value` VALUES (232, 1, 'operatorLogModule', 'asset:exec-template', '执行模板', '{}', 2070, '2024-03-07 18:32:41', '2024-03-07 18:32:41', '1', '1', 0);
INSERT INTO `dict_value` VALUES (233, 2, 'operatorLogType', 'exec-template:create', '创建执行模板', '{}', 10, '2024-03-07 18:32:41', '2024-04-12 13:48:54', '1', '1', 0);
INSERT INTO `dict_value` VALUES (234, 2, 'operatorLogType', 'exec-template:update', '更新执行模板', '{}', 20, '2024-03-07 18:32:41', '2024-04-12 13:48:56', '1', '1', 0);
INSERT INTO `dict_value` VALUES (235, 2, 'operatorLogType', 'exec-template:delete', '删除执行模板', '{}', 30, '2024-03-07 18:32:41', '2024-04-12 13:49:01', '1', '1', 0);
INSERT INTO `dict_value` VALUES (236, 1, 'operatorLogModule', 'asset:exec-command', '批量执行', '{}', 2080, '2024-03-13 15:08:43', '2024-04-10 22:33:28', '1', '1', 0);
INSERT INTO `dict_value` VALUES (237, 2, 'operatorLogType', 'exec-command-log:delete', '删除执行日志', '{}', 10, '2024-03-13 15:08:43', '2024-04-12 13:52:50', '1', '1', 0);
INSERT INTO `dict_value` VALUES (238, 2, 'operatorLogType', 'exec-command-log:clear', '清理执行日志', '{}', 20, '2024-03-13 15:08:43', '2024-04-12 13:52:51', '1', '1', 0);
INSERT INTO `dict_value` VALUES (239, 2, 'operatorLogType', 'exec-command-log:delete-host', '删除执行主机日志', '{}', 30, '2024-03-13 15:08:43', '2024-04-12 13:52:57', '1', '1', 0);
INSERT INTO `dict_value` VALUES (240, 34, 'execStatus', 'WAITING', '等待中', '{\"color\": \"gray\"}', 10, '2024-03-13 15:08:43', '2024-03-13 15:53:55', '1', '1', 0);
INSERT INTO `dict_value` VALUES (241, 34, 'execStatus', 'RUNNING', '运行中', '{\"color\": \"green\"}', 20, '2024-03-13 15:08:43', '2024-03-13 15:53:55', '1', '1', 0);
INSERT INTO `dict_value` VALUES (242, 34, 'execStatus', 'COMPLETED', '执行完成', '{\"color\": \"arcoblue\"}', 30, '2024-03-13 15:08:43', '2024-03-13 15:53:55', '1', '1', 0);
INSERT INTO `dict_value` VALUES (243, 34, 'execStatus', 'FAILED', '执行失败', '{\"color\": \"red\"}', 40, '2024-03-13 15:08:43', '2024-03-13 15:53:55', '1', '1', 0);
INSERT INTO `dict_value` VALUES (244, 35, 'execHostStatus', 'WAITING', '等待中', '{\"color\": \"gray\", \"execColor\": \"#94D82D\"}', 10, '2024-03-13 15:09:11', '2024-03-19 19:09:53', '1', '1', 0);
INSERT INTO `dict_value` VALUES (245, 35, 'execHostStatus', 'RUNNING', '运行中', '{\"color\": \"green\", \"execColor\": \"#339AF0\"}', 20, '2024-03-13 15:09:11', '2024-03-17 20:50:53', '1', '1', 0);
INSERT INTO `dict_value` VALUES (246, 35, 'execHostStatus', 'COMPLETED', '执行完成', '{\"color\": \"arcoblue\", \"execColor\": \"#5C7CFA\"}', 30, '2024-03-13 15:09:11', '2024-03-17 20:42:17', '1', '1', 0);
INSERT INTO `dict_value` VALUES (247, 35, 'execHostStatus', 'FAILED', '执行失败', '{\"color\": \"red\", \"execColor\": \"#FF6B6B\"}', 40, '2024-03-13 15:09:11', '2024-03-17 20:42:39', '1', '1', 0);
INSERT INTO `dict_value` VALUES (248, 35, 'execHostStatus', 'INTERRUPTED', '已中断', '{\"color\": \"purple\", \"execColor\": \"#845EF7\"}', 60, '2024-03-13 15:09:11', '2024-03-19 19:05:03', '1', '1', 0);
INSERT INTO `dict_value` VALUES (249, 2, 'operatorLogType', 'exec-command:exec', '执行主机命令', '{}', 10, '2024-03-13 15:08:43', '2024-04-12 13:53:00', '1', '1', 0);
INSERT INTO `dict_value` VALUES (250, 2, 'operatorLogType', 'exec-command-log:interrupt', '中断批量执行', '{}', 50, '2024-03-13 15:08:43', '2024-04-12 12:53:58', '1', '1', 0);
INSERT INTO `dict_value` VALUES (251, 2, 'operatorLogType', 'exec-command-log:interrupt-host', '中断批量执行主机', '{}', 60, '2024-03-13 15:08:43', '2024-04-12 12:54:10', '1', '1', 0);
INSERT INTO `dict_value` VALUES (252, 2, 'operatorLogType', 'exec-command-log:download', '下载批量执行日志', '{}', 40, '2024-03-18 17:25:44', '2024-04-11 23:34:54', '1', '1', 0);
INSERT INTO `dict_value` VALUES (253, 35, 'execHostStatus', 'TIMEOUT', '执行超时', '{\"color\": \"orangered\", \"execColor\": \"#fA8C16\"}', 50, '2024-03-19 19:05:56', '2024-04-02 23:01:44', '1', '1', 0);
INSERT INTO `dict_value` VALUES (254, 1, 'operatorLogModule', 'asset:exec-job', '计划任务', '{}', 2090, '2024-04-10 16:18:07', '2024-04-10 16:18:07', '1', '1', 0);
INSERT INTO `dict_value` VALUES (255, 2, 'operatorLogType', 'exec-job:create', '创建计划任务', '{}', 10, '2024-04-10 16:18:07', '2024-04-12 12:55:11', '1', '1', 0);
INSERT INTO `dict_value` VALUES (256, 2, 'operatorLogType', 'exec-job:update', '更新计划任务', '{}', 20, '2024-04-10 16:18:07', '2024-04-12 12:55:13', '1', '1', 0);
INSERT INTO `dict_value` VALUES (257, 2, 'operatorLogType', 'exec-job:update-status', '更新任务状态', '{}', 30, '2024-04-10 16:18:07', '2024-04-12 12:55:14', '1', '1', 0);
INSERT INTO `dict_value` VALUES (258, 2, 'operatorLogType', 'exec-job:trigger', '触发计划任务', '{}', 40, '2024-04-10 16:18:07', '2024-04-12 12:55:15', '1', '1', 0);
INSERT INTO `dict_value` VALUES (259, 2, 'operatorLogType', 'exec-job:delete', '删除计划任务', '{}', 50, '2024-04-10 16:18:07', '2024-04-12 12:55:21', '1', '1', 0);
INSERT INTO `dict_value` VALUES (260, 36, 'execJobStatus', '0', '禁用', '{\"color\": \"orangered\"}', 10, '2024-04-10 16:18:07', '2024-04-11 14:25:29', '1', '1', 0);
INSERT INTO `dict_value` VALUES (261, 36, 'execJobStatus', '1', '启用', '{\"color\": \"arcoblue\"}', 20, '2024-04-10 16:18:07', '2024-04-11 14:25:21', '1', '1', 0);
INSERT INTO `dict_value` VALUES (262, 1, 'operatorLogModule', 'asset:exec-command-log', '批量执行日志', '{}', 2090, '2024-03-13 15:08:43', '2024-04-11 23:34:55', '1', '1', 0);
INSERT INTO `dict_value` VALUES (263, 1, 'operatorLogModule', 'asset:exec-job-log', '计划任务日志', '{}', 2100, '2024-04-10 16:18:07', '2024-04-11 23:33:55', '1', '1', 0);
INSERT INTO `dict_value` VALUES (264, 2, 'operatorLogType', 'exec-job-log:delete', '删除任务日志', '{}', 10, '2024-03-13 15:08:43', '2024-04-12 13:53:04', '1', '1', 0);
INSERT INTO `dict_value` VALUES (265, 2, 'operatorLogType', 'exec-job-log:clear', '清理任务日志', '{}', 20, '2024-03-13 15:08:43', '2024-04-12 13:53:05', '1', '1', 0);
INSERT INTO `dict_value` VALUES (266, 2, 'operatorLogType', 'exec-job-log:delete-host', '删除任务主机日志', '{}', 30, '2024-03-13 15:08:43', '2024-04-12 13:53:09', '1', '1', 0);
INSERT INTO `dict_value` VALUES (267, 2, 'operatorLogType', 'exec-job-log:download', '下载计划任务日志', '{}', 40, '2024-03-18 17:25:44', '2024-04-11 23:38:17', '1', '1', 0);
INSERT INTO `dict_value` VALUES (268, 2, 'operatorLogType', 'exec-job-log:interrupt', '中断计划任务', '{}', 50, '2024-03-13 15:08:43', '2024-04-12 15:23:51', '1', '1', 0);
INSERT INTO `dict_value` VALUES (269, 2, 'operatorLogType', 'exec-job-log:interrupt-host', '中断计划任务主机', '{}', 60, '2024-03-13 15:08:43', '2024-04-12 15:23:42', '1', '1', 0);
INSERT INTO `dict_value` VALUES (270, 37, 'hostIdentityType', 'PASSWORD', '密码', '{\"color\": \"purple\"}', 10, '2024-04-16 17:17:49', '2024-04-16 17:17:49', '2', '2', 0);
INSERT INTO `dict_value` VALUES (271, 37, 'hostIdentityType', 'KEY', '密钥', '{\"color\": \"arcoblue\"}', 20, '2024-04-16 17:18:12', '2024-05-17 12:49:16', '2', '2', 0);
INSERT INTO `dict_value` VALUES (272, 38, 'hostOsType', 'LINUX', 'linux', '{}', 10, '2024-04-16 22:19:25', '2024-12-12 16:20:39', '1', '3', 0);
INSERT INTO `dict_value` VALUES (273, 38, 'hostOsType', 'WINDOWS', 'windows', '{}', 20, '2024-04-16 22:19:39', '2024-12-12 16:20:39', '1', '3', 0);
INSERT INTO `dict_value` VALUES (274, 39, 'pathBookmarkType', 'FILE', '文件', '{}', 10, '2024-04-24 13:43:28', '2024-04-24 13:43:28', '1', '1', 0);
INSERT INTO `dict_value` VALUES (275, 39, 'pathBookmarkType', 'DIR', '文件夹', '{}', 20, '2024-04-24 13:43:39', '2024-04-24 13:43:39', '1', '1', 0);
INSERT INTO `dict_value` VALUES (276, 40, 'sftpTransferStatus', 'waiting', '传输中', '{\"icon\": \"icon-clock-circle\", \"color\": \"gray\", \"status\": \"waiting\"}', 10, '2024-05-06 12:00:04', '2024-05-06 12:00:04', '1', '1', 0);
INSERT INTO `dict_value` VALUES (277, 40, 'sftpTransferStatus', 'transferring', '传输中', '{\"icon\": \"icon-send\", \"color\": \"arcoblue\", \"status\": \"normal\"}', 20, '2024-05-06 12:01:22', '2024-05-06 12:01:22', '1', '1', 0);
INSERT INTO `dict_value` VALUES (278, 40, 'sftpTransferStatus', 'success', '已完成', '{\"icon\": \"icon-check\", \"color\": \"green\", \"status\": \"success\"}', 30, '2024-05-06 12:02:50', '2024-05-06 12:02:50', '1', '1', 0);
INSERT INTO `dict_value` VALUES (279, 40, 'sftpTransferStatus', 'error', '传输失败', '{\"icon\": \"icon-close\", \"color\": \"red\", \"status\": \"danger\"}', 40, '2024-05-06 12:03:27', '2024-05-06 12:03:27', '1', '1', 0);
INSERT INTO `dict_value` VALUES (280, 41, 'uploadTaskStatus', 'WAITING', '等待中', '{\"color\": \"gray\"}', 10, '2024-05-07 22:18:48', '2024-05-10 11:28:22', '1', '1', 0);
INSERT INTO `dict_value` VALUES (281, 41, 'uploadTaskStatus', 'UPLOADING', '上传中', '{\"color\": \"green\"}', 20, '2024-05-07 22:18:48', '2024-05-08 22:25:25', '1', '1', 0);
INSERT INTO `dict_value` VALUES (282, 41, 'uploadTaskStatus', 'FINISHED', '已完成', '{\"color\": \"arcoblue\"}', 30, '2024-05-07 22:18:48', '2024-05-08 22:25:50', '1', '1', 0);
INSERT INTO `dict_value` VALUES (283, 41, 'uploadTaskStatus', 'CANCELED', '已取消', '{\"color\": \"orange\"}', 50, '2024-05-07 22:18:48', '2024-05-10 11:28:56', '1', '1', 0);
INSERT INTO `dict_value` VALUES (284, 42, 'uploadTaskFileStatus', 'WAITING', '等待中', '{\"color\": \"gray\", \"status\": \"normal\"}', 10, '2024-05-08 10:30:29', '2024-05-10 17:35:30', '1', '1', 0);
INSERT INTO `dict_value` VALUES (285, 42, 'uploadTaskFileStatus', 'UPLOADING', '上传中', '{\"color\": \"green\", \"status\": \"normal\"}', 20, '2024-05-08 10:30:29', '2024-05-10 17:35:27', '1', '1', 0);
INSERT INTO `dict_value` VALUES (286, 42, 'uploadTaskFileStatus', 'FINISHED', '已完成', '{\"color\": \"arcoblue\", \"status\": \"success\"}', 30, '2024-05-08 10:30:29', '2024-05-10 17:35:15', '1', '1', 0);
INSERT INTO `dict_value` VALUES (287, 42, 'uploadTaskFileStatus', 'FAILED', '已失败', '{\"color\": \"red\", \"status\": \"danger\"}', 40, '2024-05-08 10:30:29', '2024-05-10 17:34:51', '1', '1', 0);
INSERT INTO `dict_value` VALUES (288, 42, 'uploadTaskFileStatus', 'CANCELED', '已取消', '{\"color\": \"orange\", \"status\": \"warning\"}', 50, '2024-05-08 10:30:29', '2024-05-10 17:34:30', '1', '1', 0);
INSERT INTO `dict_value` VALUES (289, 1, 'operatorLogModule', 'asset:upload-task', '批量上传', '{}', 2110, '2024-05-08 22:23:01', '2024-05-08 22:23:01', '1', '1', 0);
INSERT INTO `dict_value` VALUES (290, 2, 'operatorLogType', 'upload-task:upload', '批量上传文件', '{}', 10, '2024-05-08 22:23:27', '2024-05-08 22:23:27', '1', '1', 0);
INSERT INTO `dict_value` VALUES (291, 2, 'operatorLogType', 'upload-task:cancel', '取消上传文件', '{}', 20, '2024-05-08 22:23:36', '2024-05-08 22:23:36', '1', '1', 0);
INSERT INTO `dict_value` VALUES (292, 2, 'operatorLogType', 'upload-task:delete', '删除上传记录', '{}', 30, '2024-05-08 22:23:44', '2024-05-08 22:23:44', '1', '1', 0);
INSERT INTO `dict_value` VALUES (293, 2, 'operatorLogType', 'upload-task:clear', '清理上传记录', '{}', 40, '2024-05-08 22:23:59', '2024-05-08 22:23:59', '1', '1', 0);
INSERT INTO `dict_value` VALUES (294, 41, 'uploadTaskStatus', 'FAILED', '已失败', '{\"color\": \"red\"}', 40, '2024-05-10 11:29:17', '2024-05-10 11:29:17', '1', '1', 0);
INSERT INTO `dict_value` VALUES (295, 43, 'messageType', 'EXEC_FAILED', '执行失败', '{\"tagColor\": \"red\", \"tagLabel\": \"部分失败\", \"tagVisible\": true, \"redirectComponent\": \"execCommand\"}', 10, '2024-05-13 12:07:56', '2024-08-19 12:28:48', '1', '1', 0);
INSERT INTO `dict_value` VALUES (296, 43, 'messageType', 'UPLOAD_FAILED', '上传失败', '{\"tagColor\": \"red\", \"tagLabel\": \"部分失败\", \"tagVisible\": true, \"redirectComponent\": \"batchUpload\"}', 20, '2024-05-13 12:07:56', '2024-08-19 12:28:51', '1', '1', 0);
INSERT INTO `dict_value` VALUES (297, 44, 'messageClassify', 'NOTICE', '通知', '{}', 10, '2024-05-13 15:06:27', '2024-05-31 17:31:18', '1', '1', 0);
INSERT INTO `dict_value` VALUES (298, 44, 'messageClassify', 'TODO', '待办', '{}', 20, '2024-05-13 15:06:27', '2024-05-31 17:31:18', '1', '1', 0);
INSERT INTO `dict_value` VALUES (353, 53, 'terminalTheme', '{\"background\":\"#1E1F29\",\"foreground\":\"#F8F8F2\",\"cursor\":\"#BBBBBB\",\"selectionBackground\":\"#44475A\",\"black\":\"#000000\",\"red\":\"#FF5555\",\"green\":\"#50FA7B\",\"yellow\":\"#F1FA8C\",\"blue\":\"#BD93F9\",\"cyan\":\"#8BE9FD\",\"white\":\"#BBBBBB\",\"brightBlack\":\"#555555\",\"brightRed\":\"#FF5555\",\"brightGreen\":\"#50FA7B\",\"brightYellow\":\"#F1FA8C\",\"brightBlue\":\"#BD93F9\",\"brightCyan\":\"#8BE9FD\",\"brightWhite\":\"#FFFFFF\"}', 'Dracula', '{\"dark\": true}', 10, '2024-07-04 19:15:42', '2024-08-19 18:49:12', '1', '1', 0);
INSERT INTO `dict_value` VALUES (354, 53, 'terminalTheme', '{\"background\":\"#FFFFFF\",\"foreground\":\"#000000\",\"cursor\":\"#000000\",\"selectionBackground\":\"#B5D5FF\",\"black\":\"#000000\",\"red\":\"#CC0000\",\"green\":\"#4E9A06\",\"yellow\":\"#C4A000\",\"blue\":\"#3465A4\",\"cyan\":\"#06989A\",\"white\":\"#D3D7CF\",\"brightBlack\":\"#555753\",\"brightRed\":\"#EF2929\",\"brightGreen\":\"#8AE234\",\"brightYellow\":\"#FCE94F\",\"brightBlue\":\"#729FCF\",\"brightCyan\":\"#34E2E2\",\"brightWhite\":\"#EEEEEC\"}', 'Builtin Tango Light', '{\"dark\": false}', 20, '2024-07-04 19:21:38', '2024-08-19 18:49:31', '1', '1', 0);
INSERT INTO `dict_value` VALUES (355, 53, 'terminalTheme', '{\"background\":\"#161719\",\"foreground\":\"#C5C8C6\",\"cursor\":\"#D0D0D0\",\"selectionBackground\":\"#444444\",\"black\":\"#000000\",\"red\":\"#FD5FF1\",\"green\":\"#87C38A\",\"yellow\":\"#FFD7B1\",\"blue\":\"#85BEFD\",\"cyan\":\"#85BEFD\",\"white\":\"#E0E0E0\",\"brightBlack\":\"#000000\",\"brightRed\":\"#FD5FF1\",\"brightGreen\":\"#94FA36\",\"brightYellow\":\"#F5FFA8\",\"brightBlue\":\"#96CBFE\",\"brightCyan\":\"#85BEFD\",\"brightWhite\":\"#E0E0E0\"}', 'Atom', '{\"dark\": true}', 30, '2024-07-04 19:21:49', '2024-08-19 18:49:49', '1', '1', 0);
INSERT INTO `dict_value` VALUES (356, 53, 'terminalTheme', '{\"background\":\"#F9F9F9\",\"foreground\":\"#2A2C33\",\"cursor\":\"#BBBBBB\",\"selectionBackground\":\"#EDEDED\",\"black\":\"#000000\",\"red\":\"#DE3E35\",\"green\":\"#3F953A\",\"yellow\":\"#D2B67C\",\"blue\":\"#2F5AF3\",\"cyan\":\"#3F953A\",\"white\":\"#BBBBBB\",\"brightBlack\":\"#000000\",\"brightRed\":\"#DE3E35\",\"brightGreen\":\"#3F953A\",\"brightYellow\":\"#D2B67C\",\"brightBlue\":\"#2F5AF3\",\"brightCyan\":\"#3F953A\",\"brightWhite\":\"#FFFFFF\"}', 'AtomOneLight', '{\"dark\": false}', 40, '2024-07-04 19:22:02', '2024-08-19 18:50:00', '1', '1', 0);
INSERT INTO `dict_value` VALUES (357, 53, 'terminalTheme', '{\"background\":\"#282C34\",\"foreground\":\"#DCDFE4\",\"cursor\":\"#A3B3CC\",\"selectionBackground\":\"#474E5D\",\"black\":\"#282C34\",\"red\":\"#E06C75\",\"green\":\"#98C379\",\"yellow\":\"#E5C07B\",\"blue\":\"#61AFEF\",\"cyan\":\"#56B6C2\",\"white\":\"#DCDFE4\",\"brightBlack\":\"#282C34\",\"brightRed\":\"#E06C75\",\"brightGreen\":\"#98C379\",\"brightYellow\":\"#E5C07B\",\"brightBlue\":\"#61AFEF\",\"brightCyan\":\"#56B6C2\",\"brightWhite\":\"#DCDFE4\"}', 'OneHalfDark', '{\"dark\": true}', 50, '2024-07-04 19:22:16', '2024-08-19 18:50:15', '1', '1', 0);
INSERT INTO `dict_value` VALUES (358, 53, 'terminalTheme', '{\"background\":\"#FAFAFA\",\"foreground\":\"#383A42\",\"cursor\":\"#BFCEFF\",\"selectionBackground\":\"#BFCEFF\",\"black\":\"#383A42\",\"red\":\"#E45649\",\"green\":\"#50A14F\",\"yellow\":\"#C18401\",\"blue\":\"#0184BC\",\"cyan\":\"#0997B3\",\"white\":\"#FAFAFA\",\"brightBlack\":\"#4F525E\",\"brightRed\":\"#E06C75\",\"brightGreen\":\"#98C379\",\"brightYellow\":\"#E5C07B\",\"brightBlue\":\"#61AFEF\",\"brightCyan\":\"#56B6C2\",\"brightWhite\":\"#FFFFFF\"}', 'OneHalfLight', '{\"dark\": false}', 60, '2024-07-04 19:22:26', '2024-08-19 18:50:27', '1', '1', 0);
INSERT INTO `dict_value` VALUES (359, 53, 'terminalTheme', '{\"background\":\"#1E1E1E\",\"foreground\":\"#FFFFFF\",\"cursor\":\"#98989D\",\"selectionBackground\":\"#3F638B\",\"black\":\"#1A1A1A\",\"red\":\"#CC372E\",\"green\":\"#26A439\",\"yellow\":\"#CDAC08\",\"blue\":\"#0869CB\",\"cyan\":\"#479EC2\",\"white\":\"#98989D\",\"brightBlack\":\"#464646\",\"brightRed\":\"#FF453A\",\"brightGreen\":\"#32D74B\",\"brightYellow\":\"#FFD60A\",\"brightBlue\":\"#0A84FF\",\"brightCyan\":\"#76D6FF\",\"brightWhite\":\"#FFFFFF\"}', 'Apple System Colors', '{\"dark\": true}', 70, '2024-07-04 19:22:45', '2024-08-19 18:50:46', '1', '1', 0);
INSERT INTO `dict_value` VALUES (360, 53, 'terminalTheme', '{\"background\":\"#FFFFFF\",\"foreground\":\"#4D4D4C\",\"cursor\":\"#4D4D4C\",\"selectionBackground\":\"#D6D6D6\",\"black\":\"#000000\",\"red\":\"#C82829\",\"green\":\"#718C00\",\"yellow\":\"#EAB700\",\"blue\":\"#4271AE\",\"cyan\":\"#3E999F\",\"white\":\"#FFFFFF\",\"brightBlack\":\"#000000\",\"brightRed\":\"#C82829\",\"brightGreen\":\"#718C00\",\"brightYellow\":\"#EAB700\",\"brightBlue\":\"#4271AE\",\"brightCyan\":\"#3E999F\",\"brightWhite\":\"#FFFFFF\"}', 'Tomorrow', '{\"dark\": false}', 80, '2024-07-04 19:22:57', '2024-08-19 18:51:03', '1', '1', 0);
INSERT INTO `dict_value` VALUES (361, 53, 'terminalTheme', '{\"background\":\"#1E1E2E\",\"foreground\":\"#CDD6F4\",\"cursor\":\"#F5E0DC\",\"selectionBackground\":\"#585B70\",\"black\":\"#45475A\",\"red\":\"#F38BA8\",\"green\":\"#A6E3A1\",\"yellow\":\"#F9E2AF\",\"blue\":\"#89B4FA\",\"cyan\":\"#94E2D5\",\"white\":\"#BAC2DE\",\"brightBlack\":\"#585B70\",\"brightRed\":\"#F38BA8\",\"brightGreen\":\"#A6E3A1\",\"brightYellow\":\"#F9E2AF\",\"brightBlue\":\"#89B4FA\",\"brightCyan\":\"#94E2D5\",\"brightWhite\":\"#A6ADC8\"}', 'catppuccin-mocha', '{\"dark\": true}', 90, '2024-07-04 19:23:13', '2024-08-19 18:51:23', '1', '1', 0);
INSERT INTO `dict_value` VALUES (362, 53, 'terminalTheme', '{\"background\":\"#EFF1F5\",\"foreground\":\"#4C4F69\",\"cursor\":\"#DC8A78\",\"selectionBackground\":\"#ACB0BE\",\"black\":\"#5C5F77\",\"red\":\"#D20F39\",\"green\":\"#40A02B\",\"yellow\":\"#DF8E1D\",\"blue\":\"#1E66F5\",\"cyan\":\"#179299\",\"white\":\"#ACB0BE\",\"brightBlack\":\"#6C6F85\",\"brightRed\":\"#D20F39\",\"brightGreen\":\"#40A02B\",\"brightYellow\":\"#DF8E1D\",\"brightBlue\":\"#1E66F5\",\"brightCyan\":\"#179299\",\"brightWhite\":\"#BCC0CC\"}', 'catppuccin-latte', '{\"dark\": false}', 100, '2024-07-04 19:23:32', '2024-08-19 18:51:43', '1', '1', 0);
INSERT INTO `dict_value` VALUES (363, 53, 'terminalTheme', '{\"background\":\"#24273A\",\"foreground\":\"#CAD3F5\",\"cursor\":\"#F4DBD6\",\"selectionBackground\":\"#5B6078\",\"black\":\"#494D64\",\"red\":\"#ED8796\",\"green\":\"#A6DA95\",\"yellow\":\"#EED49F\",\"blue\":\"#8AADF4\",\"cyan\":\"#8BD5CA\",\"white\":\"#B8C0E0\",\"brightBlack\":\"#5B6078\",\"brightRed\":\"#ED8796\",\"brightGreen\":\"#A6DA95\",\"brightYellow\":\"#EED49F\",\"brightBlue\":\"#8AADF4\",\"brightCyan\":\"#8BD5CA\",\"brightWhite\":\"#A5ADCB\"}', 'catppuccin-macchiato', '{\"dark\": true}', 110, '2024-07-04 19:23:41', '2024-08-19 18:51:55', '1', '1', 0);
INSERT INTO `dict_value` VALUES (364, 53, 'terminalTheme', '{\"background\":\"#F9F9F9\",\"foreground\":\"#373A41\",\"cursor\":\"#F32759\",\"selectionBackground\":\"#DAF0FF\",\"black\":\"#373A41\",\"red\":\"#D52753\",\"green\":\"#23974A\",\"yellow\":\"#DF631C\",\"blue\":\"#275FE4\",\"cyan\":\"#27618D\",\"white\":\"#BABBC2\",\"brightBlack\":\"#676A77\",\"brightRed\":\"#FF6480\",\"brightGreen\":\"#3CBC66\",\"brightYellow\":\"#C5A332\",\"brightBlue\":\"#0099E1\",\"brightCyan\":\"#6D93BB\",\"brightWhite\":\"#D3D3D3\"}', 'BlulocoLight', '{\"dark\": false}', 120, '2024-07-04 19:24:06', '2024-08-19 18:52:12', '1', '1', 0);
INSERT INTO `dict_value` VALUES (365, 53, 'terminalTheme', '{\"background\":\"#303446\",\"foreground\":\"#C6D0F5\",\"cursor\":\"#F2D5CF\",\"selectionBackground\":\"#626880\",\"black\":\"#51576D\",\"red\":\"#E78284\",\"green\":\"#A6D189\",\"yellow\":\"#E5C890\",\"blue\":\"#8CAAEE\",\"cyan\":\"#81C8BE\",\"white\":\"#B5BFE2\",\"brightBlack\":\"#626880\",\"brightRed\":\"#E78284\",\"brightGreen\":\"#A6D189\",\"brightYellow\":\"#E5C890\",\"brightBlue\":\"#8CAAEE\",\"brightCyan\":\"#81C8BE\",\"brightWhite\":\"#A5ADCE\"}', 'catppuccin-frappe', '{\"dark\": true}', 130, '2024-07-04 19:24:17', '2024-08-19 18:52:24', '1', '1', 0);
INSERT INTO `dict_value` VALUES (366, 53, 'terminalTheme', '{\"background\":\"#1D262A\",\"foreground\":\"#E7EBED\",\"cursor\":\"#EAEAEA\",\"selectionBackground\":\"#4E6A78\",\"black\":\"#435B67\",\"red\":\"#FC3841\",\"green\":\"#5CF19E\",\"yellow\":\"#FED032\",\"blue\":\"#37B6FF\",\"cyan\":\"#59FFD1\",\"white\":\"#FFFFFF\",\"brightBlack\":\"#A1B0B8\",\"brightRed\":\"#FC746D\",\"brightGreen\":\"#ADF7BE\",\"brightYellow\":\"#FEE16C\",\"brightBlue\":\"#70CFFF\",\"brightCyan\":\"#9AFFE6\",\"brightWhite\":\"#FFFFFF\"}', 'MaterialDesignColors', '{\"dark\": true}', 140, '2024-07-04 19:24:27', '2024-08-19 18:52:56', '1', '1', 0);
INSERT INTO `dict_value` VALUES (385, 57, 'hostStatus', 'ENABLED', '启用', '{\"color\": \"arcoblue\", \"status\": \"normal\", \"buttonStatus\": \"normal\"}', 10, '2024-07-17 12:51:10', '2024-07-22 16:53:53', '1', '1', 0);
INSERT INTO `dict_value` VALUES (386, 57, 'hostStatus', 'DISABLED', '停用', '{\"color\": \"orangered\", \"status\": \"error\", \"buttonStatus\": \"danger\"}', 20, '2024-07-17 12:51:10', '2024-07-22 16:53:46', '1', '1', 0);
INSERT INTO `dict_value` VALUES (387, 58, 'hostType', 'SSH', 'SSH', '{\"color\": \"arcoblue\"}', 10, '2024-07-17 12:51:10', '2024-07-17 15:57:24', '1', '1', 0);
INSERT INTO `dict_value` VALUES (401, 43, 'messageType', 'LOGIN_FAILED', '登录失败', '{\"tagColor\": \"red\", \"tagLabel\": \"登录失败\", \"tagVisible\": true, \"redirectComponent\": \"0\"}', 50, '2024-08-19 18:34:27', '2024-08-19 18:34:27', '1', '1', 0);
INSERT INTO `dict_value` VALUES (402, 53, 'terminalTheme', '{\"background\":\"#101216\",\"foreground\":\"#8B949E\",\"cursor\":\"#C9D1D9\",\"selectionBackground\":\"#3B5070\",\"black\":\"#000000\",\"red\":\"#F78166\",\"green\":\"#56D364\",\"yellow\":\"#E3B341\",\"blue\":\"#6CA4F8\",\"cyan\":\"#2B7489\",\"white\":\"#FFFFFF\",\"brightBlack\":\"#4D4D4D\",\"brightRed\":\"#F78166\",\"brightGreen\":\"#56D364\",\"brightYellow\":\"#E3B341\",\"brightBlue\":\"#6CA4F8\",\"brightCyan\":\"#2B7489\",\"brightWhite\":\"#FFFFFF\"}', 'GitHub Dark', '{\"dark\": true}', 150, '2024-08-19 18:53:14', '2024-08-19 18:53:20', '1', '1', 0);
INSERT INTO `dict_value` VALUES (403, 53, 'terminalTheme', '{\"background\":\"#F4F4F4\",\"foreground\":\"#3E3E3E\",\"cursor\":\"#3F3F3F\",\"selectionBackground\":\"#A9C1E2\",\"black\":\"#3E3E3E\",\"red\":\"#970B16\",\"green\":\"#07962A\",\"yellow\":\"#F8EEC7\",\"blue\":\"#003E8A\",\"cyan\":\"#89D1EC\",\"white\":\"#FFFFFF\",\"brightBlack\":\"#666666\",\"brightRed\":\"#DE0000\",\"brightGreen\":\"#87D5A2\",\"brightYellow\":\"#F1D007\",\"brightBlue\":\"#2E6CBA\",\"brightCyan\":\"#1CFAFE\",\"brightWhite\":\"#FFFFFF\"}', 'Github', '{\"dark\": false}', 160, '2024-08-19 18:53:39', '2024-08-19 18:53:39', '1', '1', 0);
INSERT INTO `dict_value` VALUES (404, 53, 'terminalTheme', '{\"background\":\"#1F1F1F\",\"foreground\":\"#B9BCBA\",\"cursor\":\"#F83E19\",\"selectionBackground\":\"#2A2D32\",\"black\":\"#3A3D43\",\"red\":\"#BE3F48\",\"green\":\"#879A3B\",\"yellow\":\"#C5A635\",\"blue\":\"#4F76A1\",\"cyan\":\"#578FA4\",\"white\":\"#B9BCBA\",\"brightBlack\":\"#888987\",\"brightRed\":\"#FB001F\",\"brightGreen\":\"#0F722F\",\"brightYellow\":\"#C47033\",\"brightBlue\":\"#186DE3\",\"brightCyan\":\"#2E706D\",\"brightWhite\":\"#FDFFB9\"}', 'DimmedMonokai', '{\"dark\": true}', 170, '2024-08-19 18:53:52', '2024-08-19 18:53:52', '1', '1', 0);
INSERT INTO `dict_value` VALUES (405, 53, 'terminalTheme', '{\"background\":\"#1F1D27\",\"foreground\":\"#B7A1FF\",\"cursor\":\"#FF9839\",\"selectionBackground\":\"#353147\",\"black\":\"#1F1D27\",\"red\":\"#D9393E\",\"green\":\"#2DCD73\",\"yellow\":\"#D9B76E\",\"blue\":\"#FFC284\",\"cyan\":\"#2488FF\",\"white\":\"#B7A1FF\",\"brightBlack\":\"#353147\",\"brightRed\":\"#D9393E\",\"brightGreen\":\"#2DCD73\",\"brightYellow\":\"#D9B76E\",\"brightBlue\":\"#FFC284\",\"brightCyan\":\"#2488FF\",\"brightWhite\":\"#EAE5FF\"}', 'Duotone Dark', '{\"dark\": true}', 180, '2024-08-19 18:54:09', '2024-08-19 18:54:09', '1', '1', 0);
INSERT INTO `dict_value` VALUES (424, 1, 'operatorLogModule', 'infra:system-setting', '系统设置', '{}', 1070, '2024-10-09 19:28:58', '2024-10-09 19:28:58', '1', '1', 0);
INSERT INTO `dict_value` VALUES (425, 2, 'operatorLogType', 'system-setting:update', '更新系统设置', '{}', 10, '2024-10-09 19:30:17', '2024-10-09 19:30:43', '1', '1', 0);
INSERT INTO `dict_value` VALUES (431, 61, 'updatePasswordReason', 'NEW', '为了保障账户安全,请立即修改初始密码。', '{}', 10, '2024-12-11 17:24:19', '2024-12-11 17:24:19', '1', '1', 0);
INSERT INTO `dict_value` VALUES (432, 2, 'operatorLogType', 'exec-job:update-exec-user', '修改计划执行用户', '{}', 45, '2024-12-13 00:17:03', '2024-12-13 00:17:03', '1', '1', 0);
INSERT INTO `dict_value` VALUES (3, 4, 'systemMenuType', '1', '父菜单', '{}', 10, '2023-10-26 15:58:59', '2023-10-26 15:58:59', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (4, 4, 'systemMenuType', '2', '子菜单', '{}', 20, '2023-10-26 16:44:34', '2023-10-26 16:44:34', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (5, 4, 'systemMenuType', '3', '功能', '{}', 30, '2023-10-26 16:44:45', '2023-10-26 16:44:45', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (6, 5, 'systemMenuStatus', '0', '停用', '{\"color\": \"orange\"}', 10, '2023-10-26 16:47:54', '2023-10-26 16:47:54', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (7, 5, 'systemMenuStatus', '1', '启用', '{\"color\": \"arcoblue\"}', 20, '2023-10-26 17:00:54', '2024-04-24 16:35:09', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (8, 6, 'systemMenuVisible', '0', '隐藏', '{\"color\": \"orange\"}', 10, '2023-10-26 17:03:41', '2023-10-26 17:03:41', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (9, 6, 'systemMenuVisible', '1', '显示', '{\"color\": \"arcoblue\"}', 20, '2023-10-27 00:25:30', '2024-04-24 16:35:05', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (10, 7, 'systemMenuCache', '0', '不缓存', '{}', 10, '2023-10-27 00:26:15', '2023-10-27 00:26:15', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (11, 7, 'systemMenuCache', '1', '缓存', '{}', 20, '2023-10-27 00:26:25', '2023-10-27 00:26:25', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (12, 8, 'dictValueType', 'STRING', '字符串', '{\"color\": \"arcoblue\"}', 10, '2023-10-27 01:49:18', '2023-12-17 18:45:14', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (13, 8, 'dictValueType', 'INTEGER', '整数', '{\"color\": \"arcoblue\"}', 20, '2023-10-27 01:54:30', '2023-10-27 01:54:30', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (14, 8, 'dictValueType', 'DECIMAL', '小数', '{\"color\": \"purple\"}', 30, '2023-10-27 01:54:43', '2023-10-27 01:54:43', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (15, 8, 'dictValueType', 'BOOLEAN', '布尔值', '{\"color\": \"pinkpurple\"}', 40, '2023-10-27 01:54:54', '2023-10-27 01:54:54', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (16, 8, 'dictValueType', 'COLOR', '颜色', '{\"color\": \"magenta\"}', 50, '2023-10-27 01:55:05', '2023-10-27 01:56:39', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (17, 9, 'systemUserStatus', '0', '停用', '{\"color\": \"orange\"}', 10, '2023-10-27 12:13:08', '2023-10-27 12:13:08', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (18, 9, 'systemUserStatus', '1', '启用', '{\"color\": \"arcoblue\"}', 20, '2023-10-27 12:13:17', '2024-04-24 16:35:00', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (20, 10, 'systemRoleStatus', '0', '停用', '{\"color\": \"orange\", \"status\": \"danger\"}', 10, '2023-10-27 12:33:45', '2023-10-27 12:33:45', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (21, 10, 'systemRoleStatus', '1', '启用', '{\"color\": \"arcoblue\", \"status\": \"default\"}', 20, '2023-10-27 12:33:56', '2024-04-24 16:34:52', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (22, 11, 'hostSshAuthType', 'PASSWORD', '密码认证', '{}', 10, '2023-10-27 14:29:28', '2024-08-24 19:19:31', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (23, 11, 'hostSshAuthType', 'KEY', '密钥认证', '{}', 20, '2023-10-27 14:29:35', '2024-08-24 19:19:34', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (24, 11, 'hostSshAuthType', 'IDENTITY', '身份认证', '{}', 30, '2023-10-27 14:29:42', '2024-08-24 19:19:28', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (55, 1, 'operatorLogModule', 'infra:authentication', '身份认证', '{}', 1000, '2023-10-31 10:47:48', '2023-10-31 10:55:12', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (56, 1, 'operatorLogModule', 'infra:system-user', '系统用户', '{}', 1010, '2023-10-31 10:47:51', '2023-10-31 11:00:59', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (57, 1, 'operatorLogModule', 'infra:system-role', '系统角色', '{}', 1020, '2023-10-31 10:47:52', '2023-10-31 10:54:59', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (58, 1, 'operatorLogModule', 'infra:system-menu', '系统菜单', '{}', 1030, '2023-10-31 10:47:53', '2023-10-31 10:54:51', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (59, 1, 'operatorLogModule', 'infra:dict-key', '字典配置项', '{}', 1040, '2023-10-31 10:48:03', '2023-10-31 10:54:44', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (60, 1, 'operatorLogModule', 'infra:dict-value', '字典配置值', '{}', 1050, '2023-10-31 10:48:04', '2023-10-31 10:54:38', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (61, 1, 'operatorLogModule', 'asset:host', '主机操作', '{}', 2000, '2023-10-31 10:48:16', '2023-10-31 10:53:54', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (62, 1, 'operatorLogModule', 'asset:host-key', '主机密钥', '{}', 2020, '2023-10-31 10:48:17', '2024-05-17 12:48:58', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (63, 1, 'operatorLogModule', 'asset:host-identity', '主机身份', '{}', 2030, '2023-10-31 10:48:19', '2023-10-31 10:54:26', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (64, 2, 'operatorLogType', 'authentication:login', '登录系统', '{}', 10, '2023-10-31 10:55:26', '2023-10-31 18:41:40', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (65, 2, 'operatorLogType', 'authentication:logout', '登出系统', '{}', 20, '2023-10-31 10:55:27', '2023-10-31 11:05:41', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (66, 2, 'operatorLogType', 'authentication:update-password', '修改密码', '{}', 30, '2023-10-31 10:55:30', '2023-10-31 11:05:41', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (67, 2, 'operatorLogType', 'system-user:create', '创建用户', '{}', 10, '2023-10-31 10:55:42', '2023-10-31 11:05:41', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (68, 2, 'operatorLogType', 'system-user:update', '修改用户', '{}', 20, '2023-10-31 10:55:42', '2023-10-31 11:05:41', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (69, 2, 'operatorLogType', 'system-user:update-status', '修改用户状态', '{}', 30, '2023-10-31 10:55:42', '2023-10-31 11:05:41', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (70, 2, 'operatorLogType', 'system-user:grant-role', '分配用户角色', '{}', 40, '2023-10-31 10:55:42', '2023-10-31 11:05:41', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (71, 2, 'operatorLogType', 'system-user:reset-password', '重置用户密码', '{}', 50, '2023-10-31 10:55:42', '2023-10-31 11:05:41', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (72, 2, 'operatorLogType', 'system-user:delete', '删除用户', '{}', 60, '2023-10-31 10:55:42', '2023-10-31 11:05:41', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (73, 2, 'operatorLogType', 'system-role:create', '创建角色', '{}', 10, '2023-10-31 10:55:42', '2023-10-31 11:05:41', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (74, 2, 'operatorLogType', 'system-role:update', '修改角色', '{}', 20, '2023-10-31 10:55:42', '2023-10-31 11:05:42', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (75, 2, 'operatorLogType', 'system-role:update-status', '修改角色状态', '{}', 30, '2023-10-31 10:55:42', '2023-10-31 11:05:42', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (76, 2, 'operatorLogType', 'system-role:delete', '删除角色', '{}', 40, '2023-10-31 10:55:42', '2023-10-31 11:05:42', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (77, 2, 'operatorLogType', 'system-role:grant-menu', '分配角色菜单', '{}', 50, '2023-10-31 10:55:42', '2023-10-31 11:05:42', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (78, 2, 'operatorLogType', 'system-menu:create', '创建菜单', '{}', 10, '2023-10-31 10:55:42', '2023-10-31 11:05:42', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (79, 2, 'operatorLogType', 'system-menu:update', '修改菜单', '{}', 20, '2023-10-31 10:55:42', '2023-10-31 11:05:42', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (80, 2, 'operatorLogType', 'system-menu:update-status', '修改菜单状态', '{}', 30, '2023-10-31 10:55:42', '2023-10-31 11:05:42', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (81, 2, 'operatorLogType', 'system-menu:delete', '删除菜单', '{}', 40, '2023-10-31 10:55:42', '2023-10-31 11:05:42', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (82, 2, 'operatorLogType', 'dict-key:create', '创建字典配置项', '{}', 10, '2023-10-31 10:55:42', '2023-10-31 11:05:42', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (83, 2, 'operatorLogType', 'dict-key:update', '更新字典配置项', '{}', 20, '2023-10-31 10:55:42', '2023-10-31 11:05:42', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (84, 2, 'operatorLogType', 'dict-key:delete', '删除字典配置项', '{}', 30, '2023-10-31 10:55:43', '2023-10-31 11:05:42', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (85, 2, 'operatorLogType', 'dict-value:create', '创建字典配置值', '{}', 10, '2023-10-31 10:55:43', '2023-10-31 11:05:42', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (86, 2, 'operatorLogType', 'dict-value:update', '更新字典配置值', '{}', 20, '2023-10-31 10:55:43', '2023-10-31 11:05:42', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (87, 2, 'operatorLogType', 'dict-value:delete', '删除字典配置值', '{}', 30, '2023-10-31 10:55:43', '2023-10-31 11:05:42', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (88, 2, 'operatorLogType', 'host:create', '创建主机', '{}', 10, '2023-10-31 10:55:43', '2023-10-31 11:05:42', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (89, 2, 'operatorLogType', 'host:update', '修改主机', '{}', 20, '2023-10-31 10:55:43', '2023-10-31 11:05:42', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (90, 2, 'operatorLogType', 'host:delete', '删除主机', '{}', 30, '2023-10-31 10:55:43', '2023-10-31 11:05:43', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (91, 2, 'operatorLogType', 'host:update-config', '修改主机配置', '{}', 40, '2023-10-31 10:55:43', '2023-10-31 11:05:43', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (92, 2, 'operatorLogType', 'host:update-status', '修改主机状态', '{}', 50, '2023-10-31 10:55:43', '2024-07-22 14:48:11', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (93, 2, 'operatorLogType', 'host-key:create', '创建主机密钥', '{}', 10, '2023-10-31 10:55:43', '2024-05-17 12:49:00', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (94, 2, 'operatorLogType', 'host-key:update', '修改主机密钥', '{}', 20, '2023-10-31 10:55:43', '2024-05-17 12:49:03', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (95, 2, 'operatorLogType', 'host-key:delete', '删除主机密钥', '{}', 30, '2023-10-31 10:55:43', '2024-05-17 12:49:06', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (96, 2, 'operatorLogType', 'host-identity:create', '创建主机身份', '{}', 10, '2023-10-31 10:55:43', '2023-10-31 11:05:43', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (97, 2, 'operatorLogType', 'host-identity:update', '修改主机身份', '{}', 20, '2023-10-31 10:55:43', '2023-10-31 11:05:43', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (98, 2, 'operatorLogType', 'host-identity:delete', '删除主机身份', '{}', 30, '2023-10-31 10:55:43', '2023-10-31 11:05:43', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (101, 15, 'operatorLogResult', '0', '失败', '{\"color\": \"red\"}', 10, '2023-10-31 17:42:09', '2023-11-01 16:05:44', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (102, 15, 'operatorLogResult', '1', '成功', '{\"color\": \"arcoblue\"}', 20, '2023-10-31 17:42:15', '2023-11-01 16:06:02', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (103, 16, 'operatorRiskLevel', 'L', '低风险', '{\"color\": \"arcoblue\"}', 10, '2023-11-01 16:04:10', '2023-11-01 16:04:10', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (104, 16, 'operatorRiskLevel', 'M', '中风险', '{\"color\": \"orangered\"}', 20, '2023-11-01 16:04:24', '2023-11-01 16:04:24', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (105, 16, 'operatorRiskLevel', 'H', '高风险', '{\"color\": \"red\"}', 30, '2023-11-01 16:04:41', '2023-11-01 16:04:41', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (106, 2, 'operatorLogType', 'system-user:offline', '下线用户会话', '{}', 10, '2023-11-02 11:32:39', '2023-11-02 11:32:39', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (107, 1, 'operatorLogModule', 'asset:host-group', '主机分组', '{}', 2040, '2023-11-13 18:26:13', '2024-04-11 23:34:46', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (108, 2, 'operatorLogType', 'host-group:create', '创建主机分组', '{}', 10, '2023-11-13 18:27:05', '2023-11-13 18:27:28', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (109, 2, 'operatorLogType', 'host-group:rename', '重命名主机分组', '{}', 20, '2023-11-13 18:27:51', '2023-11-13 18:27:51', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (110, 2, 'operatorLogType', 'host-group:move', '移动主机分组', '{}', 30, '2023-11-13 18:28:02', '2023-11-13 18:28:02', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (111, 2, 'operatorLogType', 'host-group:delete', '删除主机分组', '{}', 40, '2023-11-13 18:28:12', '2023-11-13 18:28:12', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (112, 2, 'operatorLogType', 'host-group:update-rel', '修改分组主机', '{}', 10, '2023-11-13 23:48:03', '2023-11-13 23:48:35', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (113, 2, 'operatorLogType', 'host-group:grant', '主机分组授权', '{}', 50, '2023-11-23 18:10:14', '2023-11-23 18:10:14', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (122, 2, 'operatorLogType', 'host-key:grant', '主机密钥授权', '{}', 40, '2023-11-30 21:03:55', '2024-05-17 12:49:10', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (123, 2, 'operatorLogType', 'host-identity:grant', '主机身份授权', '{}', 40, '2023-11-30 21:04:48', '2023-11-30 21:04:48', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (124, 19, 'systemMenuNewWindow', '0', '关闭', '{}', 10, '2023-12-05 14:15:17', '2023-12-05 14:15:17', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (125, 19, 'systemMenuNewWindow', '1', '开启', '{}', 20, '2023-12-05 14:15:24', '2023-12-05 14:15:24', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (129, 21, 'terminalFontFamily', '_', '默认', '{}', 10, '2023-12-11 16:46:48', '2023-12-11 17:54:03', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (130, 21, 'terminalFontFamily', 'Courier New', 'Courier New', '{}', 20, '2023-12-11 16:46:57', '2023-12-11 17:07:39', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (131, 21, 'terminalFontFamily', 'Fira Code', 'Fira Code', '{}', 60, '2023-12-11 16:47:04', '2024-05-15 15:27:12', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (132, 21, 'terminalFontFamily', 'JetBrains Mono', 'JetBrains Mono', '{}', 70, '2023-12-11 16:47:09', '2024-05-15 15:27:16', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (135, 21, 'terminalFontFamily', 'Consolas', 'Consolas', '{}', 50, '2023-12-11 16:47:28', '2024-05-15 15:26:51', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (137, 21, 'terminalFontFamily', 'Source Code Pro', 'Source Code Pro', '{}', 80, '2023-12-11 16:47:43', '2024-05-15 15:27:21', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (139, 21, 'terminalFontFamily', 'Lucida Console', 'Lucida Console', '{}', 30, '2023-12-11 16:47:58', '2024-05-15 15:26:28', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (140, 21, 'terminalFontFamily', 'Courier', 'Courier', '{}', 40, '2023-12-11 16:48:03', '2024-05-15 15:26:42', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (142, 22, 'terminalFontSize', '10', '10px', '{}', 10, '2023-12-11 17:08:04', '2023-12-11 17:08:04', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (143, 22, 'terminalFontSize', '11', '11px', '{}', 20, '2023-12-11 17:08:08', '2023-12-11 17:08:08', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (144, 22, 'terminalFontSize', '12', '12px', '{}', 30, '2023-12-11 17:08:11', '2023-12-11 17:08:11', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (145, 22, 'terminalFontSize', '13', '13px', '{}', 40, '2023-12-11 17:08:16', '2023-12-11 17:08:16', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (146, 22, 'terminalFontSize', '14', '14px', '{}', 50, '2023-12-11 17:08:21', '2023-12-11 17:08:21', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (147, 22, 'terminalFontSize', '15', '15px', '{}', 60, '2023-12-11 17:08:29', '2023-12-11 17:08:29', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (148, 22, 'terminalFontSize', '16', '16px', '{}', 70, '2023-12-11 17:08:35', '2023-12-11 17:08:35', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (149, 22, 'terminalFontSize', '17', '17px', '{}', 80, '2023-12-11 17:08:48', '2023-12-11 17:08:48', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (150, 22, 'terminalFontSize', '18', '18px', '{}', 90, '2023-12-11 17:08:55', '2023-12-11 17:08:55', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (151, 22, 'terminalFontSize', '19', '19px', '{}', 100, '2023-12-11 17:09:00', '2023-12-11 17:09:00', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (152, 22, 'terminalFontSize', '20', '20px', '{}', 110, '2023-12-11 17:09:07', '2023-12-11 17:09:07', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (153, 22, 'terminalFontSize', '21', '21px', '{}', 120, '2023-12-11 17:09:12', '2023-12-11 17:09:12', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (154, 22, 'terminalFontSize', '22', '22px', '{}', 130, '2023-12-11 17:09:17', '2023-12-11 17:09:17', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (155, 23, 'terminalFontWeight', 'normal', 'normal', '{}', 140, '2023-12-11 17:19:05', '2023-12-11 17:19:05', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (156, 23, 'terminalFontWeight', 'bold', 'bold', '{}', 150, '2023-12-11 17:19:11', '2023-12-11 17:19:11', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (157, 23, 'terminalFontWeight', '100', '100', '{}', 160, '2023-12-11 17:19:17', '2023-12-11 17:19:17', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (158, 23, 'terminalFontWeight', '200', '200', '{}', 170, '2023-12-11 17:19:21', '2023-12-11 17:19:44', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (159, 23, 'terminalFontWeight', '300', '300', '{}', 180, '2023-12-11 17:19:25', '2023-12-11 17:20:06', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (160, 23, 'terminalFontWeight', '400', '400', '{}', 190, '2023-12-11 17:19:35', '2023-12-11 17:19:59', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (161, 23, 'terminalFontWeight', '500', '500', '{}', 200, '2023-12-11 17:20:15', '2023-12-11 17:20:43', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (162, 23, 'terminalFontWeight', '600', '600', '{}', 210, '2023-12-11 17:20:18', '2023-12-11 17:20:49', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (163, 23, 'terminalFontWeight', '700', '700', '{}', 220, '2023-12-11 17:20:22', '2023-12-11 17:20:54', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (164, 23, 'terminalFontWeight', '800', '800', '{}', 230, '2023-12-11 17:20:25', '2023-12-11 17:20:58', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (165, 23, 'terminalFontWeight', '900', '900', '{}', 240, '2023-12-11 17:20:29', '2023-12-11 17:21:09', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (166, 24, 'terminalCursorStyle', 'block', '', '{}', 10, '2023-12-11 18:26:36', '2023-12-11 18:48:35', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (167, 24, 'terminalCursorStyle', 'underline', '', '{}', 20, '2023-12-11 18:27:32', '2023-12-11 18:27:32', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (168, 24, 'terminalCursorStyle', 'bar', '', '{}', 30, '2023-12-11 18:27:57', '2023-12-11 18:48:25', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (169, 25, 'hostNewConnectionType', 'group', '分组', '{}', 10, '2023-12-14 17:24:43', '2024-01-31 23:39:19', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (170, 25, 'hostNewConnectionType', 'list', '列表', '{}', 20, '2023-12-14 17:24:49', '2024-01-31 23:39:19', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (171, 25, 'hostNewConnectionType', 'favorite', '收藏', '{}', 30, '2023-12-14 17:25:00', '2024-01-31 23:39:19', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (172, 25, 'hostNewConnectionType', 'latest', '最近连接', '{}', 40, '2023-12-14 17:25:10', '2024-01-31 23:39:19', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (173, 26, 'hostExtraSshAuthType', 'DEFAULT', '主机默认配置', '{}', 10, '2023-12-25 15:48:26', '2023-12-25 15:48:26', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (174, 26, 'hostExtraSshAuthType', 'CUSTOM_KEY', '自定义密钥', '{}', 20, '2023-12-25 15:48:42', '2024-05-31 18:05:35', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (175, 26, 'hostExtraSshAuthType', 'CUSTOM_IDENTITY', '自定义身份', '{}', 30, '2023-12-25 15:48:52', '2023-12-25 16:05:31', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (176, 27, 'terminalConnectType', 'SSH', 'SSH', '{\"color\": \"arcoblue\"}', 10, '2023-12-26 23:23:18', '2024-10-15 11:56:41', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (177, 28, 'terminalConnectStatus', 'CONNECTING', '连接中', '{\"color\": \"rgb(var(--green-6))\"}', 10, '2023-12-26 23:29:00', '2024-10-15 11:59:01', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (178, 28, 'terminalConnectStatus', 'COMPLETE', '完成', '{\"color\": \"rgb(var(--blue-6))\"}', 20, '2023-12-26 23:29:15', '2024-10-15 11:59:01', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (179, 28, 'terminalConnectStatus', 'FAILED', '失败', '{\"color\": \"rgb(var(--red-6))\"}', 30, '2023-12-26 23:29:34', '2024-10-15 11:59:01', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (180, 1, 'operatorLogModule', 'asset:terminal', '主机终端', '{}', 2050, '2023-12-27 18:42:39', '2024-10-15 15:52:47', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (181, 2, 'operatorLogType', 'terminal:connect', '连接主机终端', '{}', 10, '2023-12-27 18:43:17', '2024-10-15 15:54:47', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (182, 29, 'terminalSessionStatus', '0', '连接中', '{\"status\": \"normal\"}', 10, '2024-01-09 00:32:47', '2024-10-15 13:39:21', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (183, 29, 'terminalSessionStatus', '1', '已连接', '{\"status\": \"processing\"}', 20, '2024-01-09 00:32:59', '2024-10-15 13:39:23', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (184, 29, 'terminalSessionStatus', '2', '已断开', '{\"status\": \"danger\"}', 30, '2024-01-09 00:33:09', '2024-10-15 13:39:24', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (189, 31, 'terminalEmulationType', 'xterm', 'xterm', '{}', 10, '2024-01-11 23:35:40', '2024-01-11 23:35:40', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (190, 31, 'terminalEmulationType', 'xterm-16color', 'xterm-16color', '{}', 20, '2024-01-11 23:35:49', '2024-01-11 23:35:49', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (191, 31, 'terminalEmulationType', 'xterm-256color', 'xterm-256color', '{}', 30, '2024-01-11 23:35:55', '2024-01-11 23:35:55', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (192, 31, 'terminalEmulationType', 'vt100', 'vt100', '{}', 40, '2024-01-11 23:36:00', '2024-01-11 23:36:00', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (193, 27, 'terminalConnectType', 'SFTP', 'SFTP', '{\"color\": \"purple\"}', 20, '2024-02-04 18:23:10', '2024-10-15 11:56:41', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (194, 2, 'operatorLogType', 'terminal:sftp-mkdir', '创建文件夹', '{}', 20, '2024-02-23 17:53:21', '2024-10-15 15:54:47', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (195, 2, 'operatorLogType', 'terminal:sftp-touch', '创建文件', '{}', 30, '2024-02-23 17:53:28', '2024-10-15 15:54:47', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (196, 2, 'operatorLogType', 'terminal:sftp-move', '移动文件', '{}', 40, '2024-02-23 17:53:39', '2024-10-15 15:54:47', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (197, 2, 'operatorLogType', 'terminal:sftp-remove', '删除文件', '{}', 50, '2024-02-23 17:53:51', '2024-10-15 15:54:47', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (198, 2, 'operatorLogType', 'terminal:sftp-truncate', '截断文件', '{}', 60, '2024-02-23 17:54:06', '2024-10-15 15:54:47', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (199, 2, 'operatorLogType', 'terminal:sftp-chmod', '文件提权', '{}', 70, '2024-02-23 17:54:17', '2024-10-15 15:54:47', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (200, 2, 'operatorLogType', 'terminal:sftp-set-content', '修改文件内容', '{}', 80, '2024-02-23 17:54:37', '2024-10-15 15:54:47', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (201, 2, 'operatorLogType', 'terminal:sftp-upload', '上传文件', '{}', 90, '2024-02-23 17:54:52', '2024-10-15 15:54:47', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (202, 2, 'operatorLogType', 'terminal:sftp-download', '下载文件', '{}', 100, '2024-02-23 17:55:03', '2024-10-15 15:54:47', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (203, 32, 'terminalTabColor', 'red', '红色', '{\"bg\": \"rgb(var(--red-2))\", \"color\": \"rgb(var(--red-6))\"}', 10, '2024-03-01 15:07:41', '2024-08-05 14:24:28', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (204, 32, 'terminalTabColor', 'orange', '橙色', '{\"bg\": \"rgb(var(--orange-2))\", \"color\": \"rgb(var(--orange-6))\"}', 20, '2024-03-01 15:07:55', '2024-08-05 14:24:23', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (205, 32, 'terminalTabColor', 'yellow', '黄色', '{\"bg\": \"rgb(var(--yellow-2))\", \"color\": \"rgb(var(--yellow-6))\"}', 30, '2024-03-01 15:08:13', '2024-08-05 14:24:15', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (206, 32, 'terminalTabColor', 'green', '绿色', '{\"bg\": \"rgb(var(--green-2))\", \"color\": \"rgb(var(--green-6))\"}', 40, '2024-03-01 15:08:23', '2024-08-05 14:24:09', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (207, 32, 'terminalTabColor', 'cyan', '青色', '{\"bg\": \"rgb(var(--cyan-2))\", \"color\": \"rgb(var(--cyan-6))\"}', 50, '2024-03-01 15:08:46', '2024-08-05 14:24:03', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (208, 32, 'terminalTabColor', 'blue', '浅蓝', '{\"bg\": \"rgb(var(--blue-2))\", \"color\": \"rgb(var(--blue-6))\"}', 60, '2024-03-01 15:11:01', '2024-08-05 14:23:59', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (209, 32, 'terminalTabColor', 'arcoblue', '蓝色', '{\"bg\": \"rgb(var(--arcoblue-2))\", \"color\": \"rgb(var(--arcoblue-6))\"}', 70, '2024-03-01 15:11:11', '2024-08-05 14:23:55', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (210, 32, 'terminalTabColor', 'purple', '紫色', '{\"bg\": \"rgb(var(--purple-2))\", \"color\": \"rgb(var(--purple-6))\"}', 80, '2024-03-01 15:11:20', '2024-08-05 14:23:51', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (211, 32, 'terminalTabColor', 'pinkpurple', '粉紫', '{\"bg\": \"rgb(var(--pinkpurple-2))\", \"color\": \"rgb(var(--pinkpurple-6))\"}', 90, '2024-03-01 15:11:41', '2024-08-05 14:23:47', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (213, 32, 'terminalTabColor', 'gray', '灰色', '{\"bg\": \"rgb(var(--gray-2))\", \"color\": \"rgb(var(--gray-6))\"}', 100, '2024-03-01 15:12:01', '2024-08-05 14:23:43', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (214, 28, 'terminalConnectStatus', 'FORCE_OFFLINE', '强制下线', '{\"color\": \"rgb(var(--red-6))\"}', 40, '2024-03-04 12:51:13', '2024-10-15 11:59:01', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (215, 1, 'operatorLogModule', 'asset:terminal-connect-log', '终端连接日志', '{}', 2060, '2024-03-04 13:43:33', '2024-10-15 11:31:41', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (216, 2, 'operatorLogType', 'terminal-connect-log:delete', '删除终端连接日志', '{}', 10, '2024-03-04 13:44:34', '2024-10-15 11:36:08', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (217, 2, 'operatorLogType', 'terminal-connect-log:clear', '清空终端连接日志', '{}', 20, '2024-03-04 13:45:07', '2024-10-15 11:36:27', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (218, 2, 'operatorLogType', 'terminal-connect-log:force-offline', '强制下线', '{}', 30, '2024-03-04 13:45:36', '2024-10-15 11:35:15', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (219, 1, 'operatorLogModule', 'infra:operator-log', '操作日志', '{}', 1060, '2024-03-04 16:32:11', '2024-03-04 16:32:11', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (220, 2, 'operatorLogType', 'operator-log:delete', '删除操作日志', '{}', 10, '2024-03-04 16:33:11', '2024-03-04 16:33:44', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (221, 2, 'operatorLogType', 'operator-log:clear', '清空操作日志', '{}', 20, '2024-03-04 16:33:31', '2024-03-04 16:33:31', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (222, 2, 'operatorLogType', 'terminal:delete-sftp-log', '删除文件操作日志', '{}', 15, '2024-03-05 15:28:00', '2024-10-15 15:54:47', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (223, 33, 'sftpOperatorType', 'terminal:sftp-mkdir', '创建文件夹', '{}', 10, '2024-03-05 16:50:17', '2024-10-15 15:54:47', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (224, 33, 'sftpOperatorType', 'terminal:sftp-touch', '创建文件', '{}', 20, '2024-03-05 16:50:27', '2024-10-15 15:54:47', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (225, 33, 'sftpOperatorType', 'terminal:sftp-move', '移动文件', '{}', 30, '2024-03-05 16:50:41', '2024-10-15 15:54:47', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (226, 33, 'sftpOperatorType', 'terminal:sftp-remove', '删除文件', '{}', 40, '2024-03-05 16:50:53', '2024-10-15 15:54:47', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (227, 33, 'sftpOperatorType', 'terminal:sftp-truncate', '截断文件', '{}', 50, '2024-03-05 16:51:04', '2024-10-15 15:54:47', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (228, 33, 'sftpOperatorType', 'terminal:sftp-chmod', '文件提权', '{}', 60, '2024-03-05 16:51:15', '2024-10-15 15:54:47', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (229, 33, 'sftpOperatorType', 'terminal:sftp-set-content', '修改文件内容', '{}', 70, '2024-03-05 16:51:30', '2024-10-15 15:54:47', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (230, 33, 'sftpOperatorType', 'terminal:sftp-upload', '上传文件', '{}', 80, '2024-03-05 16:52:06', '2024-10-15 15:54:47', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (231, 33, 'sftpOperatorType', 'terminal:sftp-download', '下载文件', '{}', 90, '2024-03-05 16:52:18', '2024-10-15 15:54:47', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (232, 1, 'operatorLogModule', 'asset:exec-template', '执行模板', '{}', 2070, '2024-03-07 18:32:41', '2024-03-07 18:32:41', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (233, 2, 'operatorLogType', 'exec-template:create', '创建执行模板', '{}', 10, '2024-03-07 18:32:41', '2024-04-12 13:48:54', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (234, 2, 'operatorLogType', 'exec-template:update', '更新执行模板', '{}', 20, '2024-03-07 18:32:41', '2024-04-12 13:48:56', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (235, 2, 'operatorLogType', 'exec-template:delete', '删除执行模板', '{}', 30, '2024-03-07 18:32:41', '2024-04-12 13:49:01', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (236, 1, 'operatorLogModule', 'asset:exec-command', '批量执行', '{}', 2080, '2024-03-13 15:08:43', '2024-04-10 22:33:28', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (237, 2, 'operatorLogType', 'exec-command-log:delete', '删除执行日志', '{}', 10, '2024-03-13 15:08:43', '2024-04-12 13:52:50', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (238, 2, 'operatorLogType', 'exec-command-log:clear', '清理执行日志', '{}', 20, '2024-03-13 15:08:43', '2024-04-12 13:52:51', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (239, 2, 'operatorLogType', 'exec-command-log:delete-host', '删除执行主机日志', '{}', 30, '2024-03-13 15:08:43', '2024-04-12 13:52:57', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (240, 34, 'execStatus', 'WAITING', '等待中', '{\"color\": \"gray\"}', 10, '2024-03-13 15:08:43', '2024-03-13 15:53:55', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (241, 34, 'execStatus', 'RUNNING', '运行中', '{\"color\": \"green\"}', 20, '2024-03-13 15:08:43', '2024-03-13 15:53:55', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (242, 34, 'execStatus', 'COMPLETED', '执行完成', '{\"color\": \"arcoblue\"}', 30, '2024-03-13 15:08:43', '2024-03-13 15:53:55', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (243, 34, 'execStatus', 'FAILED', '执行失败', '{\"color\": \"red\"}', 40, '2024-03-13 15:08:43', '2024-03-13 15:53:55', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (244, 35, 'execHostStatus', 'WAITING', '等待中', '{\"color\": \"gray\", \"execColor\": \"#94D82D\"}', 10, '2024-03-13 15:09:11', '2024-03-19 19:09:53', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (245, 35, 'execHostStatus', 'RUNNING', '运行中', '{\"color\": \"green\", \"execColor\": \"#339AF0\"}', 20, '2024-03-13 15:09:11', '2024-03-17 20:50:53', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (246, 35, 'execHostStatus', 'COMPLETED', '执行完成', '{\"color\": \"arcoblue\", \"execColor\": \"#5C7CFA\"}', 30, '2024-03-13 15:09:11', '2024-03-17 20:42:17', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (247, 35, 'execHostStatus', 'FAILED', '执行失败', '{\"color\": \"red\", \"execColor\": \"#FF6B6B\"}', 40, '2024-03-13 15:09:11', '2024-03-17 20:42:39', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (248, 35, 'execHostStatus', 'INTERRUPTED', '已中断', '{\"color\": \"purple\", \"execColor\": \"#845EF7\"}', 60, '2024-03-13 15:09:11', '2024-03-19 19:05:03', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (249, 2, 'operatorLogType', 'exec-command:exec', '执行主机命令', '{}', 10, '2024-03-13 15:08:43', '2024-04-12 13:53:00', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (250, 2, 'operatorLogType', 'exec-command-log:interrupt', '中断批量执行', '{}', 50, '2024-03-13 15:08:43', '2024-04-12 12:53:58', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (251, 2, 'operatorLogType', 'exec-command-log:interrupt-host', '中断批量执行主机', '{}', 60, '2024-03-13 15:08:43', '2024-04-12 12:54:10', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (252, 2, 'operatorLogType', 'exec-command-log:download', '下载批量执行日志', '{}', 40, '2024-03-18 17:25:44', '2024-04-11 23:34:54', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (253, 35, 'execHostStatus', 'TIMEOUT', '执行超时', '{\"color\": \"orangered\", \"execColor\": \"#fA8C16\"}', 50, '2024-03-19 19:05:56', '2024-04-02 23:01:44', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (254, 1, 'operatorLogModule', 'asset:exec-job', '计划任务', '{}', 2090, '2024-04-10 16:18:07', '2024-04-10 16:18:07', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (255, 2, 'operatorLogType', 'exec-job:create', '创建计划任务', '{}', 10, '2024-04-10 16:18:07', '2024-04-12 12:55:11', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (256, 2, 'operatorLogType', 'exec-job:update', '更新计划任务', '{}', 20, '2024-04-10 16:18:07', '2024-04-12 12:55:13', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (257, 2, 'operatorLogType', 'exec-job:update-status', '更新任务状态', '{}', 30, '2024-04-10 16:18:07', '2024-04-12 12:55:14', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (258, 2, 'operatorLogType', 'exec-job:trigger', '触发计划任务', '{}', 40, '2024-04-10 16:18:07', '2024-04-12 12:55:15', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (259, 2, 'operatorLogType', 'exec-job:delete', '删除计划任务', '{}', 50, '2024-04-10 16:18:07', '2024-04-12 12:55:21', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (260, 36, 'execJobStatus', '0', '禁用', '{\"color\": \"orangered\"}', 10, '2024-04-10 16:18:07', '2024-04-11 14:25:29', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (261, 36, 'execJobStatus', '1', '启用', '{\"color\": \"arcoblue\"}', 20, '2024-04-10 16:18:07', '2024-04-11 14:25:21', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (262, 1, 'operatorLogModule', 'asset:exec-command-log', '批量执行日志', '{}', 2090, '2024-03-13 15:08:43', '2024-04-11 23:34:55', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (263, 1, 'operatorLogModule', 'asset:exec-job-log', '计划任务日志', '{}', 2100, '2024-04-10 16:18:07', '2024-04-11 23:33:55', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (264, 2, 'operatorLogType', 'exec-job-log:delete', '删除任务日志', '{}', 10, '2024-03-13 15:08:43', '2024-04-12 13:53:04', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (265, 2, 'operatorLogType', 'exec-job-log:clear', '清理任务日志', '{}', 20, '2024-03-13 15:08:43', '2024-04-12 13:53:05', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (266, 2, 'operatorLogType', 'exec-job-log:delete-host', '删除任务主机日志', '{}', 30, '2024-03-13 15:08:43', '2024-04-12 13:53:09', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (267, 2, 'operatorLogType', 'exec-job-log:download', '下载计划任务日志', '{}', 40, '2024-03-18 17:25:44', '2024-04-11 23:38:17', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (268, 2, 'operatorLogType', 'exec-job-log:interrupt', '中断计划任务', '{}', 50, '2024-03-13 15:08:43', '2024-04-12 15:23:51', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (269, 2, 'operatorLogType', 'exec-job-log:interrupt-host', '中断计划任务主机', '{}', 60, '2024-03-13 15:08:43', '2024-04-12 15:23:42', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (270, 37, 'hostIdentityType', 'PASSWORD', '密码', '{\"color\": \"purple\"}', 10, '2024-04-16 17:17:49', '2024-04-16 17:17:49', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (271, 37, 'hostIdentityType', 'KEY', '密钥', '{\"color\": \"arcoblue\"}', 20, '2024-04-16 17:18:12', '2024-05-17 12:49:16', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (272, 38, 'hostOsType', 'LINUX', 'linux', '{}', 10, '2024-04-16 22:19:25', '2024-12-12 16:20:39', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (273, 38, 'hostOsType', 'WINDOWS', 'windows', '{}', 20, '2024-04-16 22:19:39', '2024-12-12 16:20:39', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (274, 39, 'pathBookmarkType', 'FILE', '文件', '{}', 10, '2024-04-24 13:43:28', '2024-04-24 13:43:28', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (275, 39, 'pathBookmarkType', 'DIR', '文件夹', '{}', 20, '2024-04-24 13:43:39', '2024-04-24 13:43:39', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (276, 40, 'sftpTransferStatus', 'waiting', '传输中', '{\"icon\": \"icon-clock-circle\", \"color\": \"gray\", \"status\": \"waiting\"}', 10, '2024-05-06 12:00:04', '2024-05-06 12:00:04', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (277, 40, 'sftpTransferStatus', 'transferring', '传输中', '{\"icon\": \"icon-send\", \"color\": \"arcoblue\", \"status\": \"normal\"}', 20, '2024-05-06 12:01:22', '2024-05-06 12:01:22', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (278, 40, 'sftpTransferStatus', 'success', '已完成', '{\"icon\": \"icon-check\", \"color\": \"green\", \"status\": \"success\"}', 30, '2024-05-06 12:02:50', '2024-05-06 12:02:50', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (279, 40, 'sftpTransferStatus', 'error', '传输失败', '{\"icon\": \"icon-close\", \"color\": \"red\", \"status\": \"danger\"}', 40, '2024-05-06 12:03:27', '2024-05-06 12:03:27', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (280, 41, 'uploadTaskStatus', 'WAITING', '等待中', '{\"color\": \"gray\"}', 10, '2024-05-07 22:18:48', '2024-05-10 11:28:22', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (281, 41, 'uploadTaskStatus', 'UPLOADING', '上传中', '{\"color\": \"green\"}', 20, '2024-05-07 22:18:48', '2024-05-08 22:25:25', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (282, 41, 'uploadTaskStatus', 'FINISHED', '已完成', '{\"color\": \"arcoblue\"}', 30, '2024-05-07 22:18:48', '2024-05-08 22:25:50', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (283, 41, 'uploadTaskStatus', 'CANCELED', '已取消', '{\"color\": \"orange\"}', 50, '2024-05-07 22:18:48', '2024-05-10 11:28:56', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (284, 42, 'uploadTaskFileStatus', 'WAITING', '等待中', '{\"color\": \"gray\", \"status\": \"normal\"}', 10, '2024-05-08 10:30:29', '2024-05-10 17:35:30', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (285, 42, 'uploadTaskFileStatus', 'UPLOADING', '上传中', '{\"color\": \"green\", \"status\": \"normal\"}', 20, '2024-05-08 10:30:29', '2024-05-10 17:35:27', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (286, 42, 'uploadTaskFileStatus', 'FINISHED', '已完成', '{\"color\": \"arcoblue\", \"status\": \"success\"}', 30, '2024-05-08 10:30:29', '2024-05-10 17:35:15', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (287, 42, 'uploadTaskFileStatus', 'FAILED', '已失败', '{\"color\": \"red\", \"status\": \"danger\"}', 40, '2024-05-08 10:30:29', '2024-05-10 17:34:51', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (288, 42, 'uploadTaskFileStatus', 'CANCELED', '已取消', '{\"color\": \"orange\", \"status\": \"warning\"}', 50, '2024-05-08 10:30:29', '2024-05-10 17:34:30', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (289, 1, 'operatorLogModule', 'asset:upload-task', '批量上传', '{}', 2110, '2024-05-08 22:23:01', '2024-05-08 22:23:01', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (290, 2, 'operatorLogType', 'upload-task:upload', '批量上传文件', '{}', 10, '2024-05-08 22:23:27', '2024-05-08 22:23:27', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (291, 2, 'operatorLogType', 'upload-task:cancel', '取消上传文件', '{}', 20, '2024-05-08 22:23:36', '2024-05-08 22:23:36', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (292, 2, 'operatorLogType', 'upload-task:delete', '删除上传记录', '{}', 30, '2024-05-08 22:23:44', '2024-05-08 22:23:44', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (293, 2, 'operatorLogType', 'upload-task:clear', '清理上传记录', '{}', 40, '2024-05-08 22:23:59', '2024-05-08 22:23:59', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (294, 41, 'uploadTaskStatus', 'FAILED', '已失败', '{\"color\": \"red\"}', 40, '2024-05-10 11:29:17', '2024-05-10 11:29:17', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (295, 43, 'messageType', 'EXEC_FAILED', '执行失败', '{\"tagColor\": \"red\", \"tagLabel\": \"部分失败\", \"tagVisible\": true, \"redirectComponent\": \"execCommand\"}', 10, '2024-05-13 12:07:56', '2024-08-19 12:28:48', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (296, 43, 'messageType', 'UPLOAD_FAILED', '上传失败', '{\"tagColor\": \"red\", \"tagLabel\": \"部分失败\", \"tagVisible\": true, \"redirectComponent\": \"batchUpload\"}', 20, '2024-05-13 12:07:56', '2024-08-19 12:28:51', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (297, 44, 'messageClassify', 'NOTICE', '通知', '{}', 10, '2024-05-13 15:06:27', '2024-05-31 17:31:18', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (298, 44, 'messageClassify', 'TODO', '待办', '{}', 20, '2024-05-13 15:06:27', '2024-05-31 17:31:18', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (353, 53, 'terminalTheme', '{\"background\":\"#1E1F29\",\"foreground\":\"#F8F8F2\",\"cursor\":\"#BBBBBB\",\"selectionBackground\":\"#44475A\",\"black\":\"#000000\",\"red\":\"#FF5555\",\"green\":\"#50FA7B\",\"yellow\":\"#F1FA8C\",\"blue\":\"#BD93F9\",\"cyan\":\"#8BE9FD\",\"white\":\"#BBBBBB\",\"brightBlack\":\"#555555\",\"brightRed\":\"#FF5555\",\"brightGreen\":\"#50FA7B\",\"brightYellow\":\"#F1FA8C\",\"brightBlue\":\"#BD93F9\",\"brightCyan\":\"#8BE9FD\",\"brightWhite\":\"#FFFFFF\"}', 'Dracula', '{\"dark\": true}', 10, '2024-07-04 19:15:42', '2024-08-19 18:49:12', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (354, 53, 'terminalTheme', '{\"background\":\"#FFFFFF\",\"foreground\":\"#000000\",\"cursor\":\"#000000\",\"selectionBackground\":\"#B5D5FF\",\"black\":\"#000000\",\"red\":\"#CC0000\",\"green\":\"#4E9A06\",\"yellow\":\"#C4A000\",\"blue\":\"#3465A4\",\"cyan\":\"#06989A\",\"white\":\"#D3D7CF\",\"brightBlack\":\"#555753\",\"brightRed\":\"#EF2929\",\"brightGreen\":\"#8AE234\",\"brightYellow\":\"#FCE94F\",\"brightBlue\":\"#729FCF\",\"brightCyan\":\"#34E2E2\",\"brightWhite\":\"#EEEEEC\"}', 'Builtin Tango Light', '{\"dark\": false}', 20, '2024-07-04 19:21:38', '2024-08-19 18:49:31', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (355, 53, 'terminalTheme', '{\"background\":\"#161719\",\"foreground\":\"#C5C8C6\",\"cursor\":\"#D0D0D0\",\"selectionBackground\":\"#444444\",\"black\":\"#000000\",\"red\":\"#FD5FF1\",\"green\":\"#87C38A\",\"yellow\":\"#FFD7B1\",\"blue\":\"#85BEFD\",\"cyan\":\"#85BEFD\",\"white\":\"#E0E0E0\",\"brightBlack\":\"#000000\",\"brightRed\":\"#FD5FF1\",\"brightGreen\":\"#94FA36\",\"brightYellow\":\"#F5FFA8\",\"brightBlue\":\"#96CBFE\",\"brightCyan\":\"#85BEFD\",\"brightWhite\":\"#E0E0E0\"}', 'Atom', '{\"dark\": true}', 30, '2024-07-04 19:21:49', '2024-08-19 18:49:49', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (356, 53, 'terminalTheme', '{\"background\":\"#F9F9F9\",\"foreground\":\"#2A2C33\",\"cursor\":\"#BBBBBB\",\"selectionBackground\":\"#EDEDED\",\"black\":\"#000000\",\"red\":\"#DE3E35\",\"green\":\"#3F953A\",\"yellow\":\"#D2B67C\",\"blue\":\"#2F5AF3\",\"cyan\":\"#3F953A\",\"white\":\"#BBBBBB\",\"brightBlack\":\"#000000\",\"brightRed\":\"#DE3E35\",\"brightGreen\":\"#3F953A\",\"brightYellow\":\"#D2B67C\",\"brightBlue\":\"#2F5AF3\",\"brightCyan\":\"#3F953A\",\"brightWhite\":\"#FFFFFF\"}', 'AtomOneLight', '{\"dark\": false}', 40, '2024-07-04 19:22:02', '2024-08-19 18:50:00', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (357, 53, 'terminalTheme', '{\"background\":\"#282C34\",\"foreground\":\"#DCDFE4\",\"cursor\":\"#A3B3CC\",\"selectionBackground\":\"#474E5D\",\"black\":\"#282C34\",\"red\":\"#E06C75\",\"green\":\"#98C379\",\"yellow\":\"#E5C07B\",\"blue\":\"#61AFEF\",\"cyan\":\"#56B6C2\",\"white\":\"#DCDFE4\",\"brightBlack\":\"#282C34\",\"brightRed\":\"#E06C75\",\"brightGreen\":\"#98C379\",\"brightYellow\":\"#E5C07B\",\"brightBlue\":\"#61AFEF\",\"brightCyan\":\"#56B6C2\",\"brightWhite\":\"#DCDFE4\"}', 'OneHalfDark', '{\"dark\": true}', 50, '2024-07-04 19:22:16', '2024-08-19 18:50:15', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (358, 53, 'terminalTheme', '{\"background\":\"#FAFAFA\",\"foreground\":\"#383A42\",\"cursor\":\"#BFCEFF\",\"selectionBackground\":\"#BFCEFF\",\"black\":\"#383A42\",\"red\":\"#E45649\",\"green\":\"#50A14F\",\"yellow\":\"#C18401\",\"blue\":\"#0184BC\",\"cyan\":\"#0997B3\",\"white\":\"#FAFAFA\",\"brightBlack\":\"#4F525E\",\"brightRed\":\"#E06C75\",\"brightGreen\":\"#98C379\",\"brightYellow\":\"#E5C07B\",\"brightBlue\":\"#61AFEF\",\"brightCyan\":\"#56B6C2\",\"brightWhite\":\"#FFFFFF\"}', 'OneHalfLight', '{\"dark\": false}', 60, '2024-07-04 19:22:26', '2024-08-19 18:50:27', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (359, 53, 'terminalTheme', '{\"background\":\"#1E1E1E\",\"foreground\":\"#FFFFFF\",\"cursor\":\"#98989D\",\"selectionBackground\":\"#3F638B\",\"black\":\"#1A1A1A\",\"red\":\"#CC372E\",\"green\":\"#26A439\",\"yellow\":\"#CDAC08\",\"blue\":\"#0869CB\",\"cyan\":\"#479EC2\",\"white\":\"#98989D\",\"brightBlack\":\"#464646\",\"brightRed\":\"#FF453A\",\"brightGreen\":\"#32D74B\",\"brightYellow\":\"#FFD60A\",\"brightBlue\":\"#0A84FF\",\"brightCyan\":\"#76D6FF\",\"brightWhite\":\"#FFFFFF\"}', 'Apple System Colors', '{\"dark\": true}', 70, '2024-07-04 19:22:45', '2024-08-19 18:50:46', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (360, 53, 'terminalTheme', '{\"background\":\"#FFFFFF\",\"foreground\":\"#4D4D4C\",\"cursor\":\"#4D4D4C\",\"selectionBackground\":\"#D6D6D6\",\"black\":\"#000000\",\"red\":\"#C82829\",\"green\":\"#718C00\",\"yellow\":\"#EAB700\",\"blue\":\"#4271AE\",\"cyan\":\"#3E999F\",\"white\":\"#FFFFFF\",\"brightBlack\":\"#000000\",\"brightRed\":\"#C82829\",\"brightGreen\":\"#718C00\",\"brightYellow\":\"#EAB700\",\"brightBlue\":\"#4271AE\",\"brightCyan\":\"#3E999F\",\"brightWhite\":\"#FFFFFF\"}', 'Tomorrow', '{\"dark\": false}', 80, '2024-07-04 19:22:57', '2024-08-19 18:51:03', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (361, 53, 'terminalTheme', '{\"background\":\"#1E1E2E\",\"foreground\":\"#CDD6F4\",\"cursor\":\"#F5E0DC\",\"selectionBackground\":\"#585B70\",\"black\":\"#45475A\",\"red\":\"#F38BA8\",\"green\":\"#A6E3A1\",\"yellow\":\"#F9E2AF\",\"blue\":\"#89B4FA\",\"cyan\":\"#94E2D5\",\"white\":\"#BAC2DE\",\"brightBlack\":\"#585B70\",\"brightRed\":\"#F38BA8\",\"brightGreen\":\"#A6E3A1\",\"brightYellow\":\"#F9E2AF\",\"brightBlue\":\"#89B4FA\",\"brightCyan\":\"#94E2D5\",\"brightWhite\":\"#A6ADC8\"}', 'catppuccin-mocha', '{\"dark\": true}', 90, '2024-07-04 19:23:13', '2024-08-19 18:51:23', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (362, 53, 'terminalTheme', '{\"background\":\"#EFF1F5\",\"foreground\":\"#4C4F69\",\"cursor\":\"#DC8A78\",\"selectionBackground\":\"#ACB0BE\",\"black\":\"#5C5F77\",\"red\":\"#D20F39\",\"green\":\"#40A02B\",\"yellow\":\"#DF8E1D\",\"blue\":\"#1E66F5\",\"cyan\":\"#179299\",\"white\":\"#ACB0BE\",\"brightBlack\":\"#6C6F85\",\"brightRed\":\"#D20F39\",\"brightGreen\":\"#40A02B\",\"brightYellow\":\"#DF8E1D\",\"brightBlue\":\"#1E66F5\",\"brightCyan\":\"#179299\",\"brightWhite\":\"#BCC0CC\"}', 'catppuccin-latte', '{\"dark\": false}', 100, '2024-07-04 19:23:32', '2024-08-19 18:51:43', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (363, 53, 'terminalTheme', '{\"background\":\"#24273A\",\"foreground\":\"#CAD3F5\",\"cursor\":\"#F4DBD6\",\"selectionBackground\":\"#5B6078\",\"black\":\"#494D64\",\"red\":\"#ED8796\",\"green\":\"#A6DA95\",\"yellow\":\"#EED49F\",\"blue\":\"#8AADF4\",\"cyan\":\"#8BD5CA\",\"white\":\"#B8C0E0\",\"brightBlack\":\"#5B6078\",\"brightRed\":\"#ED8796\",\"brightGreen\":\"#A6DA95\",\"brightYellow\":\"#EED49F\",\"brightBlue\":\"#8AADF4\",\"brightCyan\":\"#8BD5CA\",\"brightWhite\":\"#A5ADCB\"}', 'catppuccin-macchiato', '{\"dark\": true}', 110, '2024-07-04 19:23:41', '2024-08-19 18:51:55', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (364, 53, 'terminalTheme', '{\"background\":\"#F9F9F9\",\"foreground\":\"#373A41\",\"cursor\":\"#F32759\",\"selectionBackground\":\"#DAF0FF\",\"black\":\"#373A41\",\"red\":\"#D52753\",\"green\":\"#23974A\",\"yellow\":\"#DF631C\",\"blue\":\"#275FE4\",\"cyan\":\"#27618D\",\"white\":\"#BABBC2\",\"brightBlack\":\"#676A77\",\"brightRed\":\"#FF6480\",\"brightGreen\":\"#3CBC66\",\"brightYellow\":\"#C5A332\",\"brightBlue\":\"#0099E1\",\"brightCyan\":\"#6D93BB\",\"brightWhite\":\"#D3D3D3\"}', 'BlulocoLight', '{\"dark\": false}', 120, '2024-07-04 19:24:06', '2024-08-19 18:52:12', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (365, 53, 'terminalTheme', '{\"background\":\"#303446\",\"foreground\":\"#C6D0F5\",\"cursor\":\"#F2D5CF\",\"selectionBackground\":\"#626880\",\"black\":\"#51576D\",\"red\":\"#E78284\",\"green\":\"#A6D189\",\"yellow\":\"#E5C890\",\"blue\":\"#8CAAEE\",\"cyan\":\"#81C8BE\",\"white\":\"#B5BFE2\",\"brightBlack\":\"#626880\",\"brightRed\":\"#E78284\",\"brightGreen\":\"#A6D189\",\"brightYellow\":\"#E5C890\",\"brightBlue\":\"#8CAAEE\",\"brightCyan\":\"#81C8BE\",\"brightWhite\":\"#A5ADCE\"}', 'catppuccin-frappe', '{\"dark\": true}', 130, '2024-07-04 19:24:17', '2024-08-19 18:52:24', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (366, 53, 'terminalTheme', '{\"background\":\"#1D262A\",\"foreground\":\"#E7EBED\",\"cursor\":\"#EAEAEA\",\"selectionBackground\":\"#4E6A78\",\"black\":\"#435B67\",\"red\":\"#FC3841\",\"green\":\"#5CF19E\",\"yellow\":\"#FED032\",\"blue\":\"#37B6FF\",\"cyan\":\"#59FFD1\",\"white\":\"#FFFFFF\",\"brightBlack\":\"#A1B0B8\",\"brightRed\":\"#FC746D\",\"brightGreen\":\"#ADF7BE\",\"brightYellow\":\"#FEE16C\",\"brightBlue\":\"#70CFFF\",\"brightCyan\":\"#9AFFE6\",\"brightWhite\":\"#FFFFFF\"}', 'MaterialDesignColors', '{\"dark\": true}', 140, '2024-07-04 19:24:27', '2024-08-19 18:52:56', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (385, 57, 'hostStatus', 'ENABLED', '启用', '{\"color\": \"arcoblue\", \"status\": \"normal\", \"buttonStatus\": \"normal\"}', 10, '2024-07-17 12:51:10', '2024-07-22 16:53:53', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (386, 57, 'hostStatus', 'DISABLED', '停用', '{\"color\": \"orangered\", \"status\": \"error\", \"buttonStatus\": \"danger\"}', 20, '2024-07-17 12:51:10', '2024-07-22 16:53:46', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (387, 58, 'hostType', 'SSH', 'SSH', '{\"color\": \"arcoblue\"}', 10, '2024-07-17 12:51:10', '2024-07-17 15:57:24', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (401, 43, 'messageType', 'LOGIN_FAILED', '登录失败', '{\"tagColor\": \"red\", \"tagLabel\": \"登录失败\", \"tagVisible\": true, \"redirectComponent\": \"0\"}', 50, '2024-08-19 18:34:27', '2024-08-19 18:34:27', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (402, 53, 'terminalTheme', '{\"background\":\"#101216\",\"foreground\":\"#8B949E\",\"cursor\":\"#C9D1D9\",\"selectionBackground\":\"#3B5070\",\"black\":\"#000000\",\"red\":\"#F78166\",\"green\":\"#56D364\",\"yellow\":\"#E3B341\",\"blue\":\"#6CA4F8\",\"cyan\":\"#2B7489\",\"white\":\"#FFFFFF\",\"brightBlack\":\"#4D4D4D\",\"brightRed\":\"#F78166\",\"brightGreen\":\"#56D364\",\"brightYellow\":\"#E3B341\",\"brightBlue\":\"#6CA4F8\",\"brightCyan\":\"#2B7489\",\"brightWhite\":\"#FFFFFF\"}', 'GitHub Dark', '{\"dark\": true}', 150, '2024-08-19 18:53:14', '2024-08-19 18:53:20', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (403, 53, 'terminalTheme', '{\"background\":\"#F4F4F4\",\"foreground\":\"#3E3E3E\",\"cursor\":\"#3F3F3F\",\"selectionBackground\":\"#A9C1E2\",\"black\":\"#3E3E3E\",\"red\":\"#970B16\",\"green\":\"#07962A\",\"yellow\":\"#F8EEC7\",\"blue\":\"#003E8A\",\"cyan\":\"#89D1EC\",\"white\":\"#FFFFFF\",\"brightBlack\":\"#666666\",\"brightRed\":\"#DE0000\",\"brightGreen\":\"#87D5A2\",\"brightYellow\":\"#F1D007\",\"brightBlue\":\"#2E6CBA\",\"brightCyan\":\"#1CFAFE\",\"brightWhite\":\"#FFFFFF\"}', 'Github', '{\"dark\": false}', 160, '2024-08-19 18:53:39', '2024-08-19 18:53:39', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (404, 53, 'terminalTheme', '{\"background\":\"#1F1F1F\",\"foreground\":\"#B9BCBA\",\"cursor\":\"#F83E19\",\"selectionBackground\":\"#2A2D32\",\"black\":\"#3A3D43\",\"red\":\"#BE3F48\",\"green\":\"#879A3B\",\"yellow\":\"#C5A635\",\"blue\":\"#4F76A1\",\"cyan\":\"#578FA4\",\"white\":\"#B9BCBA\",\"brightBlack\":\"#888987\",\"brightRed\":\"#FB001F\",\"brightGreen\":\"#0F722F\",\"brightYellow\":\"#C47033\",\"brightBlue\":\"#186DE3\",\"brightCyan\":\"#2E706D\",\"brightWhite\":\"#FDFFB9\"}', 'DimmedMonokai', '{\"dark\": true}', 170, '2024-08-19 18:53:52', '2024-08-19 18:53:52', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (405, 53, 'terminalTheme', '{\"background\":\"#1F1D27\",\"foreground\":\"#B7A1FF\",\"cursor\":\"#FF9839\",\"selectionBackground\":\"#353147\",\"black\":\"#1F1D27\",\"red\":\"#D9393E\",\"green\":\"#2DCD73\",\"yellow\":\"#D9B76E\",\"blue\":\"#FFC284\",\"cyan\":\"#2488FF\",\"white\":\"#B7A1FF\",\"brightBlack\":\"#353147\",\"brightRed\":\"#D9393E\",\"brightGreen\":\"#2DCD73\",\"brightYellow\":\"#D9B76E\",\"brightBlue\":\"#FFC284\",\"brightCyan\":\"#2488FF\",\"brightWhite\":\"#EAE5FF\"}', 'Duotone Dark', '{\"dark\": true}', 180, '2024-08-19 18:54:09', '2024-08-19 18:54:09', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (424, 1, 'operatorLogModule', 'infra:system-setting', '系统设置', '{}', 1070, '2024-10-09 19:28:58', '2024-10-09 19:28:58', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (425, 2, 'operatorLogType', 'system-setting:update', '更新系统设置', '{}', 10, '2024-10-09 19:30:17', '2024-10-09 19:30:43', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (431, 61, 'updatePasswordReason', 'NEW', '为了保障账户安全,请立即修改初始密码。', '{}', 10, '2024-12-11 17:24:19', '2024-12-11 17:24:19', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (432, 2, 'operatorLogType', 'exec-job:update-exec-user', '修改计划执行用户', '{}', 45, '2024-12-13 00:17:03', '2024-12-13 00:17:03', 'admin', 'admin', 0);
INSERT INTO `dict_value` VALUES (443, 21, 'terminalFontFamily', 'Cascadia Mono', 'Cascadia Mono', '{}', 50, '2023-12-11 16:48:03', '2024-05-15 15:26:42', 'admin', 'admin', 0);
-- 菜单配置
INSERT INTO `system_menu` VALUES (1, 0, '仪表盘', NULL, 1, 10, 1, 1, 1, 0, 'IconDashboard', NULL, 'dashboard', '2023-07-28 10:51:50', '2024-08-11 00:05:44', '1', '1', 0);
INSERT INTO `system_menu` VALUES (2, 1, '工作台', NULL, 2, 10, 1, 1, 1, 0, 'IconComputer', NULL, 'workplace', '2023-07-28 10:51:50', '2024-08-11 00:05:44', '1', '1', 0);
INSERT INTO `system_menu` VALUES (5, 0, '用户管理', NULL, 1, 700, 1, 1, 1, 0, 'icon-user', NULL, 'userModule', '2023-07-28 10:55:38', '2024-06-17 20:45:29', '1', '1', 0);
INSERT INTO `system_menu` VALUES (8, 0, '项目地址', NULL, 1, 1000, 1, 1, 1, 0, 'icon-link', 'https://visor.orionsec.cn', '', '2023-07-28 11:04:59', '2024-08-29 18:10:57', '1', '1', 0);
INSERT INTO `system_menu` VALUES (10, 5, '角色管理', NULL, 2, 10, 1, 1, 1, 0, 'IconUserGroup', '', 'role', '2023-07-28 10:55:52', '2024-03-07 19:10:13', '1', '1', 0);
INSERT INTO `system_menu` VALUES (12, 0, '系统管理', NULL, 1, 800, 1, 1, 1, 0, 'icon-tool', NULL, 'systemModule', '2023-08-02 18:24:24', '2024-06-17 20:45:39', '1', '1', 0);
INSERT INTO `system_menu` VALUES (13, 12, '系统菜单', '', 2, 10, 1, 1, 1, 0, 'icon-menu', NULL, 'systemMenu', '2023-08-02 18:29:01', '2024-03-07 22:25:00', '1', '1', 0);
INSERT INTO `system_menu` VALUES (20, 10, '创建角色', 'infra:system-role:create', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-15 16:36:54', '2023-10-27 01:20:46', '1', '1', 0);
INSERT INTO `system_menu` VALUES (21, 10, '修改角色', 'infra:system-role:update', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-15 16:37:33', '2023-10-27 01:20:46', '1', '1', 0);
INSERT INTO `system_menu` VALUES (22, 10, '更新状态', 'infra:system-role:update-status', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-15 16:37:58', '2023-10-27 01:20:46', '1', '1', 0);
INSERT INTO `system_menu` VALUES (23, 10, '查询角色', 'infra:system-role:query', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-15 16:38:26', '2023-10-27 01:20:46', '1', '1', 0);
INSERT INTO `system_menu` VALUES (24, 10, '分配菜单', 'infra:system-role:grant-menu', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-15 16:39:41', '2023-10-27 01:20:46', '1', '1', 0);
INSERT INTO `system_menu` VALUES (25, 10, '删除角色', 'infra:system-role:delete', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-15 16:40:45', '2023-10-27 01:20:46', '1', '1', 0);
INSERT INTO `system_menu` VALUES (26, 13, '创建菜单', 'infra:system-menu:create', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-15 16:41:30', '2023-10-27 01:16:10', '1', '1', 0);
INSERT INTO `system_menu` VALUES (27, 13, '修改菜单', 'infra:system-menu:update', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-15 16:41:55', '2023-10-27 01:16:10', '1', '1', 0);
INSERT INTO `system_menu` VALUES (28, 13, '修改状态', 'infra:system-menu:update-status', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-15 16:42:41', '2023-10-27 01:16:10', '1', '1', 0);
INSERT INTO `system_menu` VALUES (29, 13, '查询菜单', 'infra:system-menu:query', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-15 16:42:57', '2023-10-27 01:16:10', '1', '1', 0);
INSERT INTO `system_menu` VALUES (30, 13, '删除菜单', 'infra:system-menu:delete', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-15 16:43:16', '2023-10-27 01:16:10', '1', '1', 0);
INSERT INTO `system_menu` VALUES (48, 5, '用户管理', NULL, 2, 10, 1, 1, 1, 0, 'IconUserAdd', NULL, 'user', '2023-08-16 10:19:24', '2024-03-07 19:10:21', '1', '1', 0);
INSERT INTO `system_menu` VALUES (49, 48, '创建用户', 'infra:system-user:create', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-16 10:19:24', '2023-10-27 01:20:46', '1', '1', 0);
INSERT INTO `system_menu` VALUES (50, 48, '修改用户', 'infra:system-user:update', 3, 20, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-16 10:19:24', '2023-10-27 01:20:46', '1', '1', 0);
INSERT INTO `system_menu` VALUES (51, 48, '查询用户', 'infra:system-user:query', 3, 30, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-16 10:19:24', '2023-10-27 01:20:46', '1', '1', 0);
INSERT INTO `system_menu` VALUES (52, 48, '删除用户', 'infra:system-user:delete', 3, 40, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-16 10:19:24', '2023-10-27 01:20:46', '1', '1', 0);
INSERT INTO `system_menu` VALUES (53, 13, '刷新缓存', 'infra:system-menu:management:refresh-cache', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-16 10:29:10', '2023-12-27 12:39:48', '1', '1', 0);
INSERT INTO `system_menu` VALUES (60, 48, '修改用户状态', 'infra:system-user:update-status', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-16 11:49:04', '2023-10-27 01:20:46', '1', '1', 0);
INSERT INTO `system_menu` VALUES (61, 48, '分配用户角色', 'infra:system-user:grant-role', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-16 11:49:23', '2023-10-27 01:20:46', '1', '1', 0);
INSERT INTO `system_menu` VALUES (62, 48, '重置用户密码', 'infra:system-user:management:reset-password', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-16 11:49:50', '2023-12-27 12:42:10', '1', '1', 0);
INSERT INTO `system_menu` VALUES (63, 0, '资产管理', NULL, 1, 300, 1, 1, 1, 0, 'IconStorage', NULL, 'assetModule', '2023-09-11 14:17:31', '2024-04-03 00:20:16', '1', '1', 0);
INSERT INTO `system_menu` VALUES (64, 63, '主机管理', NULL, 2, 10, 1, 1, 1, 0, 'IconDesktop', NULL, 'hostList', '2023-09-11 14:17:31', '2024-07-03 18:52:10', '1', '1', 0);
INSERT INTO `system_menu` VALUES (65, 64, '查询主机', 'asset:host:query', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-09-11 14:17:31', '2023-10-27 01:15:14', '1', '1', 0);
INSERT INTO `system_menu` VALUES (66, 64, '创建主机', 'asset:host:create', 3, 20, 1, 1, 1, 0, NULL, NULL, NULL, '2023-09-11 14:17:31', '2023-10-27 01:15:14', '1', '1', 0);
INSERT INTO `system_menu` VALUES (67, 64, '修改主机', 'asset:host:update', 3, 30, 1, 1, 1, 0, NULL, NULL, NULL, '2023-09-11 14:17:31', '2023-10-27 01:15:14', '1', '1', 0);
INSERT INTO `system_menu` VALUES (68, 64, '删除主机', 'asset:host:delete', 3, 40, 1, 1, 1, 0, NULL, NULL, NULL, '2023-09-11 14:17:31', '2023-10-27 01:15:14', '1', '1', 0);
INSERT INTO `system_menu` VALUES (69, 64, '修改状态', 'asset:host:update-status', 3, 50, 1, 1, 1, 0, NULL, NULL, NULL, '2024-07-22 14:49:13', '2024-07-22 14:49:22', '1', '1', 0);
INSERT INTO `system_menu` VALUES (70, 64, '修改配置', 'asset:host:update-config', 3, 60, 1, 1, 1, 0, NULL, NULL, NULL, '2023-09-14 16:27:18', '2023-10-27 01:15:14', '1', '1', 0);
INSERT INTO `system_menu` VALUES (72, 63, '主机身份', NULL, 2, 30, 1, 1, 1, 0, 'IconIdcard', NULL, 'hostIdentity', '2023-09-20 11:47:18', '2024-07-03 18:52:15', '1', '1', 0);
INSERT INTO `system_menu` VALUES (73, 72, '查询主机身份', 'asset:host-identity:query', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-09-20 11:47:18', '2023-10-27 01:15:14', '1', '1', 0);
INSERT INTO `system_menu` VALUES (74, 72, '创建主机身份', 'asset:host-identity:create', 3, 20, 1, 1, 1, 0, NULL, NULL, NULL, '2023-09-20 11:47:18', '2023-10-27 01:15:14', '1', '1', 0);
INSERT INTO `system_menu` VALUES (75, 72, '修改主机身份', 'asset:host-identity:update', 3, 30, 1, 1, 1, 0, NULL, NULL, NULL, '2023-09-20 11:47:18', '2023-10-27 01:15:14', '1', '1', 0);
INSERT INTO `system_menu` VALUES (76, 72, '删除主机身份', 'asset:host-identity:delete', 3, 40, 1, 1, 1, 0, NULL, NULL, NULL, '2023-09-20 11:47:18', '2023-10-27 01:15:14', '1', '1', 0);
INSERT INTO `system_menu` VALUES (79, 63, '主机密钥', NULL, 2, 20, 1, 1, 1, 0, 'IconLock', NULL, 'hostKey', '2023-09-20 11:47:18', '2024-07-03 18:52:13', '1', '1', 0);
INSERT INTO `system_menu` VALUES (80, 79, '查询主机密钥', 'asset:host-key:query', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-09-20 11:47:18', '2024-05-17 12:49:54', '1', '1', 0);
INSERT INTO `system_menu` VALUES (81, 79, '创建主机密钥', 'asset:host-key:create', 3, 20, 1, 1, 1, 0, NULL, NULL, NULL, '2023-09-20 11:47:18', '2024-05-17 12:49:56', '1', '1', 0);
INSERT INTO `system_menu` VALUES (82, 79, '修改主机密钥', 'asset:host-key:update', 3, 30, 1, 1, 1, 0, NULL, NULL, NULL, '2023-09-20 11:47:18', '2024-05-17 12:49:59', '1', '1', 0);
INSERT INTO `system_menu` VALUES (83, 79, '删除主机密钥', 'asset:host-key:delete', 3, 40, 1, 1, 1, 0, NULL, NULL, NULL, '2023-09-20 11:47:18', '2024-05-17 12:50:01', '1', '1', 0);
INSERT INTO `system_menu` VALUES (84, 79, '查询主机密钥详情', 'asset:host-key:query-detail', 3, 50, 1, 1, 1, 0, NULL, NULL, NULL, '2023-09-20 11:47:18', '2024-05-17 12:50:05', '1', '1', 0);
INSERT INTO `system_menu` VALUES (94, 5, '个人中心', NULL, 2, 20, 0, 1, 0, 0, 'IconUser', NULL, 'userInfo', '2023-10-08 18:53:01', '2023-11-02 11:47:34', '1', '1', 0);
INSERT INTO `system_menu` VALUES (97, 12, '数据字典项', NULL, 2, 20, 1, 1, 1, 0, 'IconBook', NULL, 'dictKey', '2023-10-17 11:38:13', '2024-03-07 19:10:45', '1', '1', 0);
INSERT INTO `system_menu` VALUES (99, 97, '创建字典配置项', 'infra:dict-key:create', 3, 110, 1, 1, 1, 0, NULL, NULL, NULL, '2023-10-17 11:38:13', '2023-10-27 01:16:10', '1', '1', 0);
INSERT INTO `system_menu` VALUES (100, 97, '修改字典配置项', 'infra:dict-key:update', 3, 120, 1, 1, 1, 0, NULL, NULL, NULL, '2023-10-17 11:38:13', '2023-10-27 01:16:10', '1', '1', 0);
INSERT INTO `system_menu` VALUES (101, 97, '删除字典配置项', 'infra:dict-key:delete', 3, 130, 1, 1, 1, 0, NULL, NULL, NULL, '2023-10-17 11:38:13', '2023-10-27 01:16:10', '1', '1', 0);
INSERT INTO `system_menu` VALUES (105, 12, '数据字典值', NULL, 2, 30, 1, 1, 1, 0, 'IconNav', NULL, 'dictValue', '2023-10-17 11:38:13', '2024-03-07 19:10:49', '1', '1', 0);
INSERT INTO `system_menu` VALUES (106, 105, '查询字典配置值', 'infra:dict-value:query', 3, 210, 1, 1, 1, 0, NULL, NULL, NULL, '2023-10-17 11:38:18', '2023-10-27 01:16:10', '1', '1', 0);
INSERT INTO `system_menu` VALUES (107, 105, '创建字典配置值', 'infra:dict-value:create', 3, 220, 1, 1, 1, 0, NULL, NULL, NULL, '2023-10-17 11:38:18', '2023-10-27 01:16:10', '1', '1', 0);
INSERT INTO `system_menu` VALUES (108, 105, '修改字典配置值', 'infra:dict-value:update', 3, 230, 1, 1, 1, 0, NULL, NULL, NULL, '2023-10-17 11:38:18', '2023-10-27 01:16:10', '1', '1', 0);
INSERT INTO `system_menu` VALUES (109, 105, '删除字典配置值', 'infra:dict-value:delete', 3, 240, 1, 1, 1, 0, NULL, NULL, NULL, '2023-10-17 11:38:18', '2023-10-27 01:16:10', '1', '1', 0);
INSERT INTO `system_menu` VALUES (120, 97, '查询字典配置项', 'infra:dict-key:query', 3, 100, 1, 1, 1, 0, NULL, NULL, NULL, '2023-10-20 11:27:12', '2023-12-27 18:39:22', '1', '1', 0);
INSERT INTO `system_menu` VALUES (121, 97, '刷新缓存', 'infra:dict-key:management:refresh-cache', 3, 140, 1, 1, 1, 0, NULL, NULL, NULL, '2023-10-27 15:50:04', '2023-12-27 12:40:12', '1', '1', 0);
INSERT INTO `system_menu` VALUES (122, 5, '操作日志', NULL, 2, 30, 1, 1, 1, 0, 'IconCalendarClock', NULL, 'operatorLog', '2023-11-01 14:09:36', '2024-03-07 19:10:30', '1', '1', 0);
INSERT INTO `system_menu` VALUES (123, 122, '查询操作日志', 'infra:operator-log:query', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-11-02 11:22:54', '2023-11-02 11:22:54', '1', '1', 0);
INSERT INTO `system_menu` VALUES (124, 48, '查询用户会话', 'infra:system-user:query-session', 3, 50, 1, 1, 1, 0, NULL, NULL, NULL, '2023-11-02 11:24:14', '2023-11-02 11:24:14', '1', '1', 0);
INSERT INTO `system_menu` VALUES (125, 48, '下线用户会话', 'infra:system-user:management:offline-session', 3, 60, 1, 1, 1, 0, NULL, NULL, NULL, '2023-11-02 11:24:37', '2023-12-27 12:39:17', '1', '1', 0);
INSERT INTO `system_menu` VALUES (126, 48, '查询用户登录日志', 'infra:system-user:login-history', 3, 70, 1, 1, 1, 0, NULL, NULL, NULL, '2023-12-27 15:05:37', '2023-12-27 15:07:19', '1', '1', 0);
INSERT INTO `system_menu` VALUES (129, 64, '编辑主机分组', 'asset:host-group:update', 3, 100, 1, 1, 1, 0, NULL, NULL, NULL, '2023-11-13 18:16:32', '2023-12-01 01:47:58', '1', '1', 0);
INSERT INTO `system_menu` VALUES (133, 144, '主机分组授权', 'asset:host-group:grant', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-11-23 18:08:57', '2023-11-30 22:39:53', '1', '1', 0);
INSERT INTO `system_menu` VALUES (142, 144, '主机密钥授权', 'asset:host-key:grant', 3, 20, 1, 1, 1, 0, NULL, NULL, NULL, '2023-11-30 21:06:13', '2024-05-17 12:50:14', '1', '1', 0);
INSERT INTO `system_menu` VALUES (143, 144, '主机身份授权', 'asset:host-identity:grant', 3, 30, 1, 1, 1, 0, NULL, NULL, NULL, '2023-11-30 21:06:26', '2023-11-30 22:40:11', '1', '1', 0);
INSERT INTO `system_menu` VALUES (144, 63, '资产授权', NULL, 2, 50, 1, 1, 1, 0, 'icon-safe', NULL, 'assetGrant', '2023-11-30 22:38:57', '2024-07-03 18:52:18', '1', '1', 0);
INSERT INTO `system_menu` VALUES (145, 0, '主机运维', NULL, 1, 400, 1, 1, 1, 1, 'IconDesktop', NULL, 'hostModule', '2023-12-04 23:33:25', '2024-04-03 00:57:16', '1', '1', 0);
INSERT INTO `system_menu` VALUES (146, 145, '主机终端', NULL, 2, 10, 1, 1, 1, 1, 'icon-code-square', NULL, 'terminal', '2023-12-04 23:38:01', '2024-03-07 19:09:44', '1', '1', 0);
INSERT INTO `system_menu` VALUES (148, 152, '连接日志', NULL, 2, 10, 1, 1, 1, 0, 'IconLink', NULL, 'connectLog', '2023-12-26 22:53:07', '2024-03-07 19:09:59', '1', '1', 0);
INSERT INTO `system_menu` VALUES (149, 148, '查询连接日志', 'asset:terminal-connect-log:management:query', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-12-26 22:53:08', '2024-10-15 11:28:08', '1', '1', 0);
INSERT INTO `system_menu` VALUES (151, 146, '连接终端', 'asset:terminal:access', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-12-27 18:56:33', '2024-10-15 15:52:13', '2', '2', 0);
INSERT INTO `system_menu` VALUES (152, 0, '运维审计', NULL, 1, 410, 1, 1, 1, 0, 'IconSafe', NULL, 'assetAuditModule', '2024-01-04 17:54:56', '2024-04-28 15:30:04', '1', '1', 0);
INSERT INTO `system_menu` VALUES (153, 148, '删除连接日志', 'asset:terminal-connect-log:management:delete', 3, 20, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-04 13:39:46', '2024-10-15 11:28:08', '1', '1', 0);
INSERT INTO `system_menu` VALUES (154, 148, '清空连接日志', 'asset:terminal-connect-log:management:clear', 3, 30, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-04 13:40:05', '2024-10-15 11:28:08', '1', '1', 0);
INSERT INTO `system_menu` VALUES (155, 148, '强制断开连接', 'asset:terminal-connect-log:management:force-offline', 3, 40, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-04 13:41:02', '2024-10-15 11:28:08', '1', '1', 0);
INSERT INTO `system_menu` VALUES (156, 122, '删除操作日志', 'infra:operator-log:delete', 3, 20, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-04 17:06:55', '2024-03-04 17:08:22', '1', '1', 0);
INSERT INTO `system_menu` VALUES (157, 122, '清空操作日志', 'infra:operator-log:management:clear', 3, 30, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-04 17:07:25', '2024-04-11 11:16:17', '1', '2', 0);
INSERT INTO `system_menu` VALUES (158, 152, '文件操作日志', NULL, 2, 40, 1, 1, 1, 0, 'IconFile', NULL, 'sftpLog', '2024-03-05 15:30:13', '2024-08-04 20:23:19', '1', '1', 0);
INSERT INTO `system_menu` VALUES (159, 158, '查询文件操作日志', 'asset:terminal-sftp-log:management:query', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-05 15:31:02', '2024-04-12 14:49:18', '1', '1', 0);
INSERT INTO `system_menu` VALUES (160, 158, '删除文件操作日志', 'asset:terminal-sftp-log:management:delete', 3, 20, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-05 15:31:17', '2024-04-12 14:49:21', '1', '1', 0);
INSERT INTO `system_menu` VALUES (161, 176, '执行模板', NULL, 2, 80, 1, 1, 1, 0, 'IconBookmark', NULL, 'execTemplate', '2024-03-07 18:32:41', '2024-12-12 23:31:06', '1', '1', 0);
INSERT INTO `system_menu` VALUES (162, 161, '查询执行模板', 'asset:exec-template:query', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-07 18:32:41', '2024-03-07 18:32:41', '1', '1', 0);
INSERT INTO `system_menu` VALUES (163, 161, '创建执行模板', 'asset:exec-template:create', 3, 20, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-07 18:32:41', '2024-03-07 18:32:41', '1', '1', 0);
INSERT INTO `system_menu` VALUES (164, 161, '修改执行模板', 'asset:exec-template:update', 3, 30, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-07 18:32:41', '2024-03-07 18:32:41', '1', '1', 0);
INSERT INTO `system_menu` VALUES (165, 161, '删除执行模板', 'asset:exec-template:delete', 3, 40, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-07 18:32:41', '2024-03-07 18:32:41', '1', '1', 0);
INSERT INTO `system_menu` VALUES (167, 176, '执行日志', NULL, 2, 20, 1, 1, 1, 0, 'IconFindReplace', NULL, 'execCommandLog', '2024-03-13 15:08:23', '2024-12-12 23:35:30', '1', '1', 0);
INSERT INTO `system_menu` VALUES (168, 167, '查询执行日志', 'asset:exec-command-log:query', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-13 15:08:23', '2024-04-12 13:51:48', '1', '1', 0);
INSERT INTO `system_menu` VALUES (169, 167, '删除执行日志', 'asset:exec-command-log:delete', 3, 20, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-13 15:08:23', '2024-04-12 13:51:50', '1', '1', 0);
INSERT INTO `system_menu` VALUES (171, 167, '清理执行日志', 'asset:exec-command-log:management:clear', 3, 30, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-13 15:08:23', '2024-04-12 13:51:52', '1', '1', 0);
INSERT INTO `system_menu` VALUES (172, 176, '命令执行', NULL, 2, 10, 1, 1, 1, 0, 'icon-thunderbolt', NULL, 'execCommand', '2024-03-13 15:08:23', '2024-05-08 21:58:24', '1', '1', 0);
INSERT INTO `system_menu` VALUES (173, 172, '执行命令', 'asset:exec-command:exec', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-13 15:08:23', '2024-04-10 22:04:32', '1', '1', 0);
INSERT INTO `system_menu` VALUES (174, 167, '中断批量执行', 'asset:exec-command-log:interrupt', 3, 40, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-13 15:25:36', '2024-04-12 12:48:36', '1', '1', 0);
INSERT INTO `system_menu` VALUES (176, 0, '批量执行', NULL, 1, 420, 1, 1, 1, 0, 'icon-relation', NULL, 'execModule', '2024-04-10 16:13:27', '2024-04-28 15:30:31', '1', '1', 0);
INSERT INTO `system_menu` VALUES (177, 176, '任务列表', NULL, 2, 30, 1, 1, 1, 0, 'IconUnorderedList', NULL, 'execJob', '2024-04-10 16:13:27', '2024-12-12 23:34:35', '1', '1', 0);
INSERT INTO `system_menu` VALUES (178, 177, '查询计划任务', 'asset:exec-job:query', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2024-04-10 16:13:27', '2024-04-10 16:13:27', '1', '1', 0);
INSERT INTO `system_menu` VALUES (179, 177, '创建计划任务', 'asset:exec-job:create', 3, 20, 1, 1, 1, 0, NULL, NULL, NULL, '2024-04-10 16:13:27', '2024-04-10 16:13:27', '1', '1', 0);
INSERT INTO `system_menu` VALUES (180, 177, '修改计划任务', 'asset:exec-job:update', 3, 30, 1, 1, 1, 0, NULL, NULL, NULL, '2024-04-10 16:13:27', '2024-04-10 16:13:27', '1', '1', 0);
INSERT INTO `system_menu` VALUES (181, 177, '修改任务状态', 'asset:exec-job:update-status', 3, 40, 1, 1, 1, 0, NULL, NULL, NULL, '2024-04-10 16:13:27', '2024-04-10 16:13:27', '1', '1', 0);
INSERT INTO `system_menu` VALUES (182, 177, '删除计划任务', 'asset:exec-job:delete', 3, 50, 1, 1, 1, 0, NULL, NULL, NULL, '2024-04-10 16:13:27', '2024-04-10 16:13:27', '1', '1', 0);
INSERT INTO `system_menu` VALUES (183, 177, '手动执行任务', 'asset:exec-job:trigger', 3, 60, 1, 1, 1, 0, NULL, NULL, NULL, '2024-04-10 16:13:27', '2024-04-10 16:13:27', '1', '1', 0);
INSERT INTO `system_menu` VALUES (184, 176, '任务日志', NULL, 2, 40, 1, 1, 1, 0, 'icon-history', '', 'execJobLog', '2024-04-11 13:40:47', '2024-12-12 23:34:45', '2', '1', 0);
INSERT INTO `system_menu` VALUES (185, 176, '计划任务日志', NULL, 2, 50, 0, 1, 0, 1, NULL, NULL, 'execJobLogView', '2024-04-11 13:41:47', '2024-12-12 23:34:55', '2', '1', 0);
INSERT INTO `system_menu` VALUES (186, 184, '查询任务日志', 'asset:exec-job-log:query', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-13 15:08:23', '2024-04-12 13:52:02', '1', '1', 0);
INSERT INTO `system_menu` VALUES (187, 184, '删除任务日志', 'asset:exec-job-log:delete', 3, 20, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-13 15:08:23', '2024-04-12 13:51:59', '1', '1', 0);
INSERT INTO `system_menu` VALUES (189, 184, '清理任务日志', 'asset:exec-job-log:management:clear', 3, 30, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-13 15:08:23', '2024-04-12 13:51:58', '1', '1', 0);
INSERT INTO `system_menu` VALUES (190, 184, '中断计划任务', 'asset:exec-job-log:interrupt', 3, 40, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-13 15:08:23', '2024-04-12 00:00:33', '1', '1', 0);
INSERT INTO `system_menu` VALUES (191, 0, '提交bug', NULL, 1, 1020, 1, 1, 0, 1, 'IconBug', 'https://github.com/dromara/orion-visor/issues', NULL, '2024-04-26 11:30:18', '2024-06-12 14:03:29', '1', '1', 0);
INSERT INTO `system_menu` VALUES (192, 0, '点个赞~', NULL, 1, 1030, 1, 1, 0, 1, 'IconThumbUp', 'https://github.com/dromara/orion-visor', NULL, '2024-04-26 11:32:30', '2024-06-12 14:03:25', '1', '1', 0);
INSERT INTO `system_menu` VALUES (193, 0, '计划任务', NULL, 1, 430, 1, 1, 1, 0, 'IconCalendarClock', NULL, 'jobModule', '2024-04-28 15:31:24', '2024-12-12 23:31:52', '1', '1', 1);
INSERT INTO `system_menu` VALUES (194, 152, '在线会话', NULL, 2, 20, 1, 1, 1, 0, 'IconUserGroup', NULL, 'connectSession', '2024-05-07 11:12:17', '2024-05-07 11:12:35', '1', '1', 0);
INSERT INTO `system_menu` VALUES (195, 194, '查询在线会话', 'asset:terminal-connect-session:management:query', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2024-05-07 11:13:16', '2024-10-15 11:28:11', '1', '1', 0);
INSERT INTO `system_menu` VALUES (196, 194, '强制断开连接', 'asset:terminal-connect-session:management:force-offline', 3, 20, 1, 1, 1, 0, NULL, NULL, NULL, '2024-05-07 11:13:37', '2024-10-15 11:28:11', '1', '1', 0);
INSERT INTO `system_menu` VALUES (197, 176, '批量上传', NULL, 2, 60, 1, 1, 1, 0, 'IconUpload', NULL, 'batchUpload', '2024-05-08 22:12:23', '2024-12-12 23:34:11', '1', '1', 0);
INSERT INTO `system_menu` VALUES (198, 176, '上传任务', NULL, 2, 70, 1, 1, 1, 0, 'IconCloud', NULL, 'uploadTask', '2024-05-08 22:16:05', '2024-12-12 23:34:19', '1', '1', 0);
INSERT INTO `system_menu` VALUES (199, 197, '上传文件', 'asset:upload-task:upload', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2024-05-08 22:19:35', '2024-05-08 22:19:35', '1', '1', 0);
INSERT INTO `system_menu` VALUES (200, 198, '查询上传日志', 'asset:upload-task:query', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2024-05-08 22:20:01', '2024-05-08 22:20:01', '1', '1', 0);
INSERT INTO `system_menu` VALUES (201, 198, '删除上传日志', 'asset:upload-task:delete', 3, 20, 1, 1, 1, 0, NULL, NULL, NULL, '2024-05-08 22:20:26', '2024-05-08 22:20:26', '1', '1', 0);
INSERT INTO `system_menu` VALUES (202, 198, '清理上传日志', 'asset:upload-task:management:clear', 3, 30, 1, 1, 1, 0, NULL, NULL, NULL, '2024-05-08 22:20:37', '2024-05-08 22:20:37', '1', '1', 0);
INSERT INTO `system_menu` VALUES (203, 12, '系统设置', NULL, 2, 40, 1, 1, 1, 0, 'IconSettings', NULL, 'systemSetting', '2024-06-17 20:46:15', '2024-06-17 20:46:15', '1', '1', 0);
INSERT INTO `system_menu` VALUES (265, 203, '更新系统设置', 'infra:system-setting:update', 3, 20, 1, 1, 1, 0, NULL, NULL, NULL, '2024-10-09 19:25:28', '2024-10-09 19:25:28', '1', '1', 0);
INSERT INTO `system_menu` VALUES (271, 177, '修改任务执行用户', 'asset:exec-job:update-exec-user', 3, 45, 1, 1, 1, 0, NULL, NULL, NULL, '2024-12-13 00:18:13', '2024-12-13 00:18:13', '1', '1', 0);
INSERT INTO `system_menu` VALUES (1, 0, '仪表盘', NULL, 1, 10, 1, 1, 1, 0, 'IconDashboard', NULL, 'dashboard', '2023-07-28 10:51:50', '2024-08-11 00:05:44', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (2, 1, '工作台', NULL, 2, 10, 1, 1, 1, 0, 'IconComputer', NULL, 'workplace', '2023-07-28 10:51:50', '2024-08-11 00:05:44', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (5, 0, '用户管理', NULL, 1, 700, 1, 1, 1, 0, 'icon-user', NULL, 'userModule', '2023-07-28 10:55:38', '2024-06-17 20:45:29', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (8, 0, '项目地址', NULL, 1, 1000, 1, 1, 1, 0, 'icon-link', 'https://visor.orionsec.cn', '', '2023-07-28 11:04:59', '2024-08-29 18:10:57', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (10, 5, '角色管理', NULL, 2, 10, 1, 1, 1, 0, 'IconUserGroup', '', 'role', '2023-07-28 10:55:52', '2024-03-07 19:10:13', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (12, 0, '系统管理', NULL, 1, 800, 1, 1, 1, 0, 'icon-tool', NULL, 'systemModule', '2023-08-02 18:24:24', '2024-06-17 20:45:39', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (13, 12, '系统菜单', '', 2, 10, 1, 1, 1, 0, 'icon-menu', NULL, 'systemMenu', '2023-08-02 18:29:01', '2024-03-07 22:25:00', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (20, 10, '创建角色', 'infra:system-role:create', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-15 16:36:54', '2023-10-27 01:20:46', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (21, 10, '修改角色', 'infra:system-role:update', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-15 16:37:33', '2023-10-27 01:20:46', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (22, 10, '更新状态', 'infra:system-role:update-status', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-15 16:37:58', '2023-10-27 01:20:46', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (23, 10, '查询角色', 'infra:system-role:query', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-15 16:38:26', '2023-10-27 01:20:46', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (24, 10, '分配菜单', 'infra:system-role:grant-menu', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-15 16:39:41', '2023-10-27 01:20:46', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (25, 10, '删除角色', 'infra:system-role:delete', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-15 16:40:45', '2023-10-27 01:20:46', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (26, 13, '创建菜单', 'infra:system-menu:create', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-15 16:41:30', '2023-10-27 01:16:10', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (27, 13, '修改菜单', 'infra:system-menu:update', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-15 16:41:55', '2023-10-27 01:16:10', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (28, 13, '修改状态', 'infra:system-menu:update-status', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-15 16:42:41', '2023-10-27 01:16:10', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (29, 13, '查询菜单', 'infra:system-menu:query', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-15 16:42:57', '2023-10-27 01:16:10', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (30, 13, '删除菜单', 'infra:system-menu:delete', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-15 16:43:16', '2023-10-27 01:16:10', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (48, 5, '用户管理', NULL, 2, 10, 1, 1, 1, 0, 'IconUserAdd', NULL, 'user', '2023-08-16 10:19:24', '2024-03-07 19:10:21', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (49, 48, '创建用户', 'infra:system-user:create', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-16 10:19:24', '2023-10-27 01:20:46', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (50, 48, '修改用户', 'infra:system-user:update', 3, 20, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-16 10:19:24', '2023-10-27 01:20:46', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (51, 48, '查询用户', 'infra:system-user:query', 3, 30, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-16 10:19:24', '2023-10-27 01:20:46', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (52, 48, '删除用户', 'infra:system-user:delete', 3, 40, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-16 10:19:24', '2023-10-27 01:20:46', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (53, 13, '刷新缓存', 'infra:system-menu:management:refresh-cache', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-16 10:29:10', '2023-12-27 12:39:48', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (60, 48, '修改用户状态', 'infra:system-user:update-status', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-16 11:49:04', '2023-10-27 01:20:46', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (61, 48, '分配用户角色', 'infra:system-user:grant-role', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-16 11:49:23', '2023-10-27 01:20:46', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (62, 48, '重置用户密码', 'infra:system-user:management:reset-password', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-08-16 11:49:50', '2023-12-27 12:42:10', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (63, 0, '资产管理', NULL, 1, 300, 1, 1, 1, 0, 'IconStorage', NULL, 'assetModule', '2023-09-11 14:17:31', '2024-04-03 00:20:16', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (64, 63, '主机管理', NULL, 2, 10, 1, 1, 1, 0, 'IconDesktop', NULL, 'hostList', '2023-09-11 14:17:31', '2024-07-03 18:52:10', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (65, 64, '查询主机', 'asset:host:query', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-09-11 14:17:31', '2023-10-27 01:15:14', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (66, 64, '创建主机', 'asset:host:create', 3, 20, 1, 1, 1, 0, NULL, NULL, NULL, '2023-09-11 14:17:31', '2023-10-27 01:15:14', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (67, 64, '修改主机', 'asset:host:update', 3, 30, 1, 1, 1, 0, NULL, NULL, NULL, '2023-09-11 14:17:31', '2023-10-27 01:15:14', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (68, 64, '删除主机', 'asset:host:delete', 3, 40, 1, 1, 1, 0, NULL, NULL, NULL, '2023-09-11 14:17:31', '2023-10-27 01:15:14', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (69, 64, '修改状态', 'asset:host:update-status', 3, 50, 1, 1, 1, 0, NULL, NULL, NULL, '2024-07-22 14:49:13', '2024-07-22 14:49:22', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (70, 64, '修改配置', 'asset:host:update-config', 3, 60, 1, 1, 1, 0, NULL, NULL, NULL, '2023-09-14 16:27:18', '2023-10-27 01:15:14', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (72, 63, '主机身份', NULL, 2, 30, 1, 1, 1, 0, 'IconIdcard', NULL, 'hostIdentity', '2023-09-20 11:47:18', '2024-07-03 18:52:15', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (73, 72, '查询主机身份', 'asset:host-identity:query', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-09-20 11:47:18', '2023-10-27 01:15:14', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (74, 72, '创建主机身份', 'asset:host-identity:create', 3, 20, 1, 1, 1, 0, NULL, NULL, NULL, '2023-09-20 11:47:18', '2023-10-27 01:15:14', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (75, 72, '修改主机身份', 'asset:host-identity:update', 3, 30, 1, 1, 1, 0, NULL, NULL, NULL, '2023-09-20 11:47:18', '2023-10-27 01:15:14', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (76, 72, '删除主机身份', 'asset:host-identity:delete', 3, 40, 1, 1, 1, 0, NULL, NULL, NULL, '2023-09-20 11:47:18', '2023-10-27 01:15:14', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (79, 63, '主机密钥', NULL, 2, 20, 1, 1, 1, 0, 'IconLock', NULL, 'hostKey', '2023-09-20 11:47:18', '2024-07-03 18:52:13', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (80, 79, '查询主机密钥', 'asset:host-key:query', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-09-20 11:47:18', '2024-05-17 12:49:54', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (81, 79, '创建主机密钥', 'asset:host-key:create', 3, 20, 1, 1, 1, 0, NULL, NULL, NULL, '2023-09-20 11:47:18', '2024-05-17 12:49:56', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (82, 79, '修改主机密钥', 'asset:host-key:update', 3, 30, 1, 1, 1, 0, NULL, NULL, NULL, '2023-09-20 11:47:18', '2024-05-17 12:49:59', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (83, 79, '删除主机密钥', 'asset:host-key:delete', 3, 40, 1, 1, 1, 0, NULL, NULL, NULL, '2023-09-20 11:47:18', '2024-05-17 12:50:01', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (84, 79, '查询主机密钥详情', 'asset:host-key:query-detail', 3, 50, 1, 1, 1, 0, NULL, NULL, NULL, '2023-09-20 11:47:18', '2024-05-17 12:50:05', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (94, 5, '个人中心', NULL, 2, 20, 0, 1, 0, 0, 'IconUser', NULL, 'userInfo', '2023-10-08 18:53:01', '2023-11-02 11:47:34', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (97, 12, '数据字典项', NULL, 2, 20, 1, 1, 1, 0, 'IconBook', NULL, 'dictKey', '2023-10-17 11:38:13', '2024-03-07 19:10:45', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (99, 97, '创建字典配置项', 'infra:dict-key:create', 3, 110, 1, 1, 1, 0, NULL, NULL, NULL, '2023-10-17 11:38:13', '2023-10-27 01:16:10', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (100, 97, '修改字典配置项', 'infra:dict-key:update', 3, 120, 1, 1, 1, 0, NULL, NULL, NULL, '2023-10-17 11:38:13', '2023-10-27 01:16:10', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (101, 97, '删除字典配置项', 'infra:dict-key:delete', 3, 130, 1, 1, 1, 0, NULL, NULL, NULL, '2023-10-17 11:38:13', '2023-10-27 01:16:10', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (105, 12, '数据字典值', NULL, 2, 30, 1, 1, 1, 0, 'IconNav', NULL, 'dictValue', '2023-10-17 11:38:13', '2024-03-07 19:10:49', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (106, 105, '查询字典配置值', 'infra:dict-value:query', 3, 210, 1, 1, 1, 0, NULL, NULL, NULL, '2023-10-17 11:38:18', '2023-10-27 01:16:10', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (107, 105, '创建字典配置值', 'infra:dict-value:create', 3, 220, 1, 1, 1, 0, NULL, NULL, NULL, '2023-10-17 11:38:18', '2023-10-27 01:16:10', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (108, 105, '修改字典配置值', 'infra:dict-value:update', 3, 230, 1, 1, 1, 0, NULL, NULL, NULL, '2023-10-17 11:38:18', '2023-10-27 01:16:10', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (109, 105, '删除字典配置值', 'infra:dict-value:delete', 3, 240, 1, 1, 1, 0, NULL, NULL, NULL, '2023-10-17 11:38:18', '2023-10-27 01:16:10', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (120, 97, '查询字典配置项', 'infra:dict-key:query', 3, 100, 1, 1, 1, 0, NULL, NULL, NULL, '2023-10-20 11:27:12', '2023-12-27 18:39:22', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (121, 97, '刷新缓存', 'infra:dict-key:management:refresh-cache', 3, 140, 1, 1, 1, 0, NULL, NULL, NULL, '2023-10-27 15:50:04', '2023-12-27 12:40:12', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (122, 5, '操作日志', NULL, 2, 30, 1, 1, 1, 0, 'IconCalendarClock', NULL, 'operatorLog', '2023-11-01 14:09:36', '2024-03-07 19:10:30', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (123, 122, '查询操作日志', 'infra:operator-log:query', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-11-02 11:22:54', '2023-11-02 11:22:54', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (124, 48, '查询用户会话', 'infra:system-user:query-session', 3, 50, 1, 1, 1, 0, NULL, NULL, NULL, '2023-11-02 11:24:14', '2023-11-02 11:24:14', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (125, 48, '下线用户会话', 'infra:system-user:management:offline-session', 3, 60, 1, 1, 1, 0, NULL, NULL, NULL, '2023-11-02 11:24:37', '2023-12-27 12:39:17', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (126, 48, '查询用户登录日志', 'infra:system-user:login-history', 3, 70, 1, 1, 1, 0, NULL, NULL, NULL, '2023-12-27 15:05:37', '2023-12-27 15:07:19', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (129, 64, '编辑主机分组', 'asset:host-group:update', 3, 100, 1, 1, 1, 0, NULL, NULL, NULL, '2023-11-13 18:16:32', '2023-12-01 01:47:58', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (133, 144, '主机分组授权', 'asset:host-group:grant', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-11-23 18:08:57', '2023-11-30 22:39:53', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (142, 144, '主机密钥授权', 'asset:host-key:grant', 3, 20, 1, 1, 1, 0, NULL, NULL, NULL, '2023-11-30 21:06:13', '2024-05-17 12:50:14', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (143, 144, '主机身份授权', 'asset:host-identity:grant', 3, 30, 1, 1, 1, 0, NULL, NULL, NULL, '2023-11-30 21:06:26', '2023-11-30 22:40:11', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (144, 63, '资产授权', NULL, 2, 50, 1, 1, 1, 0, 'icon-safe', NULL, 'assetGrant', '2023-11-30 22:38:57', '2024-07-03 18:52:18', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (145, 0, '主机运维', NULL, 1, 400, 1, 1, 1, 1, 'IconDesktop', NULL, 'hostModule', '2023-12-04 23:33:25', '2024-04-03 00:57:16', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (146, 145, '主机终端', NULL, 2, 10, 1, 1, 1, 1, 'icon-code-square', NULL, 'terminal', '2023-12-04 23:38:01', '2024-03-07 19:09:44', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (148, 152, '连接日志', NULL, 2, 10, 1, 1, 1, 0, 'IconLink', NULL, 'connectLog', '2023-12-26 22:53:07', '2024-03-07 19:09:59', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (149, 148, '查询连接日志', 'asset:terminal-connect-log:management:query', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-12-26 22:53:08', '2024-10-15 11:28:08', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (151, 146, '连接终端', 'asset:terminal:access', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2023-12-27 18:56:33', '2024-10-15 15:52:13', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (152, 0, '运维审计', NULL, 1, 410, 1, 1, 1, 0, 'IconSafe', NULL, 'assetAuditModule', '2024-01-04 17:54:56', '2024-04-28 15:30:04', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (153, 148, '删除连接日志', 'asset:terminal-connect-log:management:delete', 3, 20, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-04 13:39:46', '2024-10-15 11:28:08', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (154, 148, '清空连接日志', 'asset:terminal-connect-log:management:clear', 3, 30, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-04 13:40:05', '2024-10-15 11:28:08', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (155, 148, '强制断开连接', 'asset:terminal-connect-log:management:force-offline', 3, 40, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-04 13:41:02', '2024-10-15 11:28:08', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (156, 122, '删除操作日志', 'infra:operator-log:delete', 3, 20, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-04 17:06:55', '2024-03-04 17:08:22', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (157, 122, '清空操作日志', 'infra:operator-log:management:clear', 3, 30, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-04 17:07:25', '2024-04-11 11:16:17', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (158, 152, '文件操作日志', NULL, 2, 40, 1, 1, 1, 0, 'IconFile', NULL, 'sftpLog', '2024-03-05 15:30:13', '2024-08-04 20:23:19', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (159, 158, '查询文件操作日志', 'asset:terminal-sftp-log:management:query', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-05 15:31:02', '2024-04-12 14:49:18', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (160, 158, '删除文件操作日志', 'asset:terminal-sftp-log:management:delete', 3, 20, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-05 15:31:17', '2024-04-12 14:49:21', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (161, 176, '执行模板', NULL, 2, 80, 1, 1, 1, 0, 'IconBookmark', NULL, 'execTemplate', '2024-03-07 18:32:41', '2024-12-12 23:31:06', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (162, 161, '查询执行模板', 'asset:exec-template:query', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-07 18:32:41', '2024-03-07 18:32:41', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (163, 161, '创建执行模板', 'asset:exec-template:create', 3, 20, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-07 18:32:41', '2024-03-07 18:32:41', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (164, 161, '修改执行模板', 'asset:exec-template:update', 3, 30, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-07 18:32:41', '2024-03-07 18:32:41', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (165, 161, '删除执行模板', 'asset:exec-template:delete', 3, 40, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-07 18:32:41', '2024-03-07 18:32:41', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (167, 176, '执行日志', NULL, 2, 20, 1, 1, 1, 0, 'IconFindReplace', NULL, 'execCommandLog', '2024-03-13 15:08:23', '2024-12-12 23:35:30', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (168, 167, '查询执行日志', 'asset:exec-command-log:query', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-13 15:08:23', '2024-04-12 13:51:48', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (169, 167, '删除执行日志', 'asset:exec-command-log:delete', 3, 20, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-13 15:08:23', '2024-04-12 13:51:50', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (171, 167, '清理执行日志', 'asset:exec-command-log:management:clear', 3, 30, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-13 15:08:23', '2024-04-12 13:51:52', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (172, 176, '命令执行', NULL, 2, 10, 1, 1, 1, 0, 'icon-thunderbolt', NULL, 'execCommand', '2024-03-13 15:08:23', '2024-05-08 21:58:24', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (173, 172, '执行命令', 'asset:exec-command:exec', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-13 15:08:23', '2024-04-10 22:04:32', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (174, 167, '中断批量执行', 'asset:exec-command-log:interrupt', 3, 40, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-13 15:25:36', '2024-04-12 12:48:36', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (176, 0, '批量执行', NULL, 1, 420, 1, 1, 1, 0, 'icon-relation', NULL, 'execModule', '2024-04-10 16:13:27', '2024-04-28 15:30:31', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (177, 176, '任务列表', NULL, 2, 30, 1, 1, 1, 0, 'IconUnorderedList', NULL, 'execJob', '2024-04-10 16:13:27', '2024-12-12 23:34:35', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (178, 177, '查询计划任务', 'asset:exec-job:query', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2024-04-10 16:13:27', '2024-04-10 16:13:27', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (179, 177, '创建计划任务', 'asset:exec-job:create', 3, 20, 1, 1, 1, 0, NULL, NULL, NULL, '2024-04-10 16:13:27', '2024-04-10 16:13:27', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (180, 177, '修改计划任务', 'asset:exec-job:update', 3, 30, 1, 1, 1, 0, NULL, NULL, NULL, '2024-04-10 16:13:27', '2024-04-10 16:13:27', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (181, 177, '修改任务状态', 'asset:exec-job:update-status', 3, 40, 1, 1, 1, 0, NULL, NULL, NULL, '2024-04-10 16:13:27', '2024-04-10 16:13:27', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (182, 177, '删除计划任务', 'asset:exec-job:delete', 3, 50, 1, 1, 1, 0, NULL, NULL, NULL, '2024-04-10 16:13:27', '2024-04-10 16:13:27', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (183, 177, '手动执行任务', 'asset:exec-job:trigger', 3, 60, 1, 1, 1, 0, NULL, NULL, NULL, '2024-04-10 16:13:27', '2024-04-10 16:13:27', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (184, 176, '任务日志', NULL, 2, 40, 1, 1, 1, 0, 'icon-history', '', 'execJobLog', '2024-04-11 13:40:47', '2024-12-12 23:34:45', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (185, 176, '计划任务日志', NULL, 2, 50, 0, 1, 0, 1, NULL, NULL, 'execJobLogView', '2024-04-11 13:41:47', '2024-12-12 23:34:55', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (186, 184, '查询任务日志', 'asset:exec-job-log:query', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-13 15:08:23', '2024-04-12 13:52:02', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (187, 184, '删除任务日志', 'asset:exec-job-log:delete', 3, 20, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-13 15:08:23', '2024-04-12 13:51:59', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (189, 184, '清理任务日志', 'asset:exec-job-log:management:clear', 3, 30, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-13 15:08:23', '2024-04-12 13:51:58', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (190, 184, '中断计划任务', 'asset:exec-job-log:interrupt', 3, 40, 1, 1, 1, 0, NULL, NULL, NULL, '2024-03-13 15:08:23', '2024-04-12 00:00:33', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (191, 0, '提交bug', NULL, 1, 1020, 1, 1, 0, 1, 'IconBug', 'https://github.com/dromara/orion-visor/issues', NULL, '2024-04-26 11:30:18', '2024-06-12 14:03:29', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (192, 0, '点个赞~', NULL, 1, 1030, 1, 1, 0, 1, 'IconThumbUp', 'https://github.com/dromara/orion-visor', NULL, '2024-04-26 11:32:30', '2024-06-12 14:03:25', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (194, 152, '在线会话', NULL, 2, 20, 1, 1, 1, 0, 'IconUserGroup', NULL, 'connectSession', '2024-05-07 11:12:17', '2024-05-07 11:12:35', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (195, 194, '查询在线会话', 'asset:terminal-connect-session:management:query', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2024-05-07 11:13:16', '2024-10-15 11:28:11', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (196, 194, '强制断开连接', 'asset:terminal-connect-session:management:force-offline', 3, 20, 1, 1, 1, 0, NULL, NULL, NULL, '2024-05-07 11:13:37', '2024-10-15 11:28:11', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (197, 176, '批量上传', NULL, 2, 60, 1, 1, 1, 0, 'IconUpload', NULL, 'batchUpload', '2024-05-08 22:12:23', '2024-12-12 23:34:11', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (198, 176, '上传任务', NULL, 2, 70, 1, 1, 1, 0, 'IconCloud', NULL, 'uploadTask', '2024-05-08 22:16:05', '2024-12-12 23:34:19', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (199, 197, '上传文件', 'asset:upload-task:upload', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2024-05-08 22:19:35', '2024-05-08 22:19:35', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (200, 198, '查询上传日志', 'asset:upload-task:query', 3, 10, 1, 1, 1, 0, NULL, NULL, NULL, '2024-05-08 22:20:01', '2024-05-08 22:20:01', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (201, 198, '删除上传日志', 'asset:upload-task:delete', 3, 20, 1, 1, 1, 0, NULL, NULL, NULL, '2024-05-08 22:20:26', '2024-05-08 22:20:26', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (202, 198, '清理上传日志', 'asset:upload-task:management:clear', 3, 30, 1, 1, 1, 0, NULL, NULL, NULL, '2024-05-08 22:20:37', '2024-05-08 22:20:37', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (203, 12, '系统设置', NULL, 2, 40, 1, 1, 1, 0, 'IconSettings', NULL, 'systemSetting', '2024-06-17 20:46:15', '2024-06-17 20:46:15', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (265, 203, '更新系统设置', 'infra:system-setting:update', 3, 20, 1, 1, 1, 0, NULL, NULL, NULL, '2024-10-09 19:25:28', '2024-10-09 19:25:28', 'admin', 'admin', 0);
INSERT INTO `system_menu` VALUES (271, 177, '修改任务执行用户', 'asset:exec-job:update-exec-user', 3, 45, 1, 1, 1, 0, NULL, NULL, NULL, '2024-12-13 00:18:13', '2024-12-13 00:18:13', 'admin', 'admin', 0);