Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
lijiahangmax
2024-08-11 23:07:14 +08:00
26 changed files with 88 additions and 68 deletions

View File

@@ -1,7 +1,7 @@
version: '3.3' version: '3.3'
services: services:
service: service:
image: registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-service:2.1.2 image: registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-service:2.1.3
privileged: true privileged: true
ports: ports:
- 1081:80 - 1081:80
@@ -32,7 +32,7 @@ services:
- mysql - mysql
- redis - redis
mysql: mysql:
image: registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-mysql:2.1.2 image: registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-mysql:2.1.3
privileged: true privileged: true
ports: ports:
- 3307:3306 - 3307:3306
@@ -52,7 +52,7 @@ services:
retries: 10 retries: 10
start_period: 3s start_period: 3s
redis: redis:
image: registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-redis:2.1.2 image: registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-redis:2.1.3
privileged: true privileged: true
ports: ports:
- 6380:6379 - 6380:6379

View File

@@ -1,7 +1,7 @@
version: '3.3' version: '3.3'
services: services:
service: service:
image: registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-service:2.1.2 image: registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-service:2.1.3
privileged: true privileged: true
ports: ports:
- ${SERVICE_PORT:-1081}:80 - ${SERVICE_PORT:-1081}:80
@@ -32,7 +32,7 @@ services:
- mysql - mysql
- redis - redis
mysql: mysql:
image: registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-mysql:2.1.2 image: registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-mysql:2.1.3
privileged: true privileged: true
ports: ports:
- 3307:3306 - 3307:3306
@@ -52,7 +52,7 @@ services:
retries: 10 retries: 10
start_period: 3s start_period: 3s
redis: redis:
image: registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-redis:2.1.2 image: registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-redis:2.1.3
privileged: true privileged: true
ports: ports:
- 6380:6379 - 6380:6379
@@ -68,7 +68,7 @@ services:
retries: 10 retries: 10
start_period: 3s start_period: 3s
adminer: adminer:
image: registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-adminer:2.1.2 image: registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-adminer:2.1.3
ports: ports:
- 8081:8080 - 8081:8080
depends_on: depends_on:

View File

@@ -1,5 +1,4 @@
#/bin/bash #/bin/bash
version=2.1.2 version=2.1.3
docker build -t orion-visor-adminer:${version} . docker build -t orion-visor-adminer:${version} .
docker tag orion-visor-adminer:${version} registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-adminer:${version} docker tag orion-visor-adminer:${version} registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-adminer:${version}
docker push registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-adminer:${version}

View File

@@ -1,7 +1,6 @@
#/bin/bash #/bin/bash
version=2.1.2 version=2.1.3
cp -r ../../sql ./sql cp -r ../../sql ./sql
docker build -t orion-visor-mysql:${version} . docker build -t orion-visor-mysql:${version} .
rm -rf ./sql rm -rf ./sql
docker tag orion-visor-mysql:${version} registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-mysql:${version} docker tag orion-visor-mysql:${version} registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-mysql:${version}
docker push registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-mysql:${version}

6
docker/push.sh Normal file
View File

@@ -0,0 +1,6 @@
#/bin/bash
version=2.1.3
docker push registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-adminer:${version}
docker push registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-mysql:${version}
docker push registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-redis:${version}
docker push registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-service:${version}

View File

@@ -1,5 +1,4 @@
#/bin/bash #/bin/bash
version=2.1.2 version=2.1.3
docker build -t orion-visor-redis:${version} . docker build -t orion-visor-redis:${version} .
docker tag orion-visor-redis:${version} registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-redis:${version} docker tag orion-visor-redis:${version} registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-redis:${version}
docker push registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-redis:${version}

View File

@@ -1,9 +1,8 @@
#/bin/bash #/bin/bash
version=2.1.2 version=2.1.3
mv ../../orion-visor-launch/target/orion-visor-launch.jar ./orion-visor-launch.jar mv ../../orion-visor-launch/target/orion-visor-launch.jar ./orion-visor-launch.jar
mv ../../orion-visor-ui/dist ./dist mv ../../orion-visor-ui/dist ./dist
docker build -t orion-visor-service:${version} . docker build -t orion-visor-service:${version} .
rm -rf ./orion-visor-launch.jar rm -rf ./orion-visor-launch.jar
rm -rf ./dist rm -rf ./dist
docker tag orion-visor-service:${version} registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-service:${version} docker tag orion-visor-service:${version} registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-service:${version}
docker push registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-service:${version}

View File

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

View File

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

View File

@@ -5,6 +5,7 @@ import com.orion.lang.exception.argument.InvalidArgumentException;
import com.orion.lang.utils.Exceptions; import com.orion.lang.utils.Exceptions;
import com.orion.lang.utils.Strings; import com.orion.lang.utils.Strings;
import com.orion.net.host.SessionHolder; import com.orion.net.host.SessionHolder;
import com.orion.net.host.SessionLogger;
import com.orion.net.host.SessionStore; import com.orion.net.host.SessionStore;
import com.orion.visor.framework.common.constant.Const; import com.orion.visor.framework.common.constant.Const;
import com.orion.visor.framework.common.utils.CryptoUtils; import com.orion.visor.framework.common.utils.CryptoUtils;
@@ -40,6 +41,7 @@ public class SessionStores {
CURRENT_ADDRESS.set(address); CURRENT_ADDRESS.set(address);
// 创建会话 // 创建会话
SessionHolder sessionHolder = SessionHolder.create(); SessionHolder sessionHolder = SessionHolder.create();
sessionHolder.setLogger(SessionLogger.INFO);
SessionStore session = createSessionStore(conn, sessionHolder); SessionStore session = createSessionStore(conn, sessionHolder);
// 连接 // 连接
session.connect(); session.connect();

View File

@@ -102,8 +102,8 @@ public class TerminalPreferenceStrategy extends AbstractGenericsDataStrategy<Ter
String actionBarSetting = TerminalPreferenceModel.ActionBarSettingModel.builder() String actionBarSetting = TerminalPreferenceModel.ActionBarSettingModel.builder()
.commandInput(false) .commandInput(false)
.connectStatus(true) .connectStatus(true)
.toTop(true) .toTop(false)
.toBottom(true) .toBottom(false)
.selectAll(false) .selectAll(false)
.search(true) .search(true)
.copy(true) .copy(true)
@@ -113,8 +113,8 @@ public class TerminalPreferenceStrategy extends AbstractGenericsDataStrategy<Ter
.fontSizePlus(false) .fontSizePlus(false)
.fontSizeSubtract(false) .fontSizeSubtract(false)
.commandEditor(true) .commandEditor(true)
.fontSizePlus(true) .fontSizePlus(false)
.fontSizeSubtract(true) .fontSizeSubtract(false)
.openSftp(true) .openSftp(true)
.uploadFile(true) .uploadFile(true)
.clear(true) .clear(true)

View File

@@ -1,6 +1,6 @@
VITE_API_BASE_URL= 'http://127.0.0.1:9200/orion-visor/api' VITE_API_BASE_URL= 'http://127.0.0.1:9200/orion-visor/api'
VITE_WS_BASE_URL= 'ws://127.0.0.1:9200/orion-visor/keep-alive' VITE_WS_BASE_URL= 'ws://127.0.0.1:9200/orion-visor/keep-alive'
VITE_APP_VERSION= '2.1.2' VITE_APP_VERSION= '2.1.3'
VITE_APP_RELEASE= 'community' VITE_APP_RELEASE= 'community'
VITE_SFTP_PREVIEW_MB= 2 VITE_SFTP_PREVIEW_MB= 2
VITE_DEMO_MODE= false VITE_DEMO_MODE= false

View File

@@ -1,6 +1,6 @@
VITE_API_BASE_URL= '/orion-visor/api' VITE_API_BASE_URL= '/orion-visor/api'
VITE_WS_BASE_URL= '/orion-visor/keep-alive' VITE_WS_BASE_URL= '/orion-visor/keep-alive'
VITE_APP_VERSION= '2.1.2' VITE_APP_VERSION= '2.1.3'
VITE_APP_RELEASE= 'community' VITE_APP_RELEASE= 'community'
VITE_SFTP_PREVIEW_MB= 2 VITE_SFTP_PREVIEW_MB= 2
VITE_DEMO_MODE= false VITE_DEMO_MODE= false

View File

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

View File

@@ -175,7 +175,7 @@
import { downloadExecCommandLogFile } from '@/api/exec/exec-command-log'; import { downloadExecCommandLogFile } from '@/api/exec/exec-command-log';
import { downloadExecJobLogFile } from '@/api/job/exec-job-log'; import { downloadExecJobLogFile } from '@/api/job/exec-job-log';
import { downloadFile } from '@/utils/file'; import { downloadFile } from '@/utils/file';
import XtermSearchModal from '@/components/xtrem/search-modal/index.vue'; import XtermSearchModal from '@/components/xterm/search-modal/index.vue';
import '@xterm/xterm/css/xterm.css'; import '@xterm/xterm/css/xterm.css';
const props = defineProps<{ const props = defineProps<{

View File

@@ -8,7 +8,7 @@ import type { ImageAddon } from '@xterm/addon-image';
import type { Unicode11Addon } from '@xterm/addon-unicode11'; import type { Unicode11Addon } from '@xterm/addon-unicode11';
// 默认字体 // 默认字体
export const defaultFontFamily = 'Courier New, Monaco, courier, monospace'; export const defaultFontFamily = 'Consolas, Courier New, Monaco, courier, monospace';
// 默认主题 // 默认主题
export const defaultTheme = { export const defaultTheme = {

View File

@@ -199,6 +199,7 @@
height: var(--header-height); height: var(--header-height);
display: flex; display: flex;
align-items: center; align-items: center;
transition: all .3s;
&::before { &::before {
display: none; display: none;

View File

@@ -11,7 +11,10 @@
<!-- 右侧按钮 --> <!-- 右侧按钮 -->
<template #extra> <template #extra>
<a-space class="panel-extra"> <a-space class="panel-extra">
<span class="extra-icon" @click="close"> <!-- 关闭 -->
<span class="extra-icon"
title="关闭面板"
@click="close">
<icon-close /> <icon-close />
</span> </span>
</a-space> </a-space>
@@ -21,7 +24,10 @@
<!-- 标题 --> <!-- 标题 -->
<template #title> <template #title>
<span class="tab-title-wrapper usn" <span class="tab-title-wrapper usn"
:style="{ 'border-bottom': `2px ${tab.color || 'transparent'} solid` }" :style="{
'--color': getDictValue(tabColorKey, tab.color, 'color', 'transparent'),
'--bg': panel.active === tab.key ? getDictValue(tabColorKey, tab.color, 'bg', 'transparent') : 'transparent',
}"
@dblclick="copySession(tab, index)"> @dblclick="copySession(tab, index)">
<span class="tab-title-icon"> <span class="tab-title-icon">
<component :is="tab.icon" /> <component :is="tab.icon" />
@@ -47,8 +53,8 @@
<script lang="ts" setup> <script lang="ts" setup>
import type { ISshSession, ITerminalTabManager, TerminalPanelTabItem } from '../../types/define'; import type { ISshSession, ITerminalTabManager, TerminalPanelTabItem } from '../../types/define';
import { watch } from 'vue'; import { watch } from 'vue';
import { useTerminalStore } from '@/store'; import { useDictStore, useTerminalStore } from '@/store';
import { PanelSessionType } from '../../types/const'; import { tabColorKey, PanelSessionType } from '../../types/const';
import SshView from '../ssh/ssh-view.vue'; import SshView from '../ssh/ssh-view.vue';
import SftpView from '../sftp/sftp-view.vue'; import SftpView from '../sftp/sftp-view.vue';
@@ -60,6 +66,7 @@
const emits = defineEmits(['close', 'openNewConnect']); const emits = defineEmits(['close', 'openNewConnect']);
const { sessionManager, copySession } = useTerminalStore(); const { sessionManager, copySession } = useTerminalStore();
const { getDictValue } = useDictStore();
// 监听 tab 切换 // 监听 tab 切换
watch(() => props.panel.active, (active, before) => { watch(() => props.panel.active, (active, before) => {
@@ -107,12 +114,28 @@
display: flex; display: flex;
align-items: center; align-items: center;
padding: 11px 18px 9px 14px; padding: 11px 18px 9px 14px;
margin: 0 2px; background: var(--bg);
position: relative;
transition: all .3s;
.tab-title-icon { .tab-title-icon {
font-size: 16px; font-size: 16px;
margin-right: 6px; margin-right: 6px;
} }
&:hover{
filter: brightness(1.04);
}
&::after {
content: '';
width: calc(100% - 3px);
height: 2px;
background: var(--color);
position: absolute;
left: 1px;
bottom: -1px;
}
} }
.panel-extra { .panel-extra {

View File

@@ -17,7 +17,7 @@
<a-form class="terminal-setting-form" <a-form class="terminal-setting-form"
:model="formModel" :model="formModel"
layout="vertical"> layout="vertical">
<a-space> <a-space size="large">
<!-- 顶部操作按钮 --> <!-- 顶部操作按钮 -->
<a-form-item field="actions" label="顶部操作按钮"> <a-form-item field="actions" label="顶部操作按钮">
<icon-actions class="form-item-actions" <icon-actions class="form-item-actions"
@@ -27,7 +27,6 @@
<!-- 命令输入框 --> <!-- 命令输入框 -->
<a-form-item field="commandInput" label="命令输入框"> <a-form-item field="commandInput" label="命令输入框">
<a-switch v-model="formModel.commandInput" <a-switch v-model="formModel.commandInput"
class="form-item-command-input"
:default-checked="true" :default-checked="true"
type="round" /> type="round" />
</a-form-item> </a-form-item>
@@ -107,8 +106,8 @@
} }
} }
.form-item-actions, .form-item-command-input { .form-item-actions {
margin-right: 48px; margin-right: 24px;
} }
:deep(.arco-form) { :deep(.arco-form) {

View File

@@ -22,11 +22,11 @@
:filter-option="labelFilter"> :filter-option="labelFilter">
<!-- label --> <!-- label -->
<template #label="{ data }"> <template #label="{ data }">
<span :style="{ fontFamily: data.value }">{{ data.label }}</span> <span :style="{ fontFamily: data.value === '_' ? defaultFontFamily : data.value }">{{ data.label }}</span>
</template> </template>
<!-- 选项 --> <!-- 选项 -->
<template #option="{ data }"> <template #option="{ data }">
<span :style="{ fontFamily: data.value }">{{ data.label }}</span> <span :style="{ fontFamily: data.value === '_' ? defaultFontFamily : data.value }">{{ data.label }}</span>
</template> </template>
</a-select> </a-select>
</a-form-item> </a-form-item>

View File

@@ -17,7 +17,7 @@
<template v-for="color in toOptions(tabColorKey)"> <template v-for="color in toOptions(tabColorKey)">
<div class="color-wrapper" <div class="color-wrapper"
:class="[formModel.color === color.value ? 'selected-color' : '']" :class="[formModel.color === color.value ? 'selected-color' : '']"
:style="{ '--color': `${color.value}` }" :style="{ '--color': `${color.color}` }"
@click="clickColor(color.value as string)"> @click="clickColor(color.value as string)">
<div class="color-item"> <div class="color-item">
<div class="color-item-dot" /> <div class="color-item-dot" />

View File

@@ -6,9 +6,10 @@
<div class="ssh-header-left"> <div class="ssh-header-left">
<!-- 主机地址 --> <!-- 主机地址 -->
<span class="address-wrapper"> <span class="address-wrapper">
{{ tab.address }} <span class="text-copy"
<span class="address-copy copy-right" title="复制" @click="copy(tab.address as string)"> :title="tab.address"
<icon-copy /> @click="copy(tab.address as string, true)">
{{ tab.address }}
</span> </span>
</span> </span>
</div> </div>
@@ -79,7 +80,7 @@
import IconActions from '../layout/icon-actions.vue'; import IconActions from '../layout/icon-actions.vue';
import SshContextMenu from './ssh-context-menu.vue'; import SshContextMenu from './ssh-context-menu.vue';
import SftpUploadModal from '../sftp/sftp-upload-modal.vue'; import SftpUploadModal from '../sftp/sftp-upload-modal.vue';
import XtermSearchModal from '@/components/xtrem/search-modal/index.vue'; import XtermSearchModal from '@/components/xterm/search-modal/index.vue';
const props = defineProps<{ const props = defineProps<{
tab: TerminalPanelTabItem; tab: TerminalPanelTabItem;
@@ -182,7 +183,7 @@
} }
&-left { &-left {
width: 34%; width: 25%;
.address-wrapper { .address-wrapper {
height: 100%; height: 100%;
@@ -190,16 +191,6 @@
align-items: center; align-items: center;
user-select: none; user-select: none;
.address-copy {
display: none;
}
&:hover {
.address-copy {
display: unset;
}
}
&:before { &:before {
content: 'IP:'; content: 'IP:';
padding-right: 4px; padding-right: 4px;
@@ -208,7 +199,7 @@
} }
&-right { &-right {
width: 66%; width: 75%;
justify-content: flex-end; justify-content: flex-end;
.command-input { .command-input {

View File

@@ -157,12 +157,14 @@
onUnmounted(() => { onUnmounted(() => {
// 卸载时清除 cache // 卸载时清除 cache
useCacheStore().reset('authorizedHostKeys', 'authorizedHostIdentities', 'commandSnippetGroups', 'pathBookmarkGroups'); useCacheStore().reset('authorizedHostKeys', 'authorizedHostIdentities', 'commandSnippetGroups', 'pathBookmarkGroups');
// 移除关闭视口事件
window.removeEventListener('beforeunload', handleBeforeUnload);
// 去除 body style // 去除 body style
document.body.removeAttribute('terminal-theme'); document.body.removeAttribute('terminal-theme');
// 重置 title // 重置 title
document.title = originTitle; document.title = originTitle;
// 移除关闭视口事件
if (!debug) {
window.removeEventListener('beforeunload', handleBeforeUnload);
}
}); });
</script> </script>

View File

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

View File

@@ -32,7 +32,7 @@ INSERT INTO `dict_key` VALUES (27, 'hostConnectType', 'STRING', '[{\"name\": \"c
INSERT INTO `dict_key` VALUES (28, 'hostConnectStatus', 'STRING', '[{\"name\": \"color\", \"type\": \"COLOR\"}]', '主机连接状态', '2023-12-26 23:23:51', '2023-12-26 23:28:15', '1', '1', 0); INSERT INTO `dict_key` VALUES (28, 'hostConnectStatus', 'STRING', '[{\"name\": \"color\", \"type\": \"COLOR\"}]', '主机连接状态', '2023-12-26 23:23:51', '2023-12-26 23:28:15', '1', '1', 0);
INSERT INTO `dict_key` VALUES (29, 'terminalConnectStatus', 'INTEGER', '[{\"name\": \"status\", \"type\": \"STRING\"}]', '终端连接状态', '2024-01-09 00:32:00', '2024-01-09 00:32:16', '1', '1', 0); INSERT INTO `dict_key` VALUES (29, 'terminalConnectStatus', 'INTEGER', '[{\"name\": \"status\", \"type\": \"STRING\"}]', '终端连接状态', '2024-01-09 00:32:00', '2024-01-09 00:32:16', '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 (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', '[]', '终端标签页颜色', '2024-03-01 15:01:44', '2024-03-01 15:01:44', '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 (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 (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 (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);
@@ -197,16 +197,16 @@ INSERT INTO `dict_value` VALUES (199, 2, 'operatorLogType', 'host-terminal:sftp-
INSERT INTO `dict_value` VALUES (200, 2, 'operatorLogType', 'host-terminal:sftp-set-content', '修改文件内容', '{}', 80, '2024-02-23 17:54:37', '2024-02-23 17:54:37', '1', '1', 0); INSERT INTO `dict_value` VALUES (200, 2, 'operatorLogType', 'host-terminal:sftp-set-content', '修改文件内容', '{}', 80, '2024-02-23 17:54:37', '2024-02-23 17:54:37', '1', '1', 0);
INSERT INTO `dict_value` VALUES (201, 2, 'operatorLogType', 'host-terminal:sftp-upload', '上传文件', '{}', 90, '2024-02-23 17:54:52', '2024-02-23 17:54:52', '1', '1', 0); INSERT INTO `dict_value` VALUES (201, 2, 'operatorLogType', 'host-terminal:sftp-upload', '上传文件', '{}', 90, '2024-02-23 17:54:52', '2024-02-23 17:54:52', '1', '1', 0);
INSERT INTO `dict_value` VALUES (202, 2, 'operatorLogType', 'host-terminal:sftp-download', '下载文件', '{}', 100, '2024-02-23 17:55:03', '2024-02-23 17:55:03', '1', '1', 0); INSERT INTO `dict_value` VALUES (202, 2, 'operatorLogType', 'host-terminal:sftp-download', '下载文件', '{}', 100, '2024-02-23 17:55:03', '2024-02-23 17:55:03', '1', '1', 0);
INSERT INTO `dict_value` VALUES (203, 32, 'terminalTabColor', 'rgb(var(--red-6))', '红色', '{}', 10, '2024-03-01 15:07:41', '2024-03-01 15:07:41', '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', 'rgb(var(--orange-6))', '橙色', '{}', 20, '2024-03-01 15:07:55', '2024-03-01 15:07:55', '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', 'rgb(var(--yellow-6))', '黄色', '{}', 30, '2024-03-01 15:08:13', '2024-03-01 15:08:13', '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', 'rgb(var(--green-6))', '绿色', '{}', 40, '2024-03-01 15:08:23', '2024-03-01 15:08:23', '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', 'rgb(var(--cyan-6))', '青色', '{}', 50, '2024-03-01 15:08:46', '2024-03-01 15:08:46', '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', 'rgb(var(--blue-6))', '浅蓝', '{}', 60, '2024-03-01 15:11:01', '2024-03-01 15:11:01', '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', 'rgb(var(--arcoblue-6))', '蓝色', '{}', 70, '2024-03-01 15:11:11', '2024-03-01 15:11:11', '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', 'rgb(var(--purple-6))', '紫色', '{}', 80, '2024-03-01 15:11:20', '2024-03-01 15:11:20', '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', 'rgb(var(--pinkpurple-6))', '粉紫', '{}', 90, '2024-03-01 15:11:41', '2024-03-01 15:11:41', '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', 'rgb(var(--gray-6))', '灰色', '{}', 100, '2024-03-01 15:12:01', '2024-03-01 15:39:34', '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, 'hostConnectStatus', 'FORCE_OFFLINE', '强制下线', '{\"color\": \"rgb(var(--red-6))\"}', 40, '2024-03-04 12:51:13', '2024-03-04 12:51:13', '1', '1', 0); INSERT INTO `dict_value` VALUES (214, 28, 'hostConnectStatus', 'FORCE_OFFLINE', '强制下线', '{\"color\": \"rgb(var(--red-6))\"}', 40, '2024-03-04 12:51:13', '2024-03-04 12:51:13', '1', '1', 0);
INSERT INTO `dict_value` VALUES (215, 1, 'operatorLogModule', 'asset:host-connect-log', '主机连接日志', '{}', 2060, '2024-03-04 13:43:33', '2024-03-04 13:43:33', '1', '1', 0); INSERT INTO `dict_value` VALUES (215, 1, 'operatorLogModule', 'asset:host-connect-log', '主机连接日志', '{}', 2060, '2024-03-04 13:43:33', '2024-03-04 13:43:33', '1', '1', 0);
INSERT INTO `dict_value` VALUES (216, 2, 'operatorLogType', 'host-connect-log:delete', '删除记录', '{}', 10, '2024-03-04 13:44:34', '2024-03-04 13:44:34', '1', '1', 0); INSERT INTO `dict_value` VALUES (216, 2, 'operatorLogType', 'host-connect-log:delete', '删除记录', '{}', 10, '2024-03-04 13:44:34', '2024-03-04 13:44:34', '1', '1', 0);