From 1fca5a1912a4d50df8ddb38a512c697e00170a95 Mon Sep 17 00:00:00 2001 From: lijiahangmax Date: Fri, 23 Aug 2024 01:44:05 +0800 Subject: [PATCH] =?UTF-8?q?:zap:=20=E4=BC=98=E5=8C=96=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=88=86=E7=BB=84=E9=80=BB=E8=BE=91.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../visor/framework/common/utils/Valid.java | 5 ++ .../module/infra/api/DataGroupRelApi.java | 7 ++- .../module/infra/api/DataGroupUserRelApi.java | 9 ++- .../dto/data/DataGroupRelCreateDTO.java | 34 ----------- .../infra/api/impl/DataGroupRelApiImpl.java | 10 +-- .../api/impl/DataGroupUserRelApiImpl.java | 10 +-- .../infra/convert/DataGroupRelConvert.java | 3 - .../convert/DataGroupRelProviderConvert.java | 26 -------- .../data/DataGroupRelCreateRequest.java | 34 ----------- .../data/DataGroupRelUpdateRequest.java | 34 ----------- .../infra/service/DataGroupRelService.java | 14 +++-- .../service/impl/DataGroupRelServiceImpl.java | 61 ++++--------------- .../src/api/exec/exec-command-log.ts | 6 +- orion-visor-ui/src/api/job/exec-job-log.ts | 6 +- orion-visor-ui/src/mock/index.ts | 46 ++++++++++++++ orion-visor-ui/src/utils/file.ts | 2 +- .../components/connect-log-clear-modal.vue | 7 +-- 17 files changed, 101 insertions(+), 213 deletions(-) delete mode 100644 orion-visor-module-infra/orion-visor-module-infra-provider/src/main/java/com/orion/visor/module/infra/entity/dto/data/DataGroupRelCreateDTO.java delete mode 100644 orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/com/orion/visor/module/infra/convert/DataGroupRelProviderConvert.java delete mode 100644 orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/com/orion/visor/module/infra/entity/request/data/DataGroupRelCreateRequest.java delete mode 100644 orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/com/orion/visor/module/infra/entity/request/data/DataGroupRelUpdateRequest.java diff --git a/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/utils/Valid.java b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/utils/Valid.java index e54aab19..38d41cf8 100644 --- a/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/utils/Valid.java +++ b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/utils/Valid.java @@ -9,6 +9,7 @@ import javax.validation.ConstraintViolation; import javax.validation.ConstraintViolationException; import javax.validation.Validator; import java.util.Collection; +import java.util.Map; import java.util.Set; import java.util.function.Function; @@ -31,6 +32,10 @@ public class Valid extends com.orion.lang.utils.Valid { return notBlank(s, ErrorMessage.PARAM_MISSING); } + public static > T notEmpty(T map) { + return notEmpty(map, ErrorMessage.PARAM_MISSING); + } + public static > T notEmpty(T object) { return notEmpty(object, ErrorMessage.PARAM_MISSING); } diff --git a/orion-visor-module-infra/orion-visor-module-infra-provider/src/main/java/com/orion/visor/module/infra/api/DataGroupRelApi.java b/orion-visor-module-infra/orion-visor-module-infra-provider/src/main/java/com/orion/visor/module/infra/api/DataGroupRelApi.java index 3a9bec5d..f147845e 100644 --- a/orion-visor-module-infra/orion-visor-module-infra-provider/src/main/java/com/orion/visor/module/infra/api/DataGroupRelApi.java +++ b/orion-visor-module-infra/orion-visor-module-infra-provider/src/main/java/com/orion/visor/module/infra/api/DataGroupRelApi.java @@ -1,6 +1,5 @@ package com.orion.visor.module.infra.api; -import com.orion.visor.module.infra.entity.dto.data.DataGroupRelCreateDTO; import com.orion.visor.module.infra.enums.DataGroupTypeEnum; import java.util.List; @@ -37,6 +36,7 @@ public interface DataGroupRelApi { /** * 添加关联 * + * @param type type * @param groupId groupId * @param relId relId */ @@ -45,9 +45,10 @@ public interface DataGroupRelApi { /** * 批量添加关联 * - * @param list list + * @param type type + * @param groupRelListMap groupRelListMap */ - void addGroupRel(DataGroupTypeEnum type, List list); + void addGroupRel(DataGroupTypeEnum type, Map> groupRelListMap); /** * 通过 type 查询 relId 缓存 diff --git a/orion-visor-module-infra/orion-visor-module-infra-provider/src/main/java/com/orion/visor/module/infra/api/DataGroupUserRelApi.java b/orion-visor-module-infra/orion-visor-module-infra-provider/src/main/java/com/orion/visor/module/infra/api/DataGroupUserRelApi.java index 30e92250..f3d6a7ad 100644 --- a/orion-visor-module-infra/orion-visor-module-infra-provider/src/main/java/com/orion/visor/module/infra/api/DataGroupUserRelApi.java +++ b/orion-visor-module-infra/orion-visor-module-infra-provider/src/main/java/com/orion/visor/module/infra/api/DataGroupUserRelApi.java @@ -1,6 +1,5 @@ package com.orion.visor.module.infra.api; -import com.orion.visor.module.infra.entity.dto.data.DataGroupRelCreateDTO; import com.orion.visor.module.infra.enums.DataGroupTypeEnum; import java.util.List; @@ -40,11 +39,11 @@ public interface DataGroupUserRelApi { /** * 批量添加关联 * - * @param type type - * @param userId userId - * @param list list + * @param type type + * @param userId userId + * @param groupRelListMap groupRelListMap */ - void addGroupRel(DataGroupTypeEnum type, Long userId, List list); + void addGroupRel(DataGroupTypeEnum type, Long userId, Map> groupRelListMap); /** * 通过 type 查询 relId 缓存 diff --git a/orion-visor-module-infra/orion-visor-module-infra-provider/src/main/java/com/orion/visor/module/infra/entity/dto/data/DataGroupRelCreateDTO.java b/orion-visor-module-infra/orion-visor-module-infra-provider/src/main/java/com/orion/visor/module/infra/entity/dto/data/DataGroupRelCreateDTO.java deleted file mode 100644 index 7d24fdd9..00000000 --- a/orion-visor-module-infra/orion-visor-module-infra-provider/src/main/java/com/orion/visor/module/infra/entity/dto/data/DataGroupRelCreateDTO.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.orion.visor.module.infra.entity.dto.data; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import javax.validation.constraints.NotNull; -import java.io.Serializable; - -/** - * 数据分组关联 创建请求业务对象 - * - * @author Jiahang Li - * @version 1.0.0 - * @since 2023-11-7 18:44 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@Schema(name = "DataGroupRelCreateDTO", description = "数据分组关联 创建请求业务对象") -public class DataGroupRelCreateDTO implements Serializable { - - @NotNull - @Schema(description = "组id") - private Long groupId; - - @NotNull - @Schema(description = "引用id") - private Long relId; - -} diff --git a/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/com/orion/visor/module/infra/api/impl/DataGroupRelApiImpl.java b/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/com/orion/visor/module/infra/api/impl/DataGroupRelApiImpl.java index b8b3b10c..cfc186d3 100644 --- a/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/com/orion/visor/module/infra/api/impl/DataGroupRelApiImpl.java +++ b/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/com/orion/visor/module/infra/api/impl/DataGroupRelApiImpl.java @@ -3,11 +3,8 @@ package com.orion.visor.module.infra.api.impl; import com.orion.visor.framework.common.constant.Const; import com.orion.visor.framework.common.utils.Valid; import com.orion.visor.module.infra.api.DataGroupRelApi; -import com.orion.visor.module.infra.convert.DataGroupRelProviderConvert; import com.orion.visor.module.infra.entity.domain.DataGroupRelDO; import com.orion.visor.module.infra.entity.dto.DataGroupRelCacheDTO; -import com.orion.visor.module.infra.entity.dto.data.DataGroupRelCreateDTO; -import com.orion.visor.module.infra.entity.request.data.DataGroupRelCreateRequest; import com.orion.visor.module.infra.enums.DataGroupTypeEnum; import com.orion.visor.module.infra.service.DataGroupRelService; import lombok.extern.slf4j.Slf4j; @@ -57,10 +54,9 @@ public class DataGroupRelApiImpl implements DataGroupRelApi { } @Override - public void addGroupRel(DataGroupTypeEnum type, List list) { - Valid.valid(list); - List rows = DataGroupRelProviderConvert.MAPPER.toList(list); - dataGroupRelService.addGroupRel(type.name(), Const.SYSTEM_USER_ID, rows); + public void addGroupRel(DataGroupTypeEnum type, Map> groupRelListMap) { + Valid.notEmpty(groupRelListMap); + dataGroupRelService.addGroupRel(type.name(), Const.SYSTEM_USER_ID, groupRelListMap); } @Override diff --git a/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/com/orion/visor/module/infra/api/impl/DataGroupUserRelApiImpl.java b/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/com/orion/visor/module/infra/api/impl/DataGroupUserRelApiImpl.java index b7c3dd01..e05bba94 100644 --- a/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/com/orion/visor/module/infra/api/impl/DataGroupUserRelApiImpl.java +++ b/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/com/orion/visor/module/infra/api/impl/DataGroupUserRelApiImpl.java @@ -2,11 +2,8 @@ package com.orion.visor.module.infra.api.impl; import com.orion.visor.framework.common.utils.Valid; import com.orion.visor.module.infra.api.DataGroupUserRelApi; -import com.orion.visor.module.infra.convert.DataGroupRelProviderConvert; import com.orion.visor.module.infra.entity.domain.DataGroupRelDO; import com.orion.visor.module.infra.entity.dto.DataGroupRelCacheDTO; -import com.orion.visor.module.infra.entity.dto.data.DataGroupRelCreateDTO; -import com.orion.visor.module.infra.entity.request.data.DataGroupRelCreateRequest; import com.orion.visor.module.infra.enums.DataGroupTypeEnum; import com.orion.visor.module.infra.service.DataGroupRelService; import lombok.extern.slf4j.Slf4j; @@ -50,10 +47,9 @@ public class DataGroupUserRelApiImpl implements DataGroupUserRelApi { } @Override - public void addGroupRel(DataGroupTypeEnum type, Long userId, List list) { - Valid.valid(list); - List rows = DataGroupRelProviderConvert.MAPPER.toList(list); - dataGroupRelService.addGroupRel(type.name(), userId, rows); + public void addGroupRel(DataGroupTypeEnum type, Long userId, Map> groupRelListMap) { + Valid.notEmpty(groupRelListMap); + dataGroupRelService.addGroupRel(type.name(), userId, groupRelListMap); } @Override diff --git a/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/com/orion/visor/module/infra/convert/DataGroupRelConvert.java b/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/com/orion/visor/module/infra/convert/DataGroupRelConvert.java index 0ff51813..752bf0fc 100644 --- a/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/com/orion/visor/module/infra/convert/DataGroupRelConvert.java +++ b/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/com/orion/visor/module/infra/convert/DataGroupRelConvert.java @@ -2,7 +2,6 @@ package com.orion.visor.module.infra.convert; import com.orion.visor.module.infra.entity.domain.DataGroupRelDO; import com.orion.visor.module.infra.entity.dto.DataGroupRelCacheDTO; -import com.orion.visor.module.infra.entity.request.data.DataGroupRelCreateRequest; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; @@ -18,8 +17,6 @@ public interface DataGroupRelConvert { DataGroupRelConvert MAPPER = Mappers.getMapper(DataGroupRelConvert.class); - DataGroupRelDO to(DataGroupRelCreateRequest request); - DataGroupRelCacheDTO toCache(DataGroupRelDO domain); } diff --git a/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/com/orion/visor/module/infra/convert/DataGroupRelProviderConvert.java b/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/com/orion/visor/module/infra/convert/DataGroupRelProviderConvert.java deleted file mode 100644 index 102664fd..00000000 --- a/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/com/orion/visor/module/infra/convert/DataGroupRelProviderConvert.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.orion.visor.module.infra.convert; - -import com.orion.visor.module.infra.entity.dto.data.DataGroupRelCreateDTO; -import com.orion.visor.module.infra.entity.request.data.DataGroupRelCreateRequest; -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -import java.util.List; - -/** - * 数据分组关联 对外服务对象转换器 - * - * @author Jiahang Li - * @version 1.0.0 - * @since 2023-11-7 18:44 - */ -@Mapper -public interface DataGroupRelProviderConvert { - - DataGroupRelProviderConvert MAPPER = Mappers.getMapper(DataGroupRelProviderConvert.class); - - DataGroupRelCreateRequest toRequest(DataGroupRelCreateDTO request); - - List toList(List list); - -} diff --git a/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/com/orion/visor/module/infra/entity/request/data/DataGroupRelCreateRequest.java b/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/com/orion/visor/module/infra/entity/request/data/DataGroupRelCreateRequest.java deleted file mode 100644 index fc66e6cc..00000000 --- a/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/com/orion/visor/module/infra/entity/request/data/DataGroupRelCreateRequest.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.orion.visor.module.infra.entity.request.data; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import javax.validation.constraints.NotNull; -import java.io.Serializable; - -/** - * 数据分组关联 创建请求对象 - * - * @author Jiahang Li - * @version 1.0.0 - * @since 2023-11-7 18:44 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@Schema(name = "DataGroupRelCreateRequest", description = "数据分组关联 创建请求对象") -public class DataGroupRelCreateRequest implements Serializable { - - @NotNull - @Schema(description = "组id") - private Long groupId; - - @NotNull - @Schema(description = "引用id") - private Long relId; - -} diff --git a/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/com/orion/visor/module/infra/entity/request/data/DataGroupRelUpdateRequest.java b/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/com/orion/visor/module/infra/entity/request/data/DataGroupRelUpdateRequest.java deleted file mode 100644 index 27ceaedf..00000000 --- a/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/com/orion/visor/module/infra/entity/request/data/DataGroupRelUpdateRequest.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.orion.visor.module.infra.entity.request.data; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import javax.validation.constraints.NotNull; -import java.io.Serializable; -import java.util.List; - -/** - * 数据分组关联 更新请求对象 - * - * @author Jiahang Li - * @version 1.0.0 - * @since 2023-11-7 18:44 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@Schema(name = "DataGroupRelUpdateRequest", description = "数据分组关联 更新请求对象") -public class DataGroupRelUpdateRequest implements Serializable { - - @NotNull - @Schema(description = "组id") - private Long groupId; - - @Schema(description = "引用id") - private List relIdList; - -} diff --git a/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/com/orion/visor/module/infra/service/DataGroupRelService.java b/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/com/orion/visor/module/infra/service/DataGroupRelService.java index 0de8a105..673a9e7a 100644 --- a/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/com/orion/visor/module/infra/service/DataGroupRelService.java +++ b/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/com/orion/visor/module/infra/service/DataGroupRelService.java @@ -2,9 +2,9 @@ package com.orion.visor.module.infra.service; import com.orion.visor.module.infra.entity.domain.DataGroupRelDO; import com.orion.visor.module.infra.entity.dto.DataGroupRelCacheDTO; -import com.orion.visor.module.infra.entity.request.data.DataGroupRelCreateRequest; import java.util.List; +import java.util.Map; /** * 数据分组关联 服务类 @@ -34,19 +34,23 @@ public interface DataGroupRelService { void updateRelGroup(String type, Long userId, List groupIdList, Long relId); /** - * 添加关联 + * 添加关联 只新增 * + * @param type type + * @param userId userId * @param groupId groupId * @param relId relId */ void addGroupRel(String type, Long userId, Long groupId, Long relId); /** - * 添加关联 + * 添加关联 只新增 * - * @param list list + * @param type type + * @param userId userId + * @param groupRelListMap groupRelListMap */ - void addGroupRel(String type, Long userId, List list); + void addGroupRel(String type, Long userId, Map> groupRelListMap); /** * 通过 type 查询 relId 缓存 diff --git a/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/com/orion/visor/module/infra/service/impl/DataGroupRelServiceImpl.java b/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/com/orion/visor/module/infra/service/impl/DataGroupRelServiceImpl.java index dddb7bee..f3724f0a 100644 --- a/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/com/orion/visor/module/infra/service/impl/DataGroupRelServiceImpl.java +++ b/orion-visor-module-infra/orion-visor-module-infra-service/src/main/java/com/orion/visor/module/infra/service/impl/DataGroupRelServiceImpl.java @@ -2,6 +2,7 @@ package com.orion.visor.module.infra.service.impl; import com.orion.lang.utils.Strings; import com.orion.lang.utils.collect.Lists; +import com.orion.lang.utils.collect.Maps; import com.orion.spring.SpringHolder; import com.orion.visor.framework.biz.operator.log.core.utils.OperatorLogs; import com.orion.visor.framework.common.constant.ErrorMessage; @@ -17,17 +18,13 @@ import com.orion.visor.module.infra.define.cache.DataGroupCacheKeyDefine; import com.orion.visor.module.infra.entity.domain.DataGroupDO; import com.orion.visor.module.infra.entity.domain.DataGroupRelDO; import com.orion.visor.module.infra.entity.dto.DataGroupRelCacheDTO; -import com.orion.visor.module.infra.entity.request.data.DataGroupRelCreateRequest; import com.orion.visor.module.infra.service.DataGroupRelService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -122,64 +119,32 @@ public class DataGroupRelServiceImpl implements DataGroupRelService { @Override @Transactional(rollbackFor = Exception.class) public void addGroupRel(String type, Long userId, Long groupId, Long relId) { - DataGroupRelCreateRequest record = DataGroupRelCreateRequest.builder() - .groupId(Valid.notNull(groupId)) - .relId(Valid.notNull(relId)) - .build(); + Map> map = new HashMap<>(); + map.put(groupId, Lists.singleton(relId)); // 插入 - SpringHolder.getBean(DataGroupRelService.class) - .addGroupRel(type, userId, Lists.singleton(record)); + SpringHolder.getBean(DataGroupRelService.class).addGroupRel(type, userId, map); } @Override @Transactional(rollbackFor = Exception.class) - public void addGroupRel(String type, Long userId, List list) { - if (Lists.isEmpty(list)) { + public void addGroupRel(String type, Long userId, Map> groupRelListMap) { + if (Maps.isEmpty(groupRelListMap)) { return; } - // 通过 groupId 分组 - Map> groupMapping = list.stream() - .collect(Collectors.groupingBy(DataGroupRelCreateRequest::getGroupId)); - // 查询分组信息 - List groups = dataGroupDAO.selectBatchIds(groupMapping.keySet()); - Valid.eq(groups.size(), groupMapping.size(), ErrorMessage.GROUP_ABSENT); - // 查询关联是否存在 - groupMapping.forEach((k, v) -> { - List relIdList = v.stream() - .map(DataGroupRelCreateRequest::getRelId) - .collect(Collectors.toList()); - // 查询关联 - List presentRelIdList = dataGroupRelDAO.of() - .createWrapper() - .eq(DataGroupRelDO::getGroupId, k) - .in(DataGroupRelDO::getRelId, relIdList) - .then() - .stream() - .map(DataGroupRelDO::getRelId) - .distinct() - .collect(Collectors.toList()); - if (!presentRelIdList.isEmpty()) { - // 删除待插入的重复数据 - v.removeIf(s -> presentRelIdList.contains(s.getRelId())); - } - }); // 构建插入数据 List records = new ArrayList<>(); - groupMapping.forEach((k, v) -> { + groupRelListMap.forEach((k, v) -> { v.forEach(s -> records.add(DataGroupRelDO.builder() .groupId(k) .type(type) .userId(userId) - .relId(s.getRelId()) + .relId(s) .build())); }); - // 不为空则插入 - if (!records.isEmpty()) { - // 插入 - dataGroupRelDAO.insertBatch(records); - // 删除缓存 - this.deleteCache(type, userId, groupMapping.keySet()); - } + // 插入 + dataGroupRelDAO.insertBatch(records); + // 删除缓存 + this.deleteCache(type, userId, groupRelListMap.keySet()); } @Override diff --git a/orion-visor-ui/src/api/exec/exec-command-log.ts b/orion-visor-ui/src/api/exec/exec-command-log.ts index 3473e397..0d761ac3 100644 --- a/orion-visor-ui/src/api/exec/exec-command-log.ts +++ b/orion-visor-ui/src/api/exec/exec-command-log.ts @@ -101,7 +101,11 @@ export function getExecCommandLogTailToken(request: ExecLogTailRequest) { * 下载批量执行日志文件 */ export function downloadExecCommandLogFile(id: number) { - return axios.get('/asset/exec-command-log/download', { unwrap: true, params: { id } }); + return axios.get('/asset/exec-command-log/download', { + unwrap: true, + responseType: 'blob', + params: { id }, + }); } /** diff --git a/orion-visor-ui/src/api/job/exec-job-log.ts b/orion-visor-ui/src/api/job/exec-job-log.ts index 4d847829..d2ed3c91 100644 --- a/orion-visor-ui/src/api/job/exec-job-log.ts +++ b/orion-visor-ui/src/api/job/exec-job-log.ts @@ -94,7 +94,11 @@ export function getExecJobLogTailToken(request: ExecLogTailRequest) { * 下载计划任务日志文件 */ export function downloadExecJobLogFile(id: number) { - return axios.get('/asset/exec-job-log/download', { unwrap: true, params: { id } }); + return axios.get('/asset/exec-job-log/download', { + unwrap: true, + responseType: 'blob', + params: { id }, + }); } /** diff --git a/orion-visor-ui/src/mock/index.ts b/orion-visor-ui/src/mock/index.ts index 8d4c1dc9..7cac1120 100644 --- a/orion-visor-ui/src/mock/index.ts +++ b/orion-visor-ui/src/mock/index.ts @@ -2,6 +2,52 @@ import Mock from 'mockjs'; // import './user'; import '@/views/dashboard/workplace/mock'; +// Mock XHR +interface XHR { + responseType: string; + timeout: number; + withCredentials: boolean; + onabort: () => void; + onerror: () => void; + onload: () => void; + onloadend: () => void; + onloadstart: () => void; + onprogress: () => void; + onreadystatechange: () => void; + ontimeout: () => void; +} + +// Mock XHR Custom +interface XHRCustom extends XHR { + custom: XHRCustom; + xhr: XHR; + match: boolean; +} + +// @ts-ignore +Mock.XHR.prototype.send = (() => { + // @ts-ignore + const _send = Mock.XHR.prototype.send; + const defaultEvent = () => { + }; + return function (this: XHRCustom) { + if (!this.match) { + this.custom.xhr.responseType = this.responseType || ''; + this.custom.xhr.timeout = this.timeout || 0; + this.custom.xhr.withCredentials = this.withCredentials || false; + this.custom.xhr.onabort = this.onabort || defaultEvent; + this.custom.xhr.onerror = this.onerror || defaultEvent; + this.custom.xhr.onload = this.onload || defaultEvent; + this.custom.xhr.onloadend = this.onloadend || defaultEvent; + this.custom.xhr.onloadstart = this.onloadstart || defaultEvent; + this.custom.xhr.onprogress = this.onprogress || defaultEvent; + this.custom.xhr.onreadystatechange = this.onreadystatechange || defaultEvent; + this.custom.xhr.ontimeout = this.ontimeout || defaultEvent; + } + return _send.apply(this, arguments); + }; +})(); + Mock.setup({ timeout: '600-1000', }); diff --git a/orion-visor-ui/src/utils/file.ts b/orion-visor-ui/src/utils/file.ts index bdcdec9b..fb9d8173 100644 --- a/orion-visor-ui/src/utils/file.ts +++ b/orion-visor-ui/src/utils/file.ts @@ -109,7 +109,7 @@ export function openDownloadFile(url: string) { * 下载文件 */ export function downloadFile(res: any, fileName: string = '') { - const blob = new Blob([res.data]); + const blob = new Blob([res.data], { type: 'application/octet-stream' }); const tempLink = document.createElement('a'); const blobURL = window.URL.createObjectURL(blob); tempLink.style.display = 'none'; diff --git a/orion-visor-ui/src/views/asset-audit/connect-log/components/connect-log-clear-modal.vue b/orion-visor-ui/src/views/asset-audit/connect-log/components/connect-log-clear-modal.vue index 08abe755..f2a2060d 100644 --- a/orion-visor-ui/src/views/asset-audit/connect-log/components/connect-log-clear-modal.vue +++ b/orion-visor-ui/src/views/asset-audit/connect-log/components/connect-log-clear-modal.vue @@ -78,6 +78,9 @@ import UserSelector from '@/components/user/user/selector/index.vue'; import HostSelector from '@/components/asset/host/selector/index.vue'; + const emits = defineEmits(['clear']); + + const { toOptions } = useDictStore(); const { visible, setVisible } = useVisible(); const { loading, setLoading } = useLoading(); @@ -94,10 +97,6 @@ const formModel = ref({}); - const emits = defineEmits(['clear']); - - const { toOptions } = useDictStore(); - // 打开 const open = (record: any) => { renderForm({ ...defaultForm(), ...record });