diff --git a/packages/core/pipeline/src/access/api.ts b/packages/core/pipeline/src/access/api.ts
index a350e8ef..48bafb50 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 288fadb7..cadd5956 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 9702d8d2..bbfc4b24 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 efc66355..11b67526 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 3ce83054..49a18cc1 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 7b15ddd3..6e8ae9cd 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 f12d473a..eb9ee0c4 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 6353b54b..228bd1e0 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 00000000..985a31fa
--- /dev/null
+++ b/packages/ui/certd-client/src/components/icon-select.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+ {{ item.label }}
+
+
+
+
+
+
diff --git a/packages/ui/certd-client/src/components/index.ts b/packages/ui/certd-client/src/components/index.ts
index 56d63a73..93d39517 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 00000000..6a7cd581
--- /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 201631a4..65369982 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 @@
-
+