diff --git a/packages/core/pipeline/src/access/api.ts b/packages/core/pipeline/src/access/api.ts index a350e8eff..48bafb502 100644 --- a/packages/core/pipeline/src/access/api.ts +++ b/packages/core/pipeline/src/access/api.ts @@ -18,6 +18,7 @@ export type AccessInputDefine = FormItemProps & { encrypt?: boolean; }; export type AccessDefine = Registrable & { + icon?: string; input?: { [key: string]: AccessInputDefine; }; diff --git a/packages/core/pipeline/src/notification/api.ts b/packages/core/pipeline/src/notification/api.ts index 288fadb77..cadd5956e 100644 --- a/packages/core/pipeline/src/notification/api.ts +++ b/packages/core/pipeline/src/notification/api.ts @@ -31,6 +31,7 @@ export type NotificationInputDefine = FormItemProps & { encrypt?: boolean; }; export type NotificationDefine = Registrable & { + needPlus?: boolean; input?: { [key: string]: NotificationInputDefine; }; diff --git a/packages/plugins/plugin-cert/src/access/eab-access.ts b/packages/plugins/plugin-cert/src/access/eab-access.ts index 9702d8d2e..bbfc4b241 100644 --- a/packages/plugins/plugin-cert/src/access/eab-access.ts +++ b/packages/plugins/plugin-cert/src/access/eab-access.ts @@ -4,6 +4,7 @@ import { IsAccess, AccessInput, BaseAccess } from "@certd/pipeline"; name: "eab", title: "EAB授权", desc: "ZeroSSL证书申请需要EAB授权", + icon: "ic:outline-lock", }) export class EabAccess extends BaseAccess { @AccessInput({ diff --git a/packages/plugins/plugin-cert/src/access/google-access.ts b/packages/plugins/plugin-cert/src/access/google-access.ts index efc663555..11b675265 100644 --- a/packages/plugins/plugin-cert/src/access/google-access.ts +++ b/packages/plugins/plugin-cert/src/access/google-access.ts @@ -4,6 +4,7 @@ import { IsAccess, AccessInput, BaseAccess } from "@certd/pipeline"; name: "google", title: "google cloud", desc: "谷歌云授权", + icon: "flat-color-icons:google", }) export class GoogleAccess extends BaseAccess { @AccessInput({ diff --git a/packages/plugins/plugin-cert/src/dns-provider/api.ts b/packages/plugins/plugin-cert/src/dns-provider/api.ts index 3ce830543..49a18cc13 100644 --- a/packages/plugins/plugin-cert/src/dns-provider/api.ts +++ b/packages/plugins/plugin-cert/src/dns-provider/api.ts @@ -3,6 +3,7 @@ import { IAccess, Registrable } from "@certd/pipeline"; export type DnsProviderDefine = Registrable & { accessType: string; + icon?: string; autowire?: { [key: string]: any; }; diff --git a/packages/plugins/plugin-cert/src/plugin/cert-plugin/index.ts b/packages/plugins/plugin-cert/src/plugin/cert-plugin/index.ts index 7b15ddd37..6e8ae9cde 100644 --- a/packages/plugins/plugin-cert/src/plugin/cert-plugin/index.ts +++ b/packages/plugins/plugin-cert/src/plugin/cert-plugin/index.ts @@ -129,12 +129,12 @@ export class CertApplyPlugin extends CertApplyBasePlugin { title: "证书颁发机构", value: "letsencrypt", component: { - name: "a-select", + name: "icon-select", vModel: "value", options: [ - { value: "letsencrypt", label: "Let's Encrypt" }, - { value: "google", label: "Google" }, - { value: "zerossl", label: "ZeroSSL" }, + { value: "letsencrypt", label: "Let's Encrypt", icon: "simple-icons:letsencrypt" }, + { value: "google", label: "Google", icon: "flat-color-icons:google" }, + { value: "zerossl", label: "ZeroSSL", icon: "emojione:digit-zero" }, ], }, helper: "Let's Encrypt:申请最简单\nGoogle:大厂光环,兼容性好,需要翻墙获取EAB授权\nZeroSSL:有数量限制,获取EAB授权无需翻墙", diff --git a/packages/plugins/plugin-lib/src/aliyun/access/aliyun-access.ts b/packages/plugins/plugin-lib/src/aliyun/access/aliyun-access.ts index f12d473ae..eb9ee0c4c 100644 --- a/packages/plugins/plugin-lib/src/aliyun/access/aliyun-access.ts +++ b/packages/plugins/plugin-lib/src/aliyun/access/aliyun-access.ts @@ -4,6 +4,7 @@ import { IsAccess, AccessInput, BaseAccess } from "@certd/pipeline"; name: "aliyun", title: "阿里云授权", desc: "", + icon: "ant-design:aliyun-outlined", }) export class AliyunAccess extends BaseAccess { @AccessInput({ diff --git a/packages/plugins/plugin-lib/src/ssh/ssh-access.ts b/packages/plugins/plugin-lib/src/ssh/ssh-access.ts index 6353b54b4..228bd1e04 100644 --- a/packages/plugins/plugin-lib/src/ssh/ssh-access.ts +++ b/packages/plugins/plugin-lib/src/ssh/ssh-access.ts @@ -5,6 +5,7 @@ import { ConnectConfig } from "ssh2"; name: "ssh", title: "主机登录授权", desc: "", + icon: "clarity:host-line", input: {}, }) export class SshAccess extends BaseAccess implements ConnectConfig { diff --git a/packages/ui/certd-client/src/components/icon-select.vue b/packages/ui/certd-client/src/components/icon-select.vue new file mode 100644 index 000000000..985a31fae --- /dev/null +++ b/packages/ui/certd-client/src/components/icon-select.vue @@ -0,0 +1,16 @@ + + + diff --git a/packages/ui/certd-client/src/components/index.ts b/packages/ui/certd-client/src/components/index.ts index 56d63a73c..93d395178 100644 --- a/packages/ui/certd-client/src/components/index.ts +++ b/packages/ui/certd-client/src/components/index.ts @@ -7,7 +7,8 @@ import FoldBox from "./fold-box.vue"; import { CronLight } from "@vue-js-cron/light"; import "@vue-js-cron/light/dist/light.css"; import Plugins from "./plugins/index"; - +import LoadingButton from "./loading-button.vue"; +import IconSelect from "./icon-select.vue"; export default { install(app: any) { app.component("PiContainer", PiContainer); @@ -22,6 +23,9 @@ export default { app.component("InfoCircleOutlined", InfoCircleOutlined); app.component("UndoOutlined", UndoOutlined); + app.component("LoadingButton", LoadingButton); + app.component("IconSelect", IconSelect); + app.use(vip); app.use(Plugins); } diff --git a/packages/ui/certd-client/src/components/loading-button.vue b/packages/ui/certd-client/src/components/loading-button.vue new file mode 100644 index 000000000..6a7cd5812 --- /dev/null +++ b/packages/ui/certd-client/src/components/loading-button.vue @@ -0,0 +1,24 @@ + + + diff --git a/packages/ui/certd-client/src/components/plugins/cert/dns-provider-selector/index.vue b/packages/ui/certd-client/src/components/plugins/cert/dns-provider-selector/index.vue index 201631a4f..653699829 100644 --- a/packages/ui/certd-client/src/components/plugins/cert/dns-provider-selector/index.vue +++ b/packages/ui/certd-client/src/components/plugins/cert/dns-provider-selector/index.vue @@ -1,5 +1,5 @@