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 05391a606..af7ddf052 100644 --- a/packages/libs/lib-server/src/system/settings/service/models.ts +++ b/packages/libs/lib-server/src/system/settings/service/models.ts @@ -36,7 +36,7 @@ export class SysPublicSettings extends BaseSettings { captchaEnabled = false; //验证码类型 captchaType?: string; - captchaAddonId?:string; + captchaAddonId?:number; } export class SysPrivateSettings extends BaseSettings { diff --git a/packages/libs/lib-server/src/user/addon/service/addon-service.ts b/packages/libs/lib-server/src/user/addon/service/addon-service.ts index a4a9ba7d5..d58d2453c 100644 --- a/packages/libs/lib-server/src/user/addon/service/addon-service.ts +++ b/packages/libs/lib-server/src/user/addon/service/addon-service.ts @@ -76,9 +76,21 @@ export class AddonService extends BaseService { } async getAddonById(id: any, checkUserId: boolean, userId?: number): Promise { + const ctx = { + http: http, + logger: logger, + utils: utils, + }; + + + if (!id){ + //使用图片验证码 + return await newAddon("captcha", "image", {},ctx); + } const entity = await this.info(id); if (entity == null) { - throw new Error(`该Addon配置不存在,请确认是否已被删除:id=${id}`); + //使用图片验证码 + return await newAddon("captcha", "image", {},ctx); } if (checkUserId) { if (userId == null) { @@ -89,17 +101,12 @@ export class AddonService extends BaseService { } } - // const access = accessRegistry.get(entity.type); const setting = JSON.parse(entity.setting ??"{}") const input = { id: entity.id, ...setting, }; - const ctx = { - http: http, - logger: logger, - utils: utils, - }; + return await newAddon(entity.addonType, entity.type, input,ctx); } diff --git a/packages/ui/certd-client/src/components/captcha/captcha-input.vue b/packages/ui/certd-client/src/components/captcha/captcha-input.vue new file mode 100644 index 000000000..3a348c332 --- /dev/null +++ b/packages/ui/certd-client/src/components/captcha/captcha-input.vue @@ -0,0 +1,50 @@ + + diff --git a/packages/ui/certd-client/src/views/framework/login/captcha-input.vue b/packages/ui/certd-client/src/components/captcha/captchas/geetest_captcha.vue similarity index 52% rename from packages/ui/certd-client/src/views/framework/login/captcha-input.vue rename to packages/ui/certd-client/src/components/captcha/captchas/geetest_captcha.vue index a910b8d45..926b9da96 100644 --- a/packages/ui/certd-client/src/views/framework/login/captcha-input.vue +++ b/packages/ui/certd-client/src/components/captcha/captchas/geetest_captcha.vue @@ -1,64 +1,56 @@