diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index 4f7d9b2f9..3d72ba949 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -124,6 +124,7 @@ export default defineConfig({ {text: "子域名托管", link: "/guide/use/cert/subdomain.md"}, {text: "流水线有效期", link: "/guide/use/pipeline/valid.md"}, {text: "IP证书申请", link: "/guide/use/cert/ip.md"}, + {text: "插件开发", link: "/guide/use/dev/plugin.md"}, ] }, { diff --git a/docs/guide/use/dev/images/plugin-create.png b/docs/guide/use/dev/images/plugin-create.png new file mode 100644 index 000000000..ee2838a44 Binary files /dev/null and b/docs/guide/use/dev/images/plugin-create.png differ diff --git a/docs/guide/use/dev/images/plugin-edit.png b/docs/guide/use/dev/images/plugin-edit.png new file mode 100644 index 000000000..f75f0dae7 Binary files /dev/null and b/docs/guide/use/dev/images/plugin-edit.png differ diff --git a/docs/guide/use/dev/images/plugin-test1.png b/docs/guide/use/dev/images/plugin-test1.png new file mode 100644 index 000000000..933e8779b Binary files /dev/null and b/docs/guide/use/dev/images/plugin-test1.png differ diff --git a/docs/guide/use/dev/images/plugin-test2.png b/docs/guide/use/dev/images/plugin-test2.png new file mode 100644 index 000000000..917636558 Binary files /dev/null and b/docs/guide/use/dev/images/plugin-test2.png differ diff --git a/docs/guide/use/dev/images/plugin-test3.png b/docs/guide/use/dev/images/plugin-test3.png new file mode 100644 index 000000000..a5f9bf8a5 Binary files /dev/null and b/docs/guide/use/dev/images/plugin-test3.png differ diff --git a/docs/guide/use/dev/plugin.md b/docs/guide/use/dev/plugin.md new file mode 100644 index 000000000..7cc1727f7 --- /dev/null +++ b/docs/guide/use/dev/plugin.md @@ -0,0 +1,19 @@ +# 插件开发 + +## 插件创建 + 点击自定义插件按钮,填写插件基本信息 +![plugin-create.png](images/plugin-create.png) + +创建成功后,会默认打开插件编辑页面,里面默认带有示例代码说明,可以在此基础上进行你的自定义开发 +![plugin-edit.png](images/plugin-edit.png) + +## 插件测试 + + 在流水线中添加插件任务 +![plugin-test.png](images/plugin-test1.png) + + 配置插件任务参数 +![plugin-test.png](images/plugin-test2.png) + + 点击运行,查看插件任务运行结果 +![plugin-test.png](images/plugin-test3.png) diff --git a/docs/guide/use/setting/images/user_valid_enable.png b/docs/guide/use/setting/images/user_valid_enable.png new file mode 100644 index 000000000..6d23f29ff Binary files /dev/null and b/docs/guide/use/setting/images/user_valid_enable.png differ diff --git a/docs/guide/use/setting/images/user_valid_set.png b/docs/guide/use/setting/images/user_valid_set.png new file mode 100644 index 000000000..8b139ffdd Binary files /dev/null and b/docs/guide/use/setting/images/user_valid_set.png differ diff --git a/docs/guide/use/setting/oauth.md b/docs/guide/use/setting/oauth.md new file mode 100644 index 000000000..fed3f2129 --- /dev/null +++ b/docs/guide/use/setting/oauth.md @@ -0,0 +1,2 @@ +# 第三方登录配置 + diff --git a/docs/guide/use/setting/user-valid.md b/docs/guide/use/setting/user-valid.md new file mode 100644 index 000000000..86de61f86 --- /dev/null +++ b/docs/guide/use/setting/user-valid.md @@ -0,0 +1,11 @@ +# 用户有效期功能 + +可以为用户设置有效期,超过有效期后,用户的流水线将停止运行 + +## 开启用户有效期功能 + +![开启用户有效期功能](images/user_valid_enable.png) + +## 设置用户有效期 + +![设置用户有效期](images/user_valid_set.png) diff --git a/packages/core/pipeline/src/context/index.ts b/packages/core/pipeline/src/context/index.ts index 2d987bc02..709a1b1af 100644 --- a/packages/core/pipeline/src/context/index.ts +++ b/packages/core/pipeline/src/context/index.ts @@ -11,11 +11,11 @@ export type PageSearch = { // sortOrder?: "asc" | "desc"; }; -export type PageRes = { +export type PageRes = { pageNo?: number; pageSize?: number; - total?: string; - list: any[]; + total?: number; + list: T[]; }; export class Pager { diff --git a/packages/plugins/plugin-lib/src/cert/dns-provider/api.ts b/packages/plugins/plugin-lib/src/cert/dns-provider/api.ts index 6f775ab91..60937b42a 100644 --- a/packages/plugins/plugin-lib/src/cert/dns-provider/api.ts +++ b/packages/plugins/plugin-lib/src/cert/dns-provider/api.ts @@ -1,5 +1,5 @@ import { HttpClient, ILogger, utils } from "@certd/basic"; -import { IAccess, IServiceGetter, Registrable } from "@certd/pipeline"; +import { IAccess, IServiceGetter, Pager, PageRes, Registrable } from "@certd/pipeline"; export type DnsProviderDefine = Registrable & { accessType: string; @@ -28,6 +28,12 @@ export type DnsProviderContext = { serviceGetter: IServiceGetter; }; +export type DomainRecord = { + id: string; + domain: string; + thirdDns: boolean; +}; + export interface IDnsProvider { onInstance(): Promise; @@ -51,6 +57,8 @@ export interface IDnsProvider { //中文域名是否需要punycode转码,如果返回True,则使用punycode来添加解析记录,否则使用中文域名添加解析记录 usePunyCode(): boolean; + + getDomainListPage(pager: Pager): Promise>; } export interface ISubDomainsGetter { diff --git a/packages/plugins/plugin-lib/src/cert/dns-provider/base.ts b/packages/plugins/plugin-lib/src/cert/dns-provider/base.ts index 543e67ea5..ddd5c259c 100644 --- a/packages/plugins/plugin-lib/src/cert/dns-provider/base.ts +++ b/packages/plugins/plugin-lib/src/cert/dns-provider/base.ts @@ -1,4 +1,5 @@ -import { CreateRecordOptions, DnsProviderContext, DnsProviderDefine, IDnsProvider, RemoveRecordOptions } from "./api.js"; +import { Pager, PageRes } from "@certd/pipeline"; +import { CreateRecordOptions, DnsProviderContext, DnsProviderDefine, DomainRecord, IDnsProvider, RemoveRecordOptions } from "./api.js"; import { dnsProviderRegistry } from "./registry.js"; import { HttpClient, ILogger } from "@certd/basic"; import punycode from "punycode.js"; @@ -44,6 +45,10 @@ export abstract class AbstractDnsProvider implements IDnsProvider { abstract onInstance(): Promise; abstract removeRecord(options: RemoveRecordOptions): Promise; + + async getDomainListPage(pager: Pager): Promise> { + throw new Error("Method not implemented."); + } } export async function createDnsProvider(opts: { dnsProviderType: string; context: DnsProviderContext }): Promise { diff --git a/packages/ui/certd-client/src/locales/langs/en-US/certd.ts b/packages/ui/certd-client/src/locales/langs/en-US/certd.ts index 471c16c94..704927e8e 100644 --- a/packages/ui/certd-client/src/locales/langs/en-US/certd.ts +++ b/packages/ui/certd-client/src/locales/langs/en-US/certd.ts @@ -36,6 +36,7 @@ export default { title: "Framework", home: "Home", }, + helpDocLink: "Help Docs", title: "Certificate Automation", pipeline: "Pipeline", pipelineEdit: "Edit Pipeline", diff --git a/packages/ui/certd-client/src/locales/langs/zh-CN/certd.ts b/packages/ui/certd-client/src/locales/langs/zh-CN/certd.ts index b08958347..102a8cdcf 100644 --- a/packages/ui/certd-client/src/locales/langs/zh-CN/certd.ts +++ b/packages/ui/certd-client/src/locales/langs/zh-CN/certd.ts @@ -40,7 +40,7 @@ export default { title: "框架", home: "首页", }, - + helpDocLink: "帮助文档", title: "证书自动化", pipeline: "证书自动化流水线", pipelineEdit: "编辑流水线", 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 044421b85..4b2b92189 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 @@ -34,7 +34,7 @@ {{ t("certd.ipv4Priority") }} {{ t("certd.ipv6Priority") }} -
{{ t("certd.dualStackNetworkHelper") }}
+
{{ t("certd.dualStackNetworkHelper") }}, {{ t("certd.helpDocLink") }}
diff --git a/packages/ui/certd-client/src/views/sys/settings/tabs/pipeline.vue b/packages/ui/certd-client/src/views/sys/settings/tabs/pipeline.vue index ea3aaf77b..22ff625cb 100644 --- a/packages/ui/certd-client/src/views/sys/settings/tabs/pipeline.vue +++ b/packages/ui/certd-client/src/views/sys/settings/tabs/pipeline.vue @@ -21,7 +21,10 @@ -
{{ t("certd.sys.setting.certDomainAddToMonitorEnabledHelper") }}
+
+ {{ t("certd.sys.setting.certDomainAddToMonitorEnabledHelper") }} + {{ t("certd.helpDocLink") }} +
diff --git a/packages/ui/certd-client/src/views/sys/settings/tabs/register.vue b/packages/ui/certd-client/src/views/sys/settings/tabs/register.vue index 28c2e68dd..86ede9ab2 100644 --- a/packages/ui/certd-client/src/views/sys/settings/tabs/register.vue +++ b/packages/ui/certd-client/src/views/sys/settings/tabs/register.vue @@ -12,7 +12,10 @@ -
{{ t("certd.userValidityPeriodHelper") }}
+
+ {{ t("certd.userValidityPeriodHelper") }} + {{ t("certd.helpDocLink") }} +