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 a482e4dcb..563a3df7d 100644 --- a/packages/libs/lib-server/src/system/settings/service/models.ts +++ b/packages/libs/lib-server/src/system/settings/service/models.ts @@ -32,6 +32,7 @@ export class SysPublicSettings extends BaseSettings { customFooter?: string; robots?: boolean = true; aiChatEnabled = true; + homePageEnabled = true; //验证码是否开启 @@ -271,4 +272,3 @@ export class SysSafeSetting extends BaseSettings { autoHiddenTimes: 5, }; } - diff --git a/packages/ui/certd-client/src/locales/langs/en-US/certd/sys-settings.ts b/packages/ui/certd-client/src/locales/langs/en-US/certd/sys-settings.ts index cdb4fccc7..b8e62dc17 100644 --- a/packages/ui/certd-client/src/locales/langs/en-US/certd/sys-settings.ts +++ b/packages/ui/certd-client/src/locales/langs/en-US/certd/sys-settings.ts @@ -16,6 +16,7 @@ export default { showRunStrategy: "Show RunStrategy", showRunStrategyHelper: "Allow modify the run strategy of the task", + homePageEnabled: "Enable Home Page", captchaEnabled: "Enable Login Captcha", captchaHelper: "Whether to enable captcha verification for login", diff --git a/packages/ui/certd-client/src/locales/langs/zh-CN/certd/sys-settings.ts b/packages/ui/certd-client/src/locales/langs/zh-CN/certd/sys-settings.ts index df8ac0b7f..2e01e5354 100644 --- a/packages/ui/certd-client/src/locales/langs/zh-CN/certd/sys-settings.ts +++ b/packages/ui/certd-client/src/locales/langs/zh-CN/certd/sys-settings.ts @@ -18,6 +18,7 @@ export default { showRunStrategy: "显示运行策略选择", showRunStrategyHelper: "任务设置中是否允许选择运行策略", + homePageEnabled: "启用首页", captchaEnabled: "启用登录验证码", captchaHelper: "登录时是否启用验证码", diff --git a/packages/ui/certd-client/src/router/guard.ts b/packages/ui/certd-client/src/router/guard.ts index 87c84506f..0acc67df6 100644 --- a/packages/ui/certd-client/src/router/guard.ts +++ b/packages/ui/certd-client/src/router/guard.ts @@ -47,6 +47,13 @@ export function setupCommonGuard(router: Router) { const settingStore = useSettingStore(); await settingStore.initOnce(); + if (to.path === "/" && settingStore.sysPublic?.homePageEnabled === false) { + return { + path: DEFAULT_HOME_PATH, + replace: true, + }; + } + to.meta.loaded = loadedPaths.has(to.path); // 页面加载进度条 diff --git a/packages/ui/certd-client/src/store/settings/api.basic.ts b/packages/ui/certd-client/src/store/settings/api.basic.ts index 30512ec87..8fc64bf79 100644 --- a/packages/ui/certd-client/src/store/settings/api.basic.ts +++ b/packages/ui/certd-client/src/store/settings/api.basic.ts @@ -48,6 +48,7 @@ export type SysPublicSetting = { customFooter?: string; robots?: boolean; aiChatEnabled?: boolean; + homePageEnabled?: boolean; showRunStrategy?: boolean; diff --git a/packages/ui/certd-client/src/store/settings/index.tsx b/packages/ui/certd-client/src/store/settings/index.tsx index 050455452..c5e2bc0d1 100644 --- a/packages/ui/certd-client/src/store/settings/index.tsx +++ b/packages/ui/certd-client/src/store/settings/index.tsx @@ -81,6 +81,7 @@ export const useSettingStore = defineStore({ registerEnabled: false, managerOtherUserPipeline: false, icpNo: env.ICP_NO || "", + homePageEnabled: true, }, installInfo: { siteId: "", 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 e429199e2..d006cde6c 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 @@ -14,6 +14,9 @@ + + + @@ -62,6 +65,7 @@ const formState = reactive>({ public: { icpNo: "", mpsNo: "", + homePageEnabled: true, }, private: {}, });