diff --git a/packages/core/pipeline/src/core/run-history.ts b/packages/core/pipeline/src/core/run-history.ts index be7e1111..aa48ac3b 100644 --- a/packages/core/pipeline/src/core/run-history.ts +++ b/packages/core/pipeline/src/core/run-history.ts @@ -144,6 +144,19 @@ export class RunnableCollection { this.collection = map; } + static initPipelineRunnableType(pipeline: Pipeline) { + pipeline.runnableType = "pipeline"; + pipeline.stages.forEach((stage) => { + stage.runnableType = "stage"; + stage.tasks.forEach((task) => { + task.runnableType = "task"; + task.steps.forEach((step) => { + step.runnableType = "step"; + }); + }); + }); + } + static each(list: T[], exec: (item: Runnable) => void) { list.forEach((item) => { exec(item); diff --git a/packages/libs/lib-server/src/basic/base-controller.ts b/packages/libs/lib-server/src/basic/base-controller.ts index 77ea8ae6..44960e59 100644 --- a/packages/libs/lib-server/src/basic/base-controller.ts +++ b/packages/libs/lib-server/src/basic/base-controller.ts @@ -39,4 +39,12 @@ export abstract class BaseController { } return userId; } + + getLoginUser() { + const user = this.ctx.user; + if (user == null) { + throw new Error('Token已过期'); + } + return user; + } } diff --git a/packages/libs/lib-server/src/basic/base-service.ts b/packages/libs/lib-server/src/basic/base-service.ts index 5e393259..20c3a88c 100644 --- a/packages/libs/lib-server/src/basic/base-service.ts +++ b/packages/libs/lib-server/src/basic/base-service.ts @@ -148,6 +148,7 @@ export abstract class BaseService { page.limit = 20; } const qb = this.buildListQuery(pageReq); + qb.offset(page.offset).limit(page.limit); const list = await qb.getMany(); const total = await qb.getCount(); diff --git a/packages/libs/lib-server/src/system/basic/service/file-service.ts b/packages/libs/lib-server/src/system/basic/service/file-service.ts index 41f3cbaf..deb1a301 100644 --- a/packages/libs/lib-server/src/system/basic/service/file-service.ts +++ b/packages/libs/lib-server/src/system/basic/service/file-service.ts @@ -14,7 +14,7 @@ export const uploadTmpFileCacheKey = 'tmpfile_key_'; /** */ @Provide() -@Scope(ScopeEnum.Singleton) +@Scope(ScopeEnum.Request, { allowDowngrade: true }) export class FileService { async saveFile(userId: number, tmpCacheKey: any, permission: 'public' | 'private') { if (tmpCacheKey.startsWith(`/${permission}`)) { diff --git a/packages/libs/lib-server/src/system/basic/service/plus-service.ts b/packages/libs/lib-server/src/system/basic/service/plus-service.ts index 78d3b7b3..7472228f 100644 --- a/packages/libs/lib-server/src/system/basic/service/plus-service.ts +++ b/packages/libs/lib-server/src/system/basic/service/plus-service.ts @@ -5,7 +5,7 @@ import { SysInstallInfo, SysLicenseInfo, SysSettingsService } from '../../settin import { merge } from 'lodash-es'; @Provide() -@Scope(ScopeEnum.Singleton) +@Scope(ScopeEnum.Request, { allowDowngrade: true }) export class PlusService { @Inject() sysSettingsService: SysSettingsService; diff --git a/packages/libs/lib-server/src/system/settings/service/sys-settings-service.ts b/packages/libs/lib-server/src/system/settings/service/sys-settings-service.ts index 31517617..6fb8e001 100644 --- a/packages/libs/lib-server/src/system/settings/service/sys-settings-service.ts +++ b/packages/libs/lib-server/src/system/settings/service/sys-settings-service.ts @@ -12,7 +12,7 @@ import * as dns from 'node:dns'; * 设置 */ @Provide() -@Scope(ScopeEnum.Singleton) +@Scope(ScopeEnum.Request, { allowDowngrade: true }) export class SysSettingsService extends BaseService { @InjectEntityModel(SysSettingsEntity) repository: Repository; diff --git a/packages/libs/lib-server/src/user/access/service/access-service.ts b/packages/libs/lib-server/src/user/access/service/access-service.ts index 1b38c81b..86ac92b2 100644 --- a/packages/libs/lib-server/src/user/access/service/access-service.ts +++ b/packages/libs/lib-server/src/user/access/service/access-service.ts @@ -10,7 +10,7 @@ import { EncryptService } from './encrypt-service.js'; * 授权 */ @Provide() -@Scope(ScopeEnum.Singleton) +@Scope(ScopeEnum.Request, { allowDowngrade: true }) export class AccessService extends BaseService { @InjectEntityModel(AccessEntity) repository: Repository; diff --git a/packages/libs/lib-server/src/user/access/service/encrypt-service.ts b/packages/libs/lib-server/src/user/access/service/encrypt-service.ts index 5e787ec2..5cf0ec8b 100644 --- a/packages/libs/lib-server/src/user/access/service/encrypt-service.ts +++ b/packages/libs/lib-server/src/user/access/service/encrypt-service.ts @@ -6,7 +6,7 @@ import { SysPrivateSettings, SysSettingsService } from '../../../system/index.js * 授权 */ @Provide() -@Scope(ScopeEnum.Singleton) +@Scope(ScopeEnum.Request, { allowDowngrade: true }) export class EncryptService { secretKey: Buffer; diff --git a/packages/ui/certd-client/src/api/service.ts b/packages/ui/certd-client/src/api/service.ts index 6eaa291f..1834f6e2 100644 --- a/packages/ui/certd-client/src/api/service.ts +++ b/packages/ui/certd-client/src/api/service.ts @@ -25,6 +25,10 @@ function createService() { if (response.config.responseType === "blob") { return response; } + //@ts-ignore + if (response.config.returnResponse) { + return response; + } // dataAxios 是 axios 返回数据中的 data const dataAxios = response.data; diff --git a/packages/ui/certd-client/src/components/expires-time-text.vue b/packages/ui/certd-client/src/components/expires-time-text.vue index 55a72b6d..1fd2bdee 100644 --- a/packages/ui/certd-client/src/components/expires-time-text.vue +++ b/packages/ui/certd-client/src/components/expires-time-text.vue @@ -1,11 +1,13 @@ @@ -19,8 +21,32 @@ defineOptions({ const props = defineProps<{ value?: number; + mode?: "tag" | "text"; }>(); +const wrapperComp = computed(() => { + if (props.mode === "tag") { + return "a-tag"; + } + return "span"; +}); + +const color = computed(() => { + if (props.value == null) { + return ""; + } + if (props.value === -1) { + return "green"; + } + + //小于3天 红色 + if (dayjs().add(3, "day").valueOf() > props.value) { + return "red"; + } + + return "blue"; +}); + const label = computed(() => { if (props.value == null) { return ""; diff --git a/packages/ui/certd-client/src/layout/components/menu/index.tsx b/packages/ui/certd-client/src/layout/components/menu/index.tsx index 16f97e34..428e443c 100644 --- a/packages/ui/certd-client/src/layout/components/menu/index.tsx +++ b/packages/ui/certd-client/src/layout/components/menu/index.tsx @@ -153,7 +153,7 @@ export default defineComponent({ if (item.value instanceof Array) { return; } - keys.push(item.value.index); + keys.push(item.value.path); }); } }); diff --git a/packages/ui/certd-client/src/layout/layout-framework.vue b/packages/ui/certd-client/src/layout/layout-framework.vue index d843b3c8..223387c9 100644 --- a/packages/ui/certd-client/src/layout/layout-framework.vue +++ b/packages/ui/certd-client/src/layout/layout-framework.vue @@ -1,6 +1,6 @@