diff --git a/orion-visor-launch/src/main/resources/application-dev.yaml b/orion-visor-launch/src/main/resources/application-dev.yaml index 2be013cd..1d3509f1 100644 --- a/orion-visor-launch/src/main/resources/application-dev.yaml +++ b/orion-visor-launch/src/main/resources/application-dev.yaml @@ -27,7 +27,7 @@ spring: guacd: host: ${GUACD_HOST:127.0.0.1} port: ${GUACD_PORT:4822} - drive-path: ${GUACD_DRIVE_PATH:/home/guacd} + drive-path: ${GUACD_DRIVE_PATH:/home/guacd/drive} management: endpoints: diff --git a/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/dao/HostConfigDAO.java b/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/dao/HostConfigDAO.java index 8903a90b..53b52021 100644 --- a/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/dao/HostConfigDAO.java +++ b/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/dao/HostConfigDAO.java @@ -28,7 +28,6 @@ import org.apache.ibatis.annotations.Param; import org.dromara.visor.framework.mybatis.core.mapper.IMapper; import org.dromara.visor.framework.mybatis.core.query.Conditions; import org.dromara.visor.module.asset.entity.domain.HostConfigDO; -import org.dromara.visor.module.asset.entity.po.HostTypeCountPO; import java.util.List; @@ -134,11 +133,4 @@ public interface HostConfigDAO extends IMapper { */ int setIdentityIdWithNull(@Param("identityIdList") List identityIdList); - /** - * 查询启用的主机类型数量 - * - * @return count - */ - List selectEnabledTypeCount(); - } diff --git a/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/entity/request/host/HostKeyCreateRequest.java b/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/entity/request/host/HostKeyCreateRequest.java index b737a6ae..35e3edd2 100644 --- a/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/entity/request/host/HostKeyCreateRequest.java +++ b/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/entity/request/host/HostKeyCreateRequest.java @@ -61,7 +61,6 @@ public class HostKeyCreateRequest implements Serializable { @Schema(description = "私钥文本") private String privateKey; - @NotBlank @ParamDecrypt @Schema(description = "密码") private String password; diff --git a/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/service/impl/AssetStatisticsServiceImpl.java b/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/service/impl/AssetStatisticsServiceImpl.java deleted file mode 100644 index 730e18c7..00000000 --- a/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/service/impl/AssetStatisticsServiceImpl.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright (c) 2023 - present Dromara, All rights reserved. - * - * https://visor.dromara.org - * https://visor.dromara.org.cn - * https://visor.orionsec.cn - * - * Members: - * Jiahang Li - ljh1553488six@139.com - author - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.dromara.visor.module.asset.service.impl; - -import cn.orionsec.kit.lang.utils.Objects1; -import cn.orionsec.kit.lang.utils.collect.Maps; -import com.alibaba.fastjson.JSONObject; -import org.dromara.visor.common.entity.chart.PieChartData; -import org.dromara.visor.framework.redis.core.utils.RedisStrings; -import org.dromara.visor.framework.redis.core.utils.barrier.CacheBarriers; -import org.dromara.visor.module.asset.dao.HostConfigDAO; -import org.dromara.visor.module.asset.define.cache.AssetStatisticsCacheKeyDefine; -import org.dromara.visor.module.asset.entity.po.HostTypeCountPO; -import org.dromara.visor.module.asset.enums.HostTypeEnum; -import org.dromara.visor.module.asset.service.AssetStatisticsService; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * 资产模块统计服务实现 - * - * @author Jiahang Li - * @version 1.0.0 - * @since 2025/3/7 16:26 - */ -@Service -public class AssetStatisticsServiceImpl implements AssetStatisticsService { - - @Resource - private HostConfigDAO hostConfigDAO; - - @Override - public PieChartData getHostTypeChart() { - // 查询缓存 - JSONObject cache = RedisStrings.getJson(AssetStatisticsCacheKeyDefine.HOST_TYPE_COUNT); - if (Maps.isEmpty(cache)) { - cache = new JSONObject(); - // 查询数据库 - List typeCountList = hostConfigDAO.selectEnabledTypeCount(); - for (HostTypeCountPO typeCount : typeCountList) { - cache.put(typeCount.getType(), typeCount.getCount()); - } - // 设置屏障 防止穿透 - CacheBarriers.STRING_MAP.check(cache); - // 设置缓存 - RedisStrings.set(AssetStatisticsCacheKeyDefine.HOST_TYPE_COUNT, cache); - } - // 删除屏障 - CacheBarriers.STRING_MAP.remove(cache); - // 查询类型数量 - Map data = new HashMap<>(); - for (HostTypeEnum value : HostTypeEnum.values()) { - data.put(value.name(), Objects1.def(cache.getInteger(value.name()), 0)); - } - return new PieChartData(data); - } - -} diff --git a/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/service/impl/HostServiceImpl.java b/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/service/impl/HostServiceImpl.java index e009b498..94e33f98 100644 --- a/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/service/impl/HostServiceImpl.java +++ b/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/service/impl/HostServiceImpl.java @@ -37,12 +37,10 @@ import org.dromara.visor.common.enums.EnableStatus; import org.dromara.visor.common.utils.Valid; import org.dromara.visor.framework.biz.operator.log.core.utils.OperatorLogs; import org.dromara.visor.framework.redis.core.utils.RedisMaps; -import org.dromara.visor.framework.redis.core.utils.RedisStrings; import org.dromara.visor.framework.redis.core.utils.barrier.CacheBarriers; import org.dromara.visor.module.asset.convert.HostConvert; import org.dromara.visor.module.asset.dao.HostConfigDAO; import org.dromara.visor.module.asset.dao.HostDAO; -import org.dromara.visor.module.asset.define.cache.AssetStatisticsCacheKeyDefine; import org.dromara.visor.module.asset.define.cache.HostCacheKeyDefine; import org.dromara.visor.module.asset.entity.domain.HostDO; import org.dromara.visor.module.asset.entity.dto.HostCacheDTO; @@ -346,7 +344,6 @@ public class HostServiceImpl implements HostService { @Override public void clearCache() { RedisMaps.scanKeysDelete(HostCacheKeyDefine.HOST_INFO.format("*")); - RedisStrings.delete(AssetStatisticsCacheKeyDefine.HOST_TYPE_COUNT.getKey()); } /** diff --git a/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/resources/mapper/HostConfigMapper.xml b/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/resources/mapper/HostConfigMapper.xml index a7c2522d..b2e760a9 100644 --- a/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/resources/mapper/HostConfigMapper.xml +++ b/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/resources/mapper/HostConfigMapper.xml @@ -16,12 +16,6 @@ - - - - - - id, host_id, type, status, config, create_time, update_time, creator, updater, deleted @@ -45,12 +39,4 @@ - - diff --git a/orion-visor-ui/src/api/statistics/asset-statistics.ts b/orion-visor-ui/src/api/statistics/asset-statistics.ts deleted file mode 100644 index e04a5f43..00000000 --- a/orion-visor-ui/src/api/statistics/asset-statistics.ts +++ /dev/null @@ -1,9 +0,0 @@ -import type { PieChartData } from '@/types/global'; -import axios from 'axios'; - -/** - * 查询主机类型图表 - */ -export function getHostTypeChart() { - return axios.get('/asset/statistics/host-type-chart'); -} diff --git a/orion-visor-ui/src/api/statistics/terminal-statistics.ts b/orion-visor-ui/src/api/statistics/terminal-statistics.ts index 0790ad57..19abf23d 100644 --- a/orion-visor-ui/src/api/statistics/terminal-statistics.ts +++ b/orion-visor-ui/src/api/statistics/terminal-statistics.ts @@ -7,11 +7,8 @@ import axios from 'axios'; */ export interface TerminalWorkplaceStatisticsResponse { todayTerminalConnectCount: number; - todayTerminalCommandCount: number; weekTerminalConnectCount: number; - weekTerminalCommandCount: number; terminalConnectChart: LineSingleChartData; - terminalCommandChart: LineSingleChartData; terminalConnectList: Array; } diff --git a/orion-visor-ui/src/store/modules/terminal/types.ts b/orion-visor-ui/src/store/modules/terminal/types.ts index f62bea12..7a6e84a6 100644 --- a/orion-visor-ui/src/store/modules/terminal/types.ts +++ b/orion-visor-ui/src/store/modules/terminal/types.ts @@ -61,7 +61,6 @@ export interface TerminalRdpGraphSetting { // SSH 操作栏设置 export interface TerminalSshActionBarSetting { connectStatus?: boolean; - share?: boolean; [key: string]: unknown; } diff --git a/orion-visor-ui/src/views/asset-audit/connect-session/index.vue b/orion-visor-ui/src/views/asset-audit/connect-session/index.vue index a8821e2e..7adb4ae6 100644 --- a/orion-visor-ui/src/views/asset-audit/connect-session/index.vue +++ b/orion-visor-ui/src/views/asset-audit/connect-session/index.vue @@ -1,12 +1,7 @@ @@ -20,28 +15,11 @@ import { ref, onBeforeMount } from 'vue'; import { useDictStore } from '@/store'; import { dictKeys } from './types/const'; - import { openNewRoute } from '@/router'; import ConnectSessionTable from './components/connect-session-table.vue'; - import ConnectEventDrawer from '../connect-log/components/connect-event-drawer.vue'; - import XtermWatcherModal from '@/components/xterm/watcher/modal/index.vue'; const render = ref(false); - const watcherModal = ref(); const eventDrawer = ref(); - // 打开监视 - const openWatcher = (sessionId: string, newWindow: boolean) => { - if (newWindow) { - // 跳转新页面 - openNewRoute({ - name: 'terminalWatcher', - query: { sessionId } - }); - } else { - watcherModal.value.open(sessionId); - } - }; - // 加载字典配置 onBeforeMount(async () => { const dictStore = useDictStore(); diff --git a/orion-visor-ui/src/views/asset/host-list/components/host-table.vue b/orion-visor-ui/src/views/asset/host-list/components/host-table.vue index 57c0ba06..477331c9 100644 --- a/orion-visor-ui/src/views/asset/host-list/components/host-table.vue +++ b/orion-visor-ui/src/views/asset/host-list/components/host-table.vue @@ -262,28 +262,22 @@ 连接 - - + 连接 @@ -346,7 +340,7 @@ import { reactive, ref, onMounted } from 'vue'; import { deleteHost, batchDeleteHost, getHostPage, updateHostStatus } from '@/api/asset/host'; import { Message, Modal } from '@arco-design/web-vue'; - import { tagColor, hostTypeKey, hostStatusKey, HostType, hostOsTypeKey, hostArchTypeKey, TableName } from '../types/const'; + import { tagColor, hostTypeKey, hostStatusKey, hostOsTypeKey, hostArchTypeKey, TableName } from '../types/const'; import { useTablePagination, useRowSelection, useTableColumns } from '@/hooks/table'; import { useQueryOrder, ASC } from '@/hooks/query-order'; import { useCacheStore, useDictStore } from '@/store'; diff --git a/orion-visor-ui/src/views/dashboard/workplace/types/table.columns.ts b/orion-visor-ui/src/views/dashboard/workplace/types/table.columns.ts index 1788b567..b0c11c51 100644 --- a/orion-visor-ui/src/views/dashboard/workplace/types/table.columns.ts +++ b/orion-visor-ui/src/views/dashboard/workplace/types/table.columns.ts @@ -8,6 +8,7 @@ export const terminalLogColumns = [ dataIndex: 'hostName', slotName: 'hostName', align: 'left', + minWidth: 98, ellipsis: true, }, { title: '类型', @@ -20,7 +21,7 @@ export const terminalLogColumns = [ dataIndex: 'startTime', slotName: 'startTime', align: 'center', - width: 180, + width: 168, render: ({ record }) => { return dateFormat(new Date(record.startTime)); }, @@ -40,6 +41,7 @@ export const batchExecColumns = [ dataIndex: 'description', slotName: 'description', align: 'left', + minWidth: 98, ellipsis: true, tooltip: true, }, { @@ -53,7 +55,7 @@ export const batchExecColumns = [ dataIndex: 'startTime', slotName: 'startTime', align: 'center', - width: 180, + width: 168, render: ({ record }) => { return dateFormat(new Date(record.startTime)); }, @@ -72,6 +74,7 @@ export const userLoginColumns = [ title: '登录设备', dataIndex: 'content', slotName: 'content', + minWidth: 98, ellipsis: true, tooltip: true, }, { diff --git a/orion-visor-ui/src/views/terminal/components/setting/display/terminal-ssh-action-bar-block.vue b/orion-visor-ui/src/views/terminal/components/setting/display/terminal-ssh-action-bar-block.vue index 5c67cbfa..fc46a6d6 100644 --- a/orion-visor-ui/src/views/terminal/components/setting/display/terminal-ssh-action-bar-block.vue +++ b/orion-visor-ui/src/views/terminal/components/setting/display/terminal-ssh-action-bar-block.vue @@ -30,12 +30,6 @@ :default-checked="true" type="round" /> - - - - diff --git a/orion-visor-ui/src/views/terminal/components/view/rdp/rdp-action-bar.vue b/orion-visor-ui/src/views/terminal/components/view/rdp/rdp-action-bar.vue index c9a577cf..d3dd25bc 100644 --- a/orion-visor-ui/src/views/terminal/components/view/rdp/rdp-action-bar.vue +++ b/orion-visor-ui/src/views/terminal/components/view/rdp/rdp-action-bar.vue @@ -311,7 +311,7 @@ border-radius: 8px; transition: .3s all; background: var(--color-bg-rdp-toolbar); - filter: contrast(150%) brightness(80%); + filter: contrast(50%) brightness(50%); &.top { width: 240px; diff --git a/orion-visor-ui/src/views/terminal/components/view/rdp/rdp-view.vue b/orion-visor-ui/src/views/terminal/components/view/rdp/rdp-view.vue index 9e3f22b2..c2d01382 100644 --- a/orion-visor-ui/src/views/terminal/components/view/rdp/rdp-view.vue +++ b/orion-visor-ui/src/views/terminal/components/view/rdp/rdp-view.vue @@ -73,6 +73,11 @@ display: flex; align-items: center; justify-content: center; + + :deep(> div) { + position: relative; + z-index: 8; + } } .rdp-status-mask { diff --git a/orion-visor-ui/src/views/terminal/service/tab/terminal-panel-manager.ts b/orion-visor-ui/src/views/terminal/service/tab/terminal-panel-manager.ts index a542165e..78e3c7de 100644 --- a/orion-visor-ui/src/views/terminal/service/tab/terminal-panel-manager.ts +++ b/orion-visor-ui/src/views/terminal/service/tab/terminal-panel-manager.ts @@ -10,7 +10,7 @@ export default class TerminalPanelManager implements ITerminalPanelManager { constructor() { this.active = 0; - this.panels = [new TerminalTabManager(), new TerminalTabManager()]; + this.panels = [new TerminalTabManager()]; } // 获取当前面板 diff --git a/orion-visor-ui/src/views/terminal/types/const.ts b/orion-visor-ui/src/views/terminal/types/const.ts index 287d4ecc..66327d8b 100644 --- a/orion-visor-ui/src/views/terminal/types/const.ts +++ b/orion-visor-ui/src/views/terminal/types/const.ts @@ -96,7 +96,6 @@ export const TerminalCloseCode = { export const TerminalMessages = { sessionClosed: '会话已结束...', waitingReconnect: '输入回车重新连接...', - waitingJoin: '等待分享者同意...', loggedElsewhere: '该账号已在另一台设备登录', rdpConnectTimeout: '请检查远程计算机网络及其他配置是否正常', };