From 779db9da705d2dfef36fec21f52bd38af9fc5f2e Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Thu, 27 Feb 2025 00:10:07 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E6=98=AF=E5=90=A6=E5=85=81=E8=AE=B8?= =?UTF-8?q?=E7=88=AC=E8=99=AB=E7=88=AC=E5=8F=96=E5=A2=9E=E5=8A=A0ui?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E9=80=89=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/system/settings/service/models.ts | 1 + .../certd-client/src/api/modules/api.basic.ts | 1 + .../src/views/sys/settings/tabs/base.vue | 4 ++++ .../src/controller/basic/root-controller.ts | 18 ++++++++++++++++++ 4 files changed, 24 insertions(+) create mode 100644 packages/ui/certd-server/src/controller/basic/root-controller.ts diff --git a/packages/libs/lib-server/src/system/settings/service/models.ts b/packages/libs/lib-server/src/system/settings/service/models.ts index 0ceabb90..1d53ac8b 100644 --- a/packages/libs/lib-server/src/system/settings/service/models.ts +++ b/packages/libs/lib-server/src/system/settings/service/models.ts @@ -25,6 +25,7 @@ export class SysPublicSettings extends BaseSettings { limitUserPipelineCount = 0; managerOtherUserPipeline = false; icpNo?: string; + robots?: boolean = true; } export class SysPrivateSettings extends BaseSettings { diff --git a/packages/ui/certd-client/src/api/modules/api.basic.ts b/packages/ui/certd-client/src/api/modules/api.basic.ts index 23b46021..29dfb61c 100644 --- a/packages/ui/certd-client/src/api/modules/api.basic.ts +++ b/packages/ui/certd-client/src/api/modules/api.basic.ts @@ -34,6 +34,7 @@ export type SysPublicSetting = { limitUserPipelineCount?: number; managerOtherUserPipeline?: boolean; icpNo?: string; + robots?: boolean; }; export type SuiteSetting = { enabled?: boolean; diff --git a/packages/ui/certd-client/src/views/sys/settings/tabs/base.vue b/packages/ui/certd-client/src/views/sys/settings/tabs/base.vue index f1d24360..54c3df5d 100644 --- a/packages/ui/certd-client/src/views/sys/settings/tabs/base.vue +++ b/packages/ui/certd-client/src/views/sys/settings/tabs/base.vue @@ -13,6 +13,10 @@ + + + +
当某些网站被墙时可以配置
diff --git a/packages/ui/certd-server/src/controller/basic/root-controller.ts b/packages/ui/certd-server/src/controller/basic/root-controller.ts new file mode 100644 index 00000000..ab45671a --- /dev/null +++ b/packages/ui/certd-server/src/controller/basic/root-controller.ts @@ -0,0 +1,18 @@ +import { Controller, Get, Inject, Provide } from '@midwayjs/core'; +import { Constants, SysSettingsService } from '@certd/lib-server'; + +@Provide() +@Controller('/') +export class HomeController { + @Inject() + sysSettingsService: SysSettingsService; + @Get('/robots.txt', { summary: Constants.per.guest }) + async robots(): Promise { + const publicSettings = await this.sysSettingsService.getPublicSettings(); + if (!publicSettings.robots) { + return 'User-agent: *\nDisallow: /'; + } else { + return 'User-agent: *\nAllow: /'; + } + } +}