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: /'; + } + } +}