refactor: clean code
This commit is contained in:
@@ -6,7 +6,7 @@ import { createSchemaFieldRule } from "antd-zod";
|
||||
import { z } from "zod";
|
||||
|
||||
import { useAntdForm } from "@/hooks";
|
||||
import { ACCESS_PROVIDER_TYPES, type AccessModel } from "@/domain/access";
|
||||
import { ACCESS_PROVIDERS, type AccessModel } from "@/domain/access";
|
||||
import AccessTypeSelect from "./AccessTypeSelect";
|
||||
import AccessEditFormACMEHttpReqConfig from "./AccessEditFormACMEHttpReqConfig";
|
||||
import AccessEditFormAliyunConfig from "./AccessEditFormAliyunConfig";
|
||||
@@ -55,7 +55,7 @@ const AccessEditForm = forwardRef<AccessEditFormInstance, AccessEditFormProps>((
|
||||
.trim()
|
||||
.min(1, t("access.form.name.placeholder"))
|
||||
.max(64, t("common.errmsg.string_max", { max: 64 })),
|
||||
configType: z.nativeEnum(ACCESS_PROVIDER_TYPES, { message: t("access.form.type.placeholder") }),
|
||||
configType: z.nativeEnum(ACCESS_PROVIDERS, { message: t("access.form.type.placeholder") }),
|
||||
config: z.any(),
|
||||
});
|
||||
const formRule = createSchemaFieldRule(formSchema);
|
||||
@@ -77,43 +77,43 @@ const AccessEditForm = forwardRef<AccessEditFormInstance, AccessEditFormProps>((
|
||||
*/
|
||||
const configFormProps = { form: configFormInst, formName: configFormName, disabled: disabled, initialValues: initialValues?.config };
|
||||
switch (configType) {
|
||||
case ACCESS_PROVIDER_TYPES.ACMEHTTPREQ:
|
||||
case ACCESS_PROVIDERS.ACMEHTTPREQ:
|
||||
return <AccessEditFormACMEHttpReqConfig {...configFormProps} />;
|
||||
case ACCESS_PROVIDER_TYPES.ALIYUN:
|
||||
case ACCESS_PROVIDERS.ALIYUN:
|
||||
return <AccessEditFormAliyunConfig {...configFormProps} />;
|
||||
case ACCESS_PROVIDER_TYPES.AWS:
|
||||
case ACCESS_PROVIDERS.AWS:
|
||||
return <AccessEditFormAWSConfig {...configFormProps} />;
|
||||
case ACCESS_PROVIDER_TYPES.BAIDUCLOUD:
|
||||
case ACCESS_PROVIDERS.BAIDUCLOUD:
|
||||
return <AccessEditFormBaiduCloudConfig {...configFormProps} />;
|
||||
case ACCESS_PROVIDER_TYPES.BYTEPLUS:
|
||||
case ACCESS_PROVIDERS.BYTEPLUS:
|
||||
return <AccessEditFormBytePlusConfig {...configFormProps} />;
|
||||
case ACCESS_PROVIDER_TYPES.CLOUDFLARE:
|
||||
case ACCESS_PROVIDERS.CLOUDFLARE:
|
||||
return <AccessEditFormCloudflareConfig {...configFormProps} />;
|
||||
case ACCESS_PROVIDER_TYPES.DOGECLOUD:
|
||||
case ACCESS_PROVIDERS.DOGECLOUD:
|
||||
return <AccessEditFormDogeCloudConfig {...configFormProps} />;
|
||||
case ACCESS_PROVIDER_TYPES.GODADDY:
|
||||
case ACCESS_PROVIDERS.GODADDY:
|
||||
return <AccessEditFormGoDaddyConfig {...configFormProps} />;
|
||||
case ACCESS_PROVIDER_TYPES.HUAWEICLOUD:
|
||||
case ACCESS_PROVIDERS.HUAWEICLOUD:
|
||||
return <AccessEditFormHuaweiCloudConfig {...configFormProps} />;
|
||||
case ACCESS_PROVIDER_TYPES.KUBERNETES:
|
||||
case ACCESS_PROVIDERS.KUBERNETES:
|
||||
return <AccessEditFormKubernetesConfig {...configFormProps} />;
|
||||
case ACCESS_PROVIDER_TYPES.LOCAL:
|
||||
case ACCESS_PROVIDERS.LOCAL:
|
||||
return <AccessEditFormLocalConfig {...configFormProps} />;
|
||||
case ACCESS_PROVIDER_TYPES.NAMEDOTCOM:
|
||||
case ACCESS_PROVIDERS.NAMEDOTCOM:
|
||||
return <AccessEditFormNameDotComConfig {...configFormProps} />;
|
||||
case ACCESS_PROVIDER_TYPES.NAMESILO:
|
||||
case ACCESS_PROVIDERS.NAMESILO:
|
||||
return <AccessEditFormNameSiloConfig {...configFormProps} />;
|
||||
case ACCESS_PROVIDER_TYPES.POWERDNS:
|
||||
case ACCESS_PROVIDERS.POWERDNS:
|
||||
return <AccessEditFormPowerDNSConfig {...configFormProps} />;
|
||||
case ACCESS_PROVIDER_TYPES.QINIU:
|
||||
case ACCESS_PROVIDERS.QINIU:
|
||||
return <AccessEditFormQiniuConfig {...configFormProps} />;
|
||||
case ACCESS_PROVIDER_TYPES.SSH:
|
||||
case ACCESS_PROVIDERS.SSH:
|
||||
return <AccessEditFormSSHConfig {...configFormProps} />;
|
||||
case ACCESS_PROVIDER_TYPES.TENCENTCLOUD:
|
||||
case ACCESS_PROVIDERS.TENCENTCLOUD:
|
||||
return <AccessEditFormTencentCloudConfig {...configFormProps} />;
|
||||
case ACCESS_PROVIDER_TYPES.VOLCENGINE:
|
||||
case ACCESS_PROVIDERS.VOLCENGINE:
|
||||
return <AccessEditFormVolcEngineConfig {...configFormProps} />;
|
||||
case ACCESS_PROVIDER_TYPES.WEBHOOK:
|
||||
case ACCESS_PROVIDERS.WEBHOOK:
|
||||
return <AccessEditFormWebhookConfig {...configFormProps} />;
|
||||
}
|
||||
}, [disabled, initialValues, configType, configFormInst, configFormName]);
|
||||
|
||||
@@ -2,7 +2,7 @@ import { memo } from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { Avatar, Select, Space, Tag, Typography, type SelectProps } from "antd";
|
||||
|
||||
import { ACCESS_PROVIDER_USAGES, accessProvidersMap } from "@/domain/access";
|
||||
import { ACCESS_USAGES, accessProvidersMap } from "@/domain/access";
|
||||
|
||||
export type AccessTypeSelectProps = Omit<
|
||||
SelectProps,
|
||||
@@ -29,17 +29,17 @@ const AccessTypeSelect = (props: AccessTypeSelectProps) => {
|
||||
</Typography.Text>
|
||||
</Space>
|
||||
<div>
|
||||
{provider?.usage === ACCESS_PROVIDER_USAGES.APPLY && (
|
||||
{provider?.usage === ACCESS_USAGES.APPLY && (
|
||||
<>
|
||||
<Tag color="orange">{t("access.props.provider.usage.dns")}</Tag>
|
||||
</>
|
||||
)}
|
||||
{provider?.usage === ACCESS_PROVIDER_USAGES.DEPLOY && (
|
||||
{provider?.usage === ACCESS_USAGES.DEPLOY && (
|
||||
<>
|
||||
<Tag color="blue">{t("access.props.provider.usage.host")}</Tag>
|
||||
</>
|
||||
)}
|
||||
{provider?.usage === ACCESS_PROVIDER_USAGES.ALL && (
|
||||
{provider?.usage === ACCESS_USAGES.ALL && (
|
||||
<>
|
||||
<Tag color="orange">{t("access.props.provider.usage.dns")}</Tag>
|
||||
<Tag color="blue">{t("access.props.provider.usage.host")}</Tag>
|
||||
|
||||
@@ -67,9 +67,9 @@ const Node = ({ data }: NodeProps) => {
|
||||
case WorkflowNodeType.Notify: {
|
||||
const channelLabel = notifyChannelsMap.get(data.config?.channel as string);
|
||||
return (
|
||||
<div className="flex space-x-2 items-baseline">
|
||||
<div className="text-stone-700 w-12 truncate">{t(channelLabel?.name ?? "")}</div>
|
||||
<div className="text-muted-foreground truncate">{(data.config?.title as string) ?? ""}</div>
|
||||
<div className="flex space-x-2 items-center justify-between">
|
||||
<div className="text-stone-700 truncate">{t(channelLabel?.name ?? "")}</div>
|
||||
<div className="text-muted-foreground truncate">{(data.config?.subject as string) ?? ""}</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ import ModalForm from "@/components/core/ModalForm";
|
||||
import MultipleInput from "@/components/core/MultipleInput";
|
||||
import { usePanel } from "../PanelProvider";
|
||||
import { useAntdForm, useZustandShallowSelector } from "@/hooks";
|
||||
import { ACCESS_PROVIDER_USAGES, accessProvidersMap } from "@/domain/access";
|
||||
import { ACCESS_USAGES, accessProvidersMap } from "@/domain/access";
|
||||
import { type WorkflowNode, type WorkflowNodeConfig } from "@/domain/workflow";
|
||||
import { useContactStore } from "@/stores/contact";
|
||||
import { useWorkflowStore } from "@/stores/workflow";
|
||||
@@ -163,7 +163,7 @@ const ApplyNodeForm = ({ data }: ApplyNodeFormProps) => {
|
||||
}
|
||||
onSubmit={(record) => {
|
||||
const provider = accessProvidersMap.get(record.configType);
|
||||
if (ACCESS_PROVIDER_USAGES.ALL === provider?.usage || ACCESS_PROVIDER_USAGES.APPLY === provider?.usage) {
|
||||
if (ACCESS_USAGES.ALL === provider?.usage || ACCESS_USAGES.APPLY === provider?.usage) {
|
||||
formInst.setFieldValue("access", record.id);
|
||||
}
|
||||
}}
|
||||
@@ -176,7 +176,7 @@ const ApplyNodeForm = ({ data }: ApplyNodeFormProps) => {
|
||||
placeholder={t("workflow.nodes.apply.form.access.placeholder")}
|
||||
filter={(record) => {
|
||||
const provider = accessProvidersMap.get(record.configType);
|
||||
return ACCESS_PROVIDER_USAGES.ALL === provider?.usage || ACCESS_PROVIDER_USAGES.APPLY === provider?.usage;
|
||||
return ACCESS_USAGES.ALL === provider?.usage || ACCESS_USAGES.APPLY === provider?.usage;
|
||||
}}
|
||||
/>
|
||||
</Form.Item>
|
||||
|
||||
@@ -2,65 +2,65 @@
|
||||
注意:如果追加新的常量值,请保持以 ASCII 排序。
|
||||
NOTICE: If you add new constant, please keep ASCII order.
|
||||
*/
|
||||
export const ACCESS_PROVIDER_TYPE_ACMEHTTPREQ = "acmehttpreq" as const;
|
||||
export const ACCESS_PROVIDER_TYPE_ALIYUN = "aliyun" as const;
|
||||
export const ACCESS_PROVIDER_TYPE_AWS = "aws" as const;
|
||||
export const ACCESS_PROVIDER_TYPE_BAIDUCLOUD = "baiducloud" as const;
|
||||
export const ACCESS_PROVIDER_TYPE_BYTEPLUS = "byteplus" as const;
|
||||
export const ACCESS_PROVIDER_TYPE_CLOUDFLARE = "cloudflare" as const;
|
||||
export const ACCESS_PROVIDER_TYPE_DOGECLOUD = "dogecloud" as const;
|
||||
export const ACCESS_PROVIDER_TYPE_GODADDY = "godaddy" as const;
|
||||
export const ACCESS_PROVIDER_TYPE_HUAWEICLOUD = "huaweicloud" as const;
|
||||
export const ACCESS_PROVIDER_TYPE_KUBERNETES = "k8s" as const;
|
||||
export const ACCESS_PROVIDER_TYPE_LOCAL = "local" as const;
|
||||
export const ACCESS_PROVIDER_TYPE_NAMEDOTCOM = "namedotcom" as const;
|
||||
export const ACCESS_PROVIDER_TYPE_NAMESILO = "namesilo" as const;
|
||||
export const ACCESS_PROVIDER_TYPE_POWERDNS = "powerdns" as const;
|
||||
export const ACCESS_PROVIDER_TYPE_QINIU = "qiniu" as const;
|
||||
export const ACCESS_PROVIDER_TYPE_SSH = "ssh" as const;
|
||||
export const ACCESS_PROVIDER_TYPE_TENCENTCLOUD = "tencentcloud" as const;
|
||||
export const ACCESS_PROVIDER_TYPE_VOLCENGINE = "volcengine" as const;
|
||||
export const ACCESS_PROVIDER_TYPE_WEBHOOK = "webhook" as const;
|
||||
export const ACCESS_PROVIDER_TYPES = Object.freeze({
|
||||
ACMEHTTPREQ: ACCESS_PROVIDER_TYPE_ACMEHTTPREQ,
|
||||
ALIYUN: ACCESS_PROVIDER_TYPE_ALIYUN,
|
||||
AWS: ACCESS_PROVIDER_TYPE_AWS,
|
||||
BAIDUCLOUD: ACCESS_PROVIDER_TYPE_BAIDUCLOUD,
|
||||
BYTEPLUS: ACCESS_PROVIDER_TYPE_BYTEPLUS,
|
||||
CLOUDFLARE: ACCESS_PROVIDER_TYPE_CLOUDFLARE,
|
||||
DOGECLOUD: ACCESS_PROVIDER_TYPE_DOGECLOUD,
|
||||
GODADDY: ACCESS_PROVIDER_TYPE_GODADDY,
|
||||
HUAWEICLOUD: ACCESS_PROVIDER_TYPE_HUAWEICLOUD,
|
||||
KUBERNETES: ACCESS_PROVIDER_TYPE_KUBERNETES,
|
||||
LOCAL: ACCESS_PROVIDER_TYPE_LOCAL,
|
||||
NAMEDOTCOM: ACCESS_PROVIDER_TYPE_NAMEDOTCOM,
|
||||
NAMESILO: ACCESS_PROVIDER_TYPE_NAMESILO,
|
||||
POWERDNS: ACCESS_PROVIDER_TYPE_POWERDNS,
|
||||
QINIU: ACCESS_PROVIDER_TYPE_QINIU,
|
||||
SSH: ACCESS_PROVIDER_TYPE_SSH,
|
||||
TENCENTCLOUD: ACCESS_PROVIDER_TYPE_TENCENTCLOUD,
|
||||
VOLCENGINE: ACCESS_PROVIDER_TYPE_VOLCENGINE,
|
||||
WEBHOOK: ACCESS_PROVIDER_TYPE_WEBHOOK,
|
||||
export const ACCESS_PROVIDER_ACMEHTTPREQ = "acmehttpreq" as const;
|
||||
export const ACCESS_PROVIDER_ALIYUN = "aliyun" as const;
|
||||
export const ACCESS_PROVIDER_AWS = "aws" as const;
|
||||
export const ACCESS_PROVIDER_BAIDUCLOUD = "baiducloud" as const;
|
||||
export const ACCESS_PROVIDER_BYTEPLUS = "byteplus" as const;
|
||||
export const ACCESS_PROVIDER_CLOUDFLARE = "cloudflare" as const;
|
||||
export const ACCESS_PROVIDER_DOGECLOUD = "dogecloud" as const;
|
||||
export const ACCESS_PROVIDER_GODADDY = "godaddy" as const;
|
||||
export const ACCESS_PROVIDER_HUAWEICLOUD = "huaweicloud" as const;
|
||||
export const ACCESS_PROVIDER_KUBERNETES = "k8s" as const;
|
||||
export const ACCESS_PROVIDER_LOCAL = "local" as const;
|
||||
export const ACCESS_PROVIDER_NAMEDOTCOM = "namedotcom" as const;
|
||||
export const ACCESS_PROVIDER_NAMESILO = "namesilo" as const;
|
||||
export const ACCESS_PROVIDER_POWERDNS = "powerdns" as const;
|
||||
export const ACCESS_PROVIDER_QINIU = "qiniu" as const;
|
||||
export const ACCESS_PROVIDER_SSH = "ssh" as const;
|
||||
export const ACCESS_PROVIDER_TENCENTCLOUD = "tencentcloud" as const;
|
||||
export const ACCESS_PROVIDER_VOLCENGINE = "volcengine" as const;
|
||||
export const ACCESS_PROVIDER_WEBHOOK = "webhook" as const;
|
||||
export const ACCESS_PROVIDERS = Object.freeze({
|
||||
ACMEHTTPREQ: ACCESS_PROVIDER_ACMEHTTPREQ,
|
||||
ALIYUN: ACCESS_PROVIDER_ALIYUN,
|
||||
AWS: ACCESS_PROVIDER_AWS,
|
||||
BAIDUCLOUD: ACCESS_PROVIDER_BAIDUCLOUD,
|
||||
BYTEPLUS: ACCESS_PROVIDER_BYTEPLUS,
|
||||
CLOUDFLARE: ACCESS_PROVIDER_CLOUDFLARE,
|
||||
DOGECLOUD: ACCESS_PROVIDER_DOGECLOUD,
|
||||
GODADDY: ACCESS_PROVIDER_GODADDY,
|
||||
HUAWEICLOUD: ACCESS_PROVIDER_HUAWEICLOUD,
|
||||
KUBERNETES: ACCESS_PROVIDER_KUBERNETES,
|
||||
LOCAL: ACCESS_PROVIDER_LOCAL,
|
||||
NAMEDOTCOM: ACCESS_PROVIDER_NAMEDOTCOM,
|
||||
NAMESILO: ACCESS_PROVIDER_NAMESILO,
|
||||
POWERDNS: ACCESS_PROVIDER_POWERDNS,
|
||||
QINIU: ACCESS_PROVIDER_QINIU,
|
||||
SSH: ACCESS_PROVIDER_SSH,
|
||||
TENCENTCLOUD: ACCESS_PROVIDER_TENCENTCLOUD,
|
||||
VOLCENGINE: ACCESS_PROVIDER_VOLCENGINE,
|
||||
WEBHOOK: ACCESS_PROVIDER_WEBHOOK,
|
||||
} as const);
|
||||
|
||||
export type AccessProviderTypes = (typeof ACCESS_PROVIDER_TYPES)[keyof typeof ACCESS_PROVIDER_TYPES];
|
||||
export type AccessProviderType = (typeof ACCESS_PROVIDERS)[keyof typeof ACCESS_PROVIDERS];
|
||||
|
||||
export const ACCESS_PROVIDER_USAGE_ALL = "all" as const;
|
||||
export const ACCESS_PROVIDER_USAGE_APPLY = "apply" as const;
|
||||
export const ACCESS_PROVIDER_USAGE_DEPLOY = "deploy" as const;
|
||||
export const ACCESS_PROVIDER_USAGES = Object.freeze({
|
||||
ALL: ACCESS_PROVIDER_USAGE_ALL,
|
||||
APPLY: ACCESS_PROVIDER_USAGE_APPLY,
|
||||
DEPLOY: ACCESS_PROVIDER_USAGE_DEPLOY,
|
||||
export const ACCESS_USAGE_ALL = "all" as const;
|
||||
export const ACCESS_USAGE_APPLY = "apply" as const;
|
||||
export const ACCESS_USAGE_DEPLOY = "deploy" as const;
|
||||
export const ACCESS_USAGES = Object.freeze({
|
||||
ALL: ACCESS_USAGE_ALL,
|
||||
APPLY: ACCESS_USAGE_APPLY,
|
||||
DEPLOY: ACCESS_USAGE_DEPLOY,
|
||||
} as const);
|
||||
|
||||
export type AccessProviderUsages = (typeof ACCESS_PROVIDER_USAGES)[keyof typeof ACCESS_PROVIDER_USAGES];
|
||||
export type AccessUsageType = (typeof ACCESS_USAGES)[keyof typeof ACCESS_USAGES];
|
||||
|
||||
// #region AccessModel
|
||||
export interface AccessModel extends BaseModel {
|
||||
name: string;
|
||||
configType: string;
|
||||
usage: AccessProviderUsages;
|
||||
usage: AccessUsageType;
|
||||
config: /*
|
||||
注意:如果追加新的类型,请保持以 ASCII 排序。
|
||||
NOTICE: If you add new type, please keep ASCII order.
|
||||
@@ -193,7 +193,7 @@ export type AccessProvider = {
|
||||
type: string;
|
||||
name: string;
|
||||
icon: string;
|
||||
usage: AccessProviderUsages;
|
||||
usage: AccessUsageType;
|
||||
};
|
||||
|
||||
export const accessProvidersMap: Map<AccessProvider["type"], AccessProvider> = new Map(
|
||||
@@ -202,25 +202,25 @@ export const accessProvidersMap: Map<AccessProvider["type"], AccessProvider> = n
|
||||
NOTICE: The following order determines the order displayed at the frontend.
|
||||
*/
|
||||
[
|
||||
[ACCESS_PROVIDER_TYPE_LOCAL, "common.provider.local", "/imgs/providers/local.svg", "deploy"],
|
||||
[ACCESS_PROVIDER_TYPE_SSH, "common.provider.ssh", "/imgs/providers/ssh.svg", "deploy"],
|
||||
[ACCESS_PROVIDER_TYPE_WEBHOOK, "common.provider.webhook", "/imgs/providers/webhook.svg", "deploy"],
|
||||
[ACCESS_PROVIDER_TYPE_ALIYUN, "common.provider.aliyun", "/imgs/providers/aliyun.svg", "all"],
|
||||
[ACCESS_PROVIDER_TYPE_TENCENTCLOUD, "common.provider.tencentcloud", "/imgs/providers/tencentcloud.svg", "all"],
|
||||
[ACCESS_PROVIDER_TYPE_HUAWEICLOUD, "common.provider.huaweicloud", "/imgs/providers/huaweicloud.svg", "all"],
|
||||
[ACCESS_PROVIDER_TYPE_BAIDUCLOUD, "common.provider.baiducloud", "/imgs/providers/baiducloud.svg", "all"],
|
||||
[ACCESS_PROVIDER_TYPE_QINIU, "common.provider.qiniu", "/imgs/providers/qiniu.svg", "deploy"],
|
||||
[ACCESS_PROVIDER_TYPE_DOGECLOUD, "common.provider.dogecloud", "/imgs/providers/dogecloud.svg", "deploy"],
|
||||
[ACCESS_PROVIDER_TYPE_VOLCENGINE, "common.provider.volcengine", "/imgs/providers/volcengine.svg", "all"],
|
||||
[ACCESS_PROVIDER_TYPE_BYTEPLUS, "common.provider.byteplus", "/imgs/providers/byteplus.svg", "all"],
|
||||
[ACCESS_PROVIDER_TYPE_AWS, "common.provider.aws", "/imgs/providers/aws.svg", "apply"],
|
||||
[ACCESS_PROVIDER_TYPE_CLOUDFLARE, "common.provider.cloudflare", "/imgs/providers/cloudflare.svg", "apply"],
|
||||
[ACCESS_PROVIDER_TYPE_NAMEDOTCOM, "common.provider.namedotcom", "/imgs/providers/namedotcom.svg", "apply"],
|
||||
[ACCESS_PROVIDER_TYPE_NAMESILO, "common.provider.namesilo", "/imgs/providers/namesilo.svg", "apply"],
|
||||
[ACCESS_PROVIDER_TYPE_GODADDY, "common.provider.godaddy", "/imgs/providers/godaddy.svg", "apply"],
|
||||
[ACCESS_PROVIDER_TYPE_POWERDNS, "common.provider.powerdns", "/imgs/providers/powerdns.svg", "apply"],
|
||||
[ACCESS_PROVIDER_TYPE_KUBERNETES, "common.provider.kubernetes", "/imgs/providers/kubernetes.svg", "deploy"],
|
||||
[ACCESS_PROVIDER_TYPE_ACMEHTTPREQ, "common.provider.acmehttpreq", "/imgs/providers/acmehttpreq.svg", "apply"],
|
||||
].map(([type, name, icon, usage]) => [type, { type, name, icon, usage: usage as AccessProviderUsages }])
|
||||
[ACCESS_PROVIDER_LOCAL, "common.provider.local", "/imgs/providers/local.svg", "deploy"],
|
||||
[ACCESS_PROVIDER_SSH, "common.provider.ssh", "/imgs/providers/ssh.svg", "deploy"],
|
||||
[ACCESS_PROVIDER_WEBHOOK, "common.provider.webhook", "/imgs/providers/webhook.svg", "deploy"],
|
||||
[ACCESS_PROVIDER_ALIYUN, "common.provider.aliyun", "/imgs/providers/aliyun.svg", "all"],
|
||||
[ACCESS_PROVIDER_TENCENTCLOUD, "common.provider.tencentcloud", "/imgs/providers/tencentcloud.svg", "all"],
|
||||
[ACCESS_PROVIDER_HUAWEICLOUD, "common.provider.huaweicloud", "/imgs/providers/huaweicloud.svg", "all"],
|
||||
[ACCESS_PROVIDER_BAIDUCLOUD, "common.provider.baiducloud", "/imgs/providers/baiducloud.svg", "all"],
|
||||
[ACCESS_PROVIDER_QINIU, "common.provider.qiniu", "/imgs/providers/qiniu.svg", "deploy"],
|
||||
[ACCESS_PROVIDER_DOGECLOUD, "common.provider.dogecloud", "/imgs/providers/dogecloud.svg", "deploy"],
|
||||
[ACCESS_PROVIDER_VOLCENGINE, "common.provider.volcengine", "/imgs/providers/volcengine.svg", "all"],
|
||||
[ACCESS_PROVIDER_BYTEPLUS, "common.provider.byteplus", "/imgs/providers/byteplus.svg", "all"],
|
||||
[ACCESS_PROVIDER_AWS, "common.provider.aws", "/imgs/providers/aws.svg", "apply"],
|
||||
[ACCESS_PROVIDER_CLOUDFLARE, "common.provider.cloudflare", "/imgs/providers/cloudflare.svg", "apply"],
|
||||
[ACCESS_PROVIDER_NAMEDOTCOM, "common.provider.namedotcom", "/imgs/providers/namedotcom.svg", "apply"],
|
||||
[ACCESS_PROVIDER_NAMESILO, "common.provider.namesilo", "/imgs/providers/namesilo.svg", "apply"],
|
||||
[ACCESS_PROVIDER_GODADDY, "common.provider.godaddy", "/imgs/providers/godaddy.svg", "apply"],
|
||||
[ACCESS_PROVIDER_POWERDNS, "common.provider.powerdns", "/imgs/providers/powerdns.svg", "apply"],
|
||||
[ACCESS_PROVIDER_KUBERNETES, "common.provider.kubernetes", "/imgs/providers/kubernetes.svg", "deploy"],
|
||||
[ACCESS_PROVIDER_ACMEHTTPREQ, "common.provider.acmehttpreq", "/imgs/providers/acmehttpreq.svg", "apply"],
|
||||
].map(([type, name, icon, usage]) => [type, { type, name, icon, usage: usage as AccessUsageType }])
|
||||
);
|
||||
// #endregion
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
import {
|
||||
ACCESS_PROVIDER_TYPE_ALIYUN,
|
||||
ACCESS_PROVIDER_TYPE_BAIDUCLOUD,
|
||||
ACCESS_PROVIDER_TYPE_BYTEPLUS,
|
||||
ACCESS_PROVIDER_TYPE_DOGECLOUD,
|
||||
ACCESS_PROVIDER_TYPE_HUAWEICLOUD,
|
||||
ACCESS_PROVIDER_TYPE_KUBERNETES,
|
||||
ACCESS_PROVIDER_TYPE_LOCAL,
|
||||
ACCESS_PROVIDER_TYPE_QINIU,
|
||||
ACCESS_PROVIDER_TYPE_SSH,
|
||||
ACCESS_PROVIDER_TYPE_TENCENTCLOUD,
|
||||
ACCESS_PROVIDER_TYPE_VOLCENGINE,
|
||||
ACCESS_PROVIDER_TYPE_WEBHOOK,
|
||||
ACCESS_PROVIDER_ALIYUN,
|
||||
ACCESS_PROVIDER_BAIDUCLOUD,
|
||||
ACCESS_PROVIDER_BYTEPLUS,
|
||||
ACCESS_PROVIDER_DOGECLOUD,
|
||||
ACCESS_PROVIDER_HUAWEICLOUD,
|
||||
ACCESS_PROVIDER_KUBERNETES,
|
||||
ACCESS_PROVIDER_LOCAL,
|
||||
ACCESS_PROVIDER_QINIU,
|
||||
ACCESS_PROVIDER_SSH,
|
||||
ACCESS_PROVIDER_TENCENTCLOUD,
|
||||
ACCESS_PROVIDER_VOLCENGINE,
|
||||
ACCESS_PROVIDER_WEBHOOK,
|
||||
} from "./access";
|
||||
|
||||
export type KVType = {
|
||||
@@ -34,7 +34,7 @@ export type ApplyConfig = {
|
||||
email: string;
|
||||
keyAlgorithm?: string;
|
||||
nameservers?: string;
|
||||
timeout?: number;
|
||||
propagationTimeout?: number;
|
||||
disableFollowCNAME?: boolean;
|
||||
};
|
||||
|
||||
@@ -50,29 +50,29 @@ export const deployTargetList: string[][] = [
|
||||
注意:此处的顺序决定显示在前端的顺序。
|
||||
NOTICE: The following order determines the order displayed at the frontend.
|
||||
*/
|
||||
[`${ACCESS_PROVIDER_TYPE_LOCAL}`, "common.provider.local", "/imgs/providers/local.svg"],
|
||||
[`${ACCESS_PROVIDER_TYPE_SSH}`, "common.provider.ssh", "/imgs/providers/ssh.svg"],
|
||||
[`${ACCESS_PROVIDER_TYPE_WEBHOOK}`, "common.provider.webhook", "/imgs/providers/webhook.svg"],
|
||||
[`${ACCESS_PROVIDER_TYPE_ALIYUN}-oss`, "common.provider.aliyun.oss", "/imgs/providers/aliyun.svg"],
|
||||
[`${ACCESS_PROVIDER_TYPE_ALIYUN}-cdn`, "common.provider.aliyun.cdn", "/imgs/providers/aliyun.svg"],
|
||||
[`${ACCESS_PROVIDER_TYPE_ALIYUN}-dcdn`, "common.provider.aliyun.dcdn", "/imgs/providers/aliyun.svg"],
|
||||
[`${ACCESS_PROVIDER_TYPE_ALIYUN}-clb`, "common.provider.aliyun.clb", "/imgs/providers/aliyun.svg"],
|
||||
[`${ACCESS_PROVIDER_TYPE_ALIYUN}-alb`, "common.provider.aliyun.alb", "/imgs/providers/aliyun.svg"],
|
||||
[`${ACCESS_PROVIDER_TYPE_ALIYUN}-nlb`, "common.provider.aliyun.nlb", "/imgs/providers/aliyun.svg"],
|
||||
[`${ACCESS_PROVIDER_TYPE_TENCENTCLOUD}-cdn`, "common.provider.tencentcloud.cdn", "/imgs/providers/tencentcloud.svg"],
|
||||
[`${ACCESS_PROVIDER_TYPE_TENCENTCLOUD}-ecdn`, "common.provider.tencentcloud.ecdn", "/imgs/providers/tencentcloud.svg"],
|
||||
[`${ACCESS_PROVIDER_TYPE_TENCENTCLOUD}-clb`, "common.provider.tencentcloud.clb", "/imgs/providers/tencentcloud.svg"],
|
||||
[`${ACCESS_PROVIDER_TYPE_TENCENTCLOUD}-cos`, "common.provider.tencentcloud.cos", "/imgs/providers/tencentcloud.svg"],
|
||||
[`${ACCESS_PROVIDER_TYPE_TENCENTCLOUD}-eo`, "common.provider.tencentcloud.eo", "/imgs/providers/tencentcloud.svg"],
|
||||
[`${ACCESS_PROVIDER_TYPE_HUAWEICLOUD}-cdn`, "common.provider.huaweicloud.cdn", "/imgs/providers/huaweicloud.svg"],
|
||||
[`${ACCESS_PROVIDER_TYPE_HUAWEICLOUD}-elb`, "common.provider.huaweicloud.elb", "/imgs/providers/huaweicloud.svg"],
|
||||
[`${ACCESS_PROVIDER_TYPE_BAIDUCLOUD}-cdn`, "common.provider.baiducloud.cdn", "/imgs/providers/baiducloud.svg"],
|
||||
[`${ACCESS_PROVIDER_TYPE_VOLCENGINE}-cdn`, "common.provider.volcengine.cdn", "/imgs/providers/volcengine.svg"],
|
||||
[`${ACCESS_PROVIDER_TYPE_VOLCENGINE}-live`, "common.provider.volcengine.live", "/imgs/providers/volcengine.svg"],
|
||||
[`${ACCESS_PROVIDER_TYPE_QINIU}-cdn`, "common.provider.qiniu.cdn", "/imgs/providers/qiniu.svg"],
|
||||
[`${ACCESS_PROVIDER_TYPE_DOGECLOUD}-cdn`, "common.provider.dogecloud.cdn", "/imgs/providers/dogecloud.svg"],
|
||||
[`${ACCESS_PROVIDER_TYPE_BYTEPLUS}-cdn`, "common.provider.byteplus.cdn", "/imgs/providers/byteplus.svg"],
|
||||
[`${ACCESS_PROVIDER_TYPE_KUBERNETES}-secret`, "common.provider.kubernetes.secret", "/imgs/providers/kubernetes.svg"],
|
||||
[`${ACCESS_PROVIDER_LOCAL}`, "common.provider.local", "/imgs/providers/local.svg"],
|
||||
[`${ACCESS_PROVIDER_SSH}`, "common.provider.ssh", "/imgs/providers/ssh.svg"],
|
||||
[`${ACCESS_PROVIDER_WEBHOOK}`, "common.provider.webhook", "/imgs/providers/webhook.svg"],
|
||||
[`${ACCESS_PROVIDER_ALIYUN}-oss`, "common.provider.aliyun.oss", "/imgs/providers/aliyun.svg"],
|
||||
[`${ACCESS_PROVIDER_ALIYUN}-cdn`, "common.provider.aliyun.cdn", "/imgs/providers/aliyun.svg"],
|
||||
[`${ACCESS_PROVIDER_ALIYUN}-dcdn`, "common.provider.aliyun.dcdn", "/imgs/providers/aliyun.svg"],
|
||||
[`${ACCESS_PROVIDER_ALIYUN}-clb`, "common.provider.aliyun.clb", "/imgs/providers/aliyun.svg"],
|
||||
[`${ACCESS_PROVIDER_ALIYUN}-alb`, "common.provider.aliyun.alb", "/imgs/providers/aliyun.svg"],
|
||||
[`${ACCESS_PROVIDER_ALIYUN}-nlb`, "common.provider.aliyun.nlb", "/imgs/providers/aliyun.svg"],
|
||||
[`${ACCESS_PROVIDER_TENCENTCLOUD}-cdn`, "common.provider.tencentcloud.cdn", "/imgs/providers/tencentcloud.svg"],
|
||||
[`${ACCESS_PROVIDER_TENCENTCLOUD}-ecdn`, "common.provider.tencentcloud.ecdn", "/imgs/providers/tencentcloud.svg"],
|
||||
[`${ACCESS_PROVIDER_TENCENTCLOUD}-clb`, "common.provider.tencentcloud.clb", "/imgs/providers/tencentcloud.svg"],
|
||||
[`${ACCESS_PROVIDER_TENCENTCLOUD}-cos`, "common.provider.tencentcloud.cos", "/imgs/providers/tencentcloud.svg"],
|
||||
[`${ACCESS_PROVIDER_TENCENTCLOUD}-eo`, "common.provider.tencentcloud.eo", "/imgs/providers/tencentcloud.svg"],
|
||||
[`${ACCESS_PROVIDER_HUAWEICLOUD}-cdn`, "common.provider.huaweicloud.cdn", "/imgs/providers/huaweicloud.svg"],
|
||||
[`${ACCESS_PROVIDER_HUAWEICLOUD}-elb`, "common.provider.huaweicloud.elb", "/imgs/providers/huaweicloud.svg"],
|
||||
[`${ACCESS_PROVIDER_BAIDUCLOUD}-cdn`, "common.provider.baiducloud.cdn", "/imgs/providers/baiducloud.svg"],
|
||||
[`${ACCESS_PROVIDER_VOLCENGINE}-cdn`, "common.provider.volcengine.cdn", "/imgs/providers/volcengine.svg"],
|
||||
[`${ACCESS_PROVIDER_VOLCENGINE}-live`, "common.provider.volcengine.live", "/imgs/providers/volcengine.svg"],
|
||||
[`${ACCESS_PROVIDER_QINIU}-cdn`, "common.provider.qiniu.cdn", "/imgs/providers/qiniu.svg"],
|
||||
[`${ACCESS_PROVIDER_DOGECLOUD}-cdn`, "common.provider.dogecloud.cdn", "/imgs/providers/dogecloud.svg"],
|
||||
[`${ACCESS_PROVIDER_BYTEPLUS}-cdn`, "common.provider.byteplus.cdn", "/imgs/providers/byteplus.svg"],
|
||||
[`${ACCESS_PROVIDER_KUBERNETES}-secret`, "common.provider.kubernetes.secret", "/imgs/providers/kubernetes.svg"],
|
||||
];
|
||||
|
||||
export const deployTargetsMap: Map<DeployTarget["type"], DeployTarget> = new Map(
|
||||
|
||||
@@ -11,13 +11,6 @@
|
||||
"common.button.save": "Save",
|
||||
"common.button.submit": "Submit",
|
||||
|
||||
"common.text.domain": "Domain",
|
||||
"common.text.domain.empty": "No Domain",
|
||||
"common.text.ip": "IP Address",
|
||||
"common.text.ip.empty": "No IP address",
|
||||
"common.text.dns": "Domain Name Server",
|
||||
"common.text.dns.empty": "No DNS",
|
||||
"common.text.ca": "Certificate Authority",
|
||||
"common.text.copied": "Copied",
|
||||
"common.text.nodata": "No data available",
|
||||
"common.text.operation_succeeded": "Operation succeeded",
|
||||
@@ -30,18 +23,12 @@
|
||||
"common.menu.logout": "Logout",
|
||||
"common.menu.document": "Document",
|
||||
|
||||
"common.pagination.next": "Next",
|
||||
"common.pagination.prev": "Previous",
|
||||
"common.pagination.more": "More pages",
|
||||
|
||||
"common.theme.light": "Light",
|
||||
"common.theme.dark": "Dark",
|
||||
"common.theme.system": "System",
|
||||
|
||||
"common.errmsg.string_max": "Please enter no more than {{max}} characters",
|
||||
"common.errmsg.email_empty": "Please enter email",
|
||||
"common.errmsg.email_invalid": "Please enter a valid email address",
|
||||
"common.errmsg.email_duplicate": "Email already exists",
|
||||
"common.errmsg.domain_invalid": "Please enter domain",
|
||||
"common.errmsg.host_invalid": "Please enter a valid domain name or IP",
|
||||
"common.errmsg.port_invalid": "Please enter a valid port",
|
||||
|
||||
@@ -11,13 +11,6 @@
|
||||
"common.button.save": "保存",
|
||||
"common.button.submit": "提交",
|
||||
|
||||
"common.text.domain": "域名",
|
||||
"common.text.domain.empty": "无域名",
|
||||
"common.text.ip": "IP 地址",
|
||||
"common.text.ip.empty": "无 IP 地址",
|
||||
"common.text.dns": "DNS(域名服务器)",
|
||||
"common.text.dns.empty": "无 DNS 地址",
|
||||
"common.text.ca": "CA(证书颁发机构)",
|
||||
"common.text.copied": "已复制",
|
||||
"common.text.nodata": "暂无数据",
|
||||
"common.text.operation_succeeded": "操作成功",
|
||||
@@ -30,18 +23,12 @@
|
||||
"common.menu.logout": "退出登录",
|
||||
"common.menu.document": "文档",
|
||||
|
||||
"common.pagination.next": "下一页",
|
||||
"common.pagination.prev": "上一页",
|
||||
"common.pagination.more": "更多",
|
||||
|
||||
"common.theme.light": "浅色",
|
||||
"common.theme.dark": "暗黑",
|
||||
"common.theme.system": "跟随系统",
|
||||
|
||||
"common.errmsg.string_max": "请输入不超过 {{max}} 个字符",
|
||||
"common.errmsg.email_empty": "请输入邮箱",
|
||||
"common.errmsg.email_invalid": "请输入正确的邮箱",
|
||||
"common.errmsg.email_duplicate": "邮箱已存在",
|
||||
"common.errmsg.domain_invalid": "请输入正确的域名",
|
||||
"common.errmsg.host_invalid": "请输入正确的域名或 IP 地址",
|
||||
"common.errmsg.port_invalid": "请输入正确的端口号",
|
||||
|
||||
Reference in New Issue
Block a user