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 50be68713..3312679d0 100644 --- a/packages/libs/lib-server/src/system/settings/service/models.ts +++ b/packages/libs/lib-server/src/system/settings/service/models.ts @@ -16,7 +16,7 @@ export class SysPublicSettings extends BaseSettings { static __access__ = 'public'; registerEnabled = false; - userValidTimeEnabled?:boolean = false; + userValidTimeEnabled?: boolean = false; passwordLoginEnabled = true; usernameRegisterEnabled = true; mobileRegisterEnabled = false; @@ -36,7 +36,7 @@ export class SysPublicSettings extends BaseSettings { captchaEnabled = false; //验证码类型 captchaType?: string; - captchaAddonId?:number; + captchaAddonId?: number; @@ -49,6 +49,14 @@ export class SysPublicSettings extends BaseSettings { // 固定证书有效期天数,0表示不固定 fixedCertExpireDays?: number; + // 第三方OAuth配置 + oauthEnabled?: boolean = false; + oauthProviders: Record = {}; + } export class SysPrivateSettings extends BaseSettings { @@ -69,9 +77,9 @@ export class SysPrivateSettings extends BaseSettings { type?: string; config?: any; } = { - type: 'aliyun', - config: {}, - }; + type: 'aliyun', + config: {}, + }; removeSecret() { const clone = cloneDeep(this); @@ -196,7 +204,7 @@ export class SysSuiteSetting extends BaseSettings { static __key__ = 'sys.suite'; static __access__ = 'private'; - enabled:boolean = false; + enabled: boolean = false; registerGift?: { productId: number; @@ -221,22 +229,9 @@ export class SysSafeSetting extends BaseSettings { static __access__ = 'private'; // 站点隐藏 - hidden:SiteHidden = { + hidden: SiteHidden = { enabled: false, - hiddenOpenApi:false, + hiddenOpenApi: false, autoHiddenTimes: 5, }; } - - -export class SysOauthSetting extends BaseSettings { - static __title__ = 'OAuth设置'; - static __key__ = 'sys.oauth'; - static __access__ = 'private'; - - oauths: Record = {}; -} 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 b009c4751..55928d9bf 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,7 +76,7 @@ export class AddonService extends BaseService { getDefineList(addonType: string) { - return addonRegistry.getDefineList(); + return addonRegistry.getDefineList(addonType); } getDefineByType(type: string, prefix?: string) { diff --git a/packages/ui/certd-client/src/router/source/outside.ts b/packages/ui/certd-client/src/router/source/outside.ts index 5c9bdfa4b..8aa984baf 100644 --- a/packages/ui/certd-client/src/router/source/outside.ts +++ b/packages/ui/certd-client/src/router/source/outside.ts @@ -32,6 +32,14 @@ export const outsideResource = [ path: "/forgotPassword", component: "/framework/forgot-password/index.vue", }, + { + meta: { + title: "第三方登录回调", + }, + name: "oauthCallback", + path: "/oauth/callback/:type", + component: "/framework/oauth/oauth-callback.vue", + }, ], }, ...errorPage, 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 f8c198523..c041db411 100644 --- a/packages/ui/certd-client/src/store/settings/api.basic.ts +++ b/packages/ui/certd-client/src/store/settings/api.basic.ts @@ -59,6 +59,17 @@ export type SysPublicSetting = { // 固定证书有效期天数,0表示不固定 fixedCertExpireDays?: number; + + // 第三方OAuth配置 + oauthEnabled?: boolean; + oauthProviders?: Record< + string, + { + type: string; + title: string; + addonId: number; + } + >; }; export type SuiteSetting = { enabled?: boolean; diff --git a/packages/ui/certd-client/src/views/certd/addon/addon-selector/index.vue b/packages/ui/certd-client/src/views/certd/addon/addon-selector/index.vue index d64884aa5..104035363 100644 --- a/packages/ui/certd-client/src/views/certd/addon/addon-selector/index.vue +++ b/packages/ui/certd-client/src/views/certd/addon/addon-selector/index.vue @@ -82,6 +82,7 @@ function createCrudOptionsWithApi(opts: any) { opts.context = { api, addonType: props.addonType, + type: props.type, }; return createCrudOptions(opts); } diff --git a/packages/ui/certd-client/src/views/certd/addon/common.tsx b/packages/ui/certd-client/src/views/certd/addon/common.tsx index 191786dcc..3177e24ed 100644 --- a/packages/ui/certd-client/src/views/certd/addon/common.tsx +++ b/packages/ui/certd-client/src/views/certd/addon/common.tsx @@ -110,7 +110,8 @@ export function getCommonColumnDefine(crudExpose: any, typeRef: any, api: any, a type: "dict-select", dict: addonTypeDictRef, search: { - show: false, + show: true, + valueChange: null, }, column: { width: 200, diff --git a/packages/ui/certd-client/src/views/certd/addon/crud.tsx b/packages/ui/certd-client/src/views/certd/addon/crud.tsx index 73f00f03c..e606a8659 100644 --- a/packages/ui/certd-client/src/views/certd/addon/crud.tsx +++ b/packages/ui/certd-client/src/views/certd/addon/crud.tsx @@ -5,7 +5,12 @@ import { AddReq, CreateCrudOptionsProps, CreateCrudOptionsRet, DelReq, EditReq, export default function ({ crudExpose, context }: CreateCrudOptionsProps): CreateCrudOptionsRet { const api = context.api; const addonType = context.addonType; + const type = context.type; const pageRequest = async (query: UserPageQuery): Promise => { + if (query.query?.body) { + delete query.query.body; + } + return await api.GetList(query); }; const editRequest = async (req: EditReq) => { @@ -44,6 +49,12 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat }, }, }, + addForm: { + initialForm: { + addonType: addonType, + type: type, + }, + }, rowHandle: { width: 200, }, diff --git a/packages/ui/certd-client/src/views/framework/login/index.vue b/packages/ui/certd-client/src/views/framework/login/index.vue index f7a26658f..d2a2bd6a9 100644 --- a/packages/ui/certd-client/src/views/framework/login/index.vue +++ b/packages/ui/certd-client/src/views/framework/login/index.vue @@ -51,7 +51,7 @@ {{ t("authentication.loginButton") }} -
+
{{ t("authentication.forgotPassword") }} @@ -61,10 +61,14 @@