mirror of
https://github.com/usual2970/certimate.git
synced 2025-10-04 21:44:54 +00:00
refactor: clean code
This commit is contained in:
@@ -17,7 +17,7 @@ export type AccessForm1PanelConfigProps = {
|
||||
|
||||
const initFormModel = (): AccessForm1PanelConfigFieldValues => {
|
||||
return {
|
||||
apiUrl: "http://<your-host-addr>:20410/",
|
||||
serverUrl: "http://<your-host-addr>:20410/",
|
||||
apiVersion: "v1",
|
||||
apiKey: "",
|
||||
};
|
||||
@@ -27,7 +27,7 @@ const AccessForm1PanelConfig = ({ form: formInst, formName, disabled, initialVal
|
||||
const { t } = useTranslation();
|
||||
|
||||
const formSchema = z.object({
|
||||
apiUrl: z.string().url(t("common.errmsg.url_invalid")),
|
||||
serverUrl: z.string().url(t("common.errmsg.url_invalid")),
|
||||
apiVersion: z.string().nonempty(t("access.form.1panel_api_version.placeholder")),
|
||||
apiKey: z
|
||||
.string()
|
||||
@@ -51,8 +51,8 @@ const AccessForm1PanelConfig = ({ form: formInst, formName, disabled, initialVal
|
||||
name={formName}
|
||||
onValuesChange={handleFormChange}
|
||||
>
|
||||
<Form.Item name="apiUrl" label={t("access.form.1panel_api_url.label")} rules={[formRule]}>
|
||||
<Input placeholder={t("access.form.1panel_api_url.placeholder")} />
|
||||
<Form.Item name="serverUrl" label={t("access.form.1panel_server_url.label")} rules={[formRule]}>
|
||||
<Input placeholder={t("access.form.1panel_server_url.placeholder")} />
|
||||
</Form.Item>
|
||||
|
||||
<Form.Item name="apiVersion" label={t("access.form.1panel_api_version.label")} rules={[formRule]}>
|
||||
@@ -68,10 +68,10 @@ const AccessForm1PanelConfig = ({ form: formInst, formName, disabled, initialVal
|
||||
<Input.Password autoComplete="new-password" placeholder={t("access.form.1panel_api_key.placeholder")} />
|
||||
</Form.Item>
|
||||
|
||||
<Form.Item name="allowInsecureConnections" label={t("access.form.1panel_allow_insecure_conns.label")} rules={[formRule]}>
|
||||
<Form.Item name="allowInsecureConnections" label={t("access.form.common_allow_insecure_conns.label")} rules={[formRule]}>
|
||||
<Switch
|
||||
checkedChildren={t("access.form.1panel_allow_insecure_conns.switch.on")}
|
||||
unCheckedChildren={t("access.form.1panel_allow_insecure_conns.switch.off")}
|
||||
checkedChildren={t("access.form.common_allow_insecure_conns.switch.on")}
|
||||
unCheckedChildren={t("access.form.common_allow_insecure_conns.switch.off")}
|
||||
/>
|
||||
</Form.Item>
|
||||
</Form>
|
||||
|
@@ -17,7 +17,7 @@ export type AccessFormBaotaPanelConfigProps = {
|
||||
|
||||
const initFormModel = (): AccessFormBaotaPanelConfigFieldValues => {
|
||||
return {
|
||||
apiUrl: "http://<your-host-addr>:8888/",
|
||||
serverUrl: "http://<your-host-addr>:8888/",
|
||||
apiKey: "",
|
||||
};
|
||||
};
|
||||
@@ -26,7 +26,7 @@ const AccessFormBaotaPanelConfig = ({ form: formInst, formName, disabled, initia
|
||||
const { t } = useTranslation();
|
||||
|
||||
const formSchema = z.object({
|
||||
apiUrl: z.string().url(t("common.errmsg.url_invalid")),
|
||||
serverUrl: z.string().url(t("common.errmsg.url_invalid")),
|
||||
apiKey: z.string().nonempty(t("access.form.baotapanel_api_key.placeholder")).trim(),
|
||||
allowInsecureConnections: z.boolean().nullish(),
|
||||
});
|
||||
@@ -45,8 +45,8 @@ const AccessFormBaotaPanelConfig = ({ form: formInst, formName, disabled, initia
|
||||
name={formName}
|
||||
onValuesChange={handleFormChange}
|
||||
>
|
||||
<Form.Item name="apiUrl" label={t("access.form.baotapanel_api_url.label")} rules={[formRule]}>
|
||||
<Input placeholder={t("access.form.baotapanel_api_url.placeholder")} />
|
||||
<Form.Item name="serverUrl" label={t("access.form.baotapanel_server_url.label")} rules={[formRule]}>
|
||||
<Input placeholder={t("access.form.baotapanel_server_url.placeholder")} />
|
||||
</Form.Item>
|
||||
|
||||
<Form.Item
|
||||
@@ -58,10 +58,10 @@ const AccessFormBaotaPanelConfig = ({ form: formInst, formName, disabled, initia
|
||||
<Input.Password autoComplete="new-password" placeholder={t("access.form.baotapanel_api_key.placeholder")} />
|
||||
</Form.Item>
|
||||
|
||||
<Form.Item name="allowInsecureConnections" label={t("access.form.baotapanel_allow_insecure_conns.label")} rules={[formRule]}>
|
||||
<Form.Item name="allowInsecureConnections" label={t("access.form.common_allow_insecure_conns.label")} rules={[formRule]}>
|
||||
<Switch
|
||||
checkedChildren={t("access.form.baotapanel_allow_insecure_conns.switch.on")}
|
||||
unCheckedChildren={t("access.form.baotapanel_allow_insecure_conns.switch.off")}
|
||||
checkedChildren={t("access.form.common_allow_insecure_conns.switch.on")}
|
||||
unCheckedChildren={t("access.form.common_allow_insecure_conns.switch.off")}
|
||||
/>
|
||||
</Form.Item>
|
||||
</Form>
|
||||
|
@@ -17,7 +17,7 @@ export type AccessFormBaotaWAFConfigProps = {
|
||||
|
||||
const initFormModel = (): AccessFormBaotaWAFConfigFieldValues => {
|
||||
return {
|
||||
apiUrl: "http://<your-host-addr>:8379/",
|
||||
serverUrl: "http://<your-host-addr>:8379/",
|
||||
apiKey: "",
|
||||
};
|
||||
};
|
||||
@@ -26,7 +26,7 @@ const AccessFormBaotaWAFConfig = ({ form: formInst, formName, disabled, initialV
|
||||
const { t } = useTranslation();
|
||||
|
||||
const formSchema = z.object({
|
||||
apiUrl: z.string().url(t("common.errmsg.url_invalid")),
|
||||
serverUrl: z.string().url(t("common.errmsg.url_invalid")),
|
||||
apiKey: z.string().nonempty(t("access.form.baotawaf_api_key.placeholder")).trim(),
|
||||
allowInsecureConnections: z.boolean().nullish(),
|
||||
});
|
||||
@@ -45,8 +45,8 @@ const AccessFormBaotaWAFConfig = ({ form: formInst, formName, disabled, initialV
|
||||
name={formName}
|
||||
onValuesChange={handleFormChange}
|
||||
>
|
||||
<Form.Item name="apiUrl" label={t("access.form.baotawaf_api_url.label")} rules={[formRule]}>
|
||||
<Input placeholder={t("access.form.baotawaf_api_url.placeholder")} />
|
||||
<Form.Item name="serverUrl" label={t("access.form.baotawaf_server_url.label")} rules={[formRule]}>
|
||||
<Input placeholder={t("access.form.baotawaf_server_url.placeholder")} />
|
||||
</Form.Item>
|
||||
|
||||
<Form.Item
|
||||
@@ -58,10 +58,10 @@ const AccessFormBaotaWAFConfig = ({ form: formInst, formName, disabled, initialV
|
||||
<Input.Password autoComplete="new-password" placeholder={t("access.form.baotawaf_api_key.placeholder")} />
|
||||
</Form.Item>
|
||||
|
||||
<Form.Item name="allowInsecureConnections" label={t("access.form.baotawaf_allow_insecure_conns.label")} rules={[formRule]}>
|
||||
<Form.Item name="allowInsecureConnections" label={t("access.form.common_allow_insecure_conns.label")} rules={[formRule]}>
|
||||
<Switch
|
||||
checkedChildren={t("access.form.baotawaf_allow_insecure_conns.switch.on")}
|
||||
unCheckedChildren={t("access.form.baotawaf_allow_insecure_conns.switch.off")}
|
||||
checkedChildren={t("access.form.common_allow_insecure_conns.switch.on")}
|
||||
unCheckedChildren={t("access.form.common_allow_insecure_conns.switch.off")}
|
||||
/>
|
||||
</Form.Item>
|
||||
</Form>
|
||||
|
@@ -17,7 +17,7 @@ export type AccessFormCdnflyConfigProps = {
|
||||
|
||||
const initFormModel = (): AccessFormCdnflyConfigFieldValues => {
|
||||
return {
|
||||
apiUrl: "http://<your-host-addr>:88/",
|
||||
serverUrl: "http://<your-host-addr>:88/",
|
||||
apiKey: "",
|
||||
apiSecret: "",
|
||||
};
|
||||
@@ -27,7 +27,7 @@ const AccessFormCdnflyConfig = ({ form: formInst, formName, disabled, initialVal
|
||||
const { t } = useTranslation();
|
||||
|
||||
const formSchema = z.object({
|
||||
apiUrl: z.string().url(t("common.errmsg.url_invalid")),
|
||||
serverUrl: z.string().url(t("common.errmsg.url_invalid")),
|
||||
apiKey: z
|
||||
.string()
|
||||
.min(1, t("access.form.cdnfly_api_key.placeholder"))
|
||||
@@ -55,8 +55,8 @@ const AccessFormCdnflyConfig = ({ form: formInst, formName, disabled, initialVal
|
||||
name={formName}
|
||||
onValuesChange={handleFormChange}
|
||||
>
|
||||
<Form.Item name="apiUrl" label={t("access.form.cdnfly_api_url.label")} rules={[formRule]}>
|
||||
<Input placeholder={t("access.form.cdnfly_api_url.placeholder")} />
|
||||
<Form.Item name="serverUrl" label={t("access.form.cdnfly_server_url.label")} rules={[formRule]}>
|
||||
<Input placeholder={t("access.form.cdnfly_server_url.placeholder")} />
|
||||
</Form.Item>
|
||||
|
||||
<Form.Item
|
||||
@@ -77,10 +77,10 @@ const AccessFormCdnflyConfig = ({ form: formInst, formName, disabled, initialVal
|
||||
<Input.Password autoComplete="new-password" placeholder={t("access.form.cdnfly_api_secret.placeholder")} />
|
||||
</Form.Item>
|
||||
|
||||
<Form.Item name="allowInsecureConnections" label={t("access.form.cdnfly_allow_insecure_conns.label")} rules={[formRule]}>
|
||||
<Form.Item name="allowInsecureConnections" label={t("access.form.common_allow_insecure_conns.label")} rules={[formRule]}>
|
||||
<Switch
|
||||
checkedChildren={t("access.form.cdnfly_allow_insecure_conns.switch.on")}
|
||||
unCheckedChildren={t("access.form.cdnfly_allow_insecure_conns.switch.off")}
|
||||
checkedChildren={t("access.form.common_allow_insecure_conns.switch.on")}
|
||||
unCheckedChildren={t("access.form.common_allow_insecure_conns.switch.off")}
|
||||
/>
|
||||
</Form.Item>
|
||||
</Form>
|
||||
|
@@ -17,7 +17,7 @@ export type AccessFormFlexCDNConfigProps = {
|
||||
|
||||
const initFormModel = (): AccessFormFlexCDNConfigFieldValues => {
|
||||
return {
|
||||
apiUrl: "http://<your-host-addr>:8000/",
|
||||
serverUrl: "http://<your-host-addr>:8000/",
|
||||
apiRole: "user",
|
||||
accessKeyId: "",
|
||||
accessKey: "",
|
||||
@@ -28,7 +28,7 @@ const AccessFormFlexCDNConfig = ({ form: formInst, formName, disabled, initialVa
|
||||
const { t } = useTranslation();
|
||||
|
||||
const formSchema = z.object({
|
||||
apiUrl: z.string().url(t("common.errmsg.url_invalid")),
|
||||
serverUrl: z.string().url(t("common.errmsg.url_invalid")),
|
||||
role: z.union([z.literal("user"), z.literal("admin")], {
|
||||
message: t("access.form.flexcdn_api_role.placeholder"),
|
||||
}),
|
||||
@@ -51,8 +51,8 @@ const AccessFormFlexCDNConfig = ({ form: formInst, formName, disabled, initialVa
|
||||
name={formName}
|
||||
onValuesChange={handleFormChange}
|
||||
>
|
||||
<Form.Item name="apiUrl" label={t("access.form.flexcdn_api_url.label")} rules={[formRule]}>
|
||||
<Input placeholder={t("access.form.flexcdn_api_url.placeholder")} />
|
||||
<Form.Item name="serverUrl" label={t("access.form.flexcdn_server_url.label")} rules={[formRule]}>
|
||||
<Input placeholder={t("access.form.flexcdn_server_url.placeholder")} />
|
||||
</Form.Item>
|
||||
|
||||
<Form.Item name="apiRole" label={t("access.form.flexcdn_api_role.label")} rules={[formRule]}>
|
||||
@@ -77,10 +77,10 @@ const AccessFormFlexCDNConfig = ({ form: formInst, formName, disabled, initialVa
|
||||
<Input.Password autoComplete="new-password" placeholder={t("access.form.flexcdn_access_key.placeholder")} />
|
||||
</Form.Item>
|
||||
|
||||
<Form.Item name="allowInsecureConnections" label={t("access.form.flexcdn_allow_insecure_conns.label")} rules={[formRule]}>
|
||||
<Form.Item name="allowInsecureConnections" label={t("access.form.common_allow_insecure_conns.label")} rules={[formRule]}>
|
||||
<Switch
|
||||
checkedChildren={t("access.form.flexcdn_allow_insecure_conns.switch.on")}
|
||||
unCheckedChildren={t("access.form.flexcdn_allow_insecure_conns.switch.off")}
|
||||
checkedChildren={t("access.form.common_allow_insecure_conns.switch.on")}
|
||||
unCheckedChildren={t("access.form.common_allow_insecure_conns.switch.off")}
|
||||
/>
|
||||
</Form.Item>
|
||||
</Form>
|
||||
|
@@ -17,7 +17,7 @@ export type AccessFormGoEdgeConfigProps = {
|
||||
|
||||
const initFormModel = (): AccessFormGoEdgeConfigFieldValues => {
|
||||
return {
|
||||
apiUrl: "http://<your-host-addr>:7788/",
|
||||
serverUrl: "http://<your-host-addr>:7788/",
|
||||
apiRole: "user",
|
||||
accessKeyId: "",
|
||||
accessKey: "",
|
||||
@@ -28,7 +28,7 @@ const AccessFormGoEdgeConfig = ({ form: formInst, formName, disabled, initialVal
|
||||
const { t } = useTranslation();
|
||||
|
||||
const formSchema = z.object({
|
||||
apiUrl: z.string().url(t("common.errmsg.url_invalid")),
|
||||
serverUrl: z.string().url(t("common.errmsg.url_invalid")),
|
||||
role: z.union([z.literal("user"), z.literal("admin")], {
|
||||
message: t("access.form.goedge_api_role.placeholder"),
|
||||
}),
|
||||
@@ -51,8 +51,8 @@ const AccessFormGoEdgeConfig = ({ form: formInst, formName, disabled, initialVal
|
||||
name={formName}
|
||||
onValuesChange={handleFormChange}
|
||||
>
|
||||
<Form.Item name="apiUrl" label={t("access.form.goedge_api_url.label")} rules={[formRule]}>
|
||||
<Input placeholder={t("access.form.goedge_api_url.placeholder")} />
|
||||
<Form.Item name="serverUrl" label={t("access.form.goedge_server_url.label")} rules={[formRule]}>
|
||||
<Input placeholder={t("access.form.goedge_server_url.placeholder")} />
|
||||
</Form.Item>
|
||||
|
||||
<Form.Item name="apiRole" label={t("access.form.goedge_api_role.label")} rules={[formRule]}>
|
||||
@@ -77,10 +77,10 @@ const AccessFormGoEdgeConfig = ({ form: formInst, formName, disabled, initialVal
|
||||
<Input.Password autoComplete="new-password" placeholder={t("access.form.goedge_access_key.placeholder")} />
|
||||
</Form.Item>
|
||||
|
||||
<Form.Item name="allowInsecureConnections" label={t("access.form.goedge_allow_insecure_conns.label")} rules={[formRule]}>
|
||||
<Form.Item name="allowInsecureConnections" label={t("access.form.common_allow_insecure_conns.label")} rules={[formRule]}>
|
||||
<Switch
|
||||
checkedChildren={t("access.form.goedge_allow_insecure_conns.switch.on")}
|
||||
unCheckedChildren={t("access.form.goedge_allow_insecure_conns.switch.off")}
|
||||
checkedChildren={t("access.form.common_allow_insecure_conns.switch.on")}
|
||||
unCheckedChildren={t("access.form.common_allow_insecure_conns.switch.off")}
|
||||
/>
|
||||
</Form.Item>
|
||||
</Form>
|
||||
|
@@ -17,7 +17,7 @@ export type AccessFormLeCDNConfigProps = {
|
||||
|
||||
const initFormModel = (): AccessFormLeCDNConfigFieldValues => {
|
||||
return {
|
||||
apiUrl: "http://<your-host-addr>:5090/",
|
||||
serverUrl: "http://<your-host-addr>:5090/",
|
||||
apiVersion: "v3",
|
||||
apiRole: "user",
|
||||
username: "",
|
||||
@@ -29,7 +29,7 @@ const AccessFormLeCDNConfig = ({ form: formInst, formName, disabled, initialValu
|
||||
const { t } = useTranslation();
|
||||
|
||||
const formSchema = z.object({
|
||||
apiUrl: z.string().url(t("common.errmsg.url_invalid")),
|
||||
serverUrl: z.string().url(t("common.errmsg.url_invalid")),
|
||||
role: z.union([z.literal("client"), z.literal("master")], {
|
||||
message: t("access.form.lecdn_api_role.placeholder"),
|
||||
}),
|
||||
@@ -52,8 +52,8 @@ const AccessFormLeCDNConfig = ({ form: formInst, formName, disabled, initialValu
|
||||
name={formName}
|
||||
onValuesChange={handleFormChange}
|
||||
>
|
||||
<Form.Item name="apiUrl" label={t("access.form.lecdn_api_url.label")} rules={[formRule]}>
|
||||
<Input placeholder={t("access.form.lecdn_api_url.placeholder")} />
|
||||
<Form.Item name="serverUrl" label={t("access.form.lecdn_server_url.label")} rules={[formRule]}>
|
||||
<Input placeholder={t("access.form.lecdn_server_url.placeholder")} />
|
||||
</Form.Item>
|
||||
|
||||
<Form.Item name="apiVersion" label={t("access.form.lecdn_api_version.label")} rules={[formRule]}>
|
||||
@@ -72,10 +72,10 @@ const AccessFormLeCDNConfig = ({ form: formInst, formName, disabled, initialValu
|
||||
<Input.Password autoComplete="new-password" placeholder={t("access.form.lecdn_password.placeholder")} />
|
||||
</Form.Item>
|
||||
|
||||
<Form.Item name="allowInsecureConnections" label={t("access.form.lecdn_allow_insecure_conns.label")} rules={[formRule]}>
|
||||
<Form.Item name="allowInsecureConnections" label={t("access.form.common_allow_insecure_conns.label")} rules={[formRule]}>
|
||||
<Switch
|
||||
checkedChildren={t("access.form.lecdn_allow_insecure_conns.switch.on")}
|
||||
unCheckedChildren={t("access.form.lecdn_allow_insecure_conns.switch.off")}
|
||||
checkedChildren={t("access.form.common_allow_insecure_conns.switch.on")}
|
||||
unCheckedChildren={t("access.form.common_allow_insecure_conns.switch.off")}
|
||||
/>
|
||||
</Form.Item>
|
||||
</Form>
|
||||
|
@@ -17,7 +17,7 @@ export type AccessFormPowerDNSConfigProps = {
|
||||
|
||||
const initFormModel = (): AccessFormPowerDNSConfigFieldValues => {
|
||||
return {
|
||||
apiUrl: "http://<your-host-addr>:8082/",
|
||||
serverUrl: "http://<your-host-addr>:8082/",
|
||||
apiKey: "",
|
||||
};
|
||||
};
|
||||
@@ -26,7 +26,7 @@ const AccessFormPowerDNSConfig = ({ form: formInst, formName, disabled, initialV
|
||||
const { t } = useTranslation();
|
||||
|
||||
const formSchema = z.object({
|
||||
apiUrl: z.string().url(t("common.errmsg.url_invalid")),
|
||||
serverUrl: z.string().url(t("common.errmsg.url_invalid")),
|
||||
apiKey: z
|
||||
.string()
|
||||
.min(1, t("access.form.powerdns_api_key.placeholder"))
|
||||
@@ -49,8 +49,8 @@ const AccessFormPowerDNSConfig = ({ form: formInst, formName, disabled, initialV
|
||||
name={formName}
|
||||
onValuesChange={handleFormChange}
|
||||
>
|
||||
<Form.Item name="apiUrl" label={t("access.form.powerdns_api_url.label")} rules={[formRule]}>
|
||||
<Input placeholder={t("access.form.powerdns_api_url.placeholder")} />
|
||||
<Form.Item name="serverUrl" label={t("access.form.powerdns_server_url.label")} rules={[formRule]}>
|
||||
<Input placeholder={t("access.form.powerdns_server_url.placeholder")} />
|
||||
</Form.Item>
|
||||
|
||||
<Form.Item
|
||||
@@ -62,10 +62,10 @@ const AccessFormPowerDNSConfig = ({ form: formInst, formName, disabled, initialV
|
||||
<Input.Password autoComplete="new-password" placeholder={t("access.form.powerdns_api_key.placeholder")} />
|
||||
</Form.Item>
|
||||
|
||||
<Form.Item name="allowInsecureConnections" label={t("access.form.powerdns_allow_insecure_conns.label")} rules={[formRule]}>
|
||||
<Form.Item name="allowInsecureConnections" label={t("access.form.common_allow_insecure_conns.label")} rules={[formRule]}>
|
||||
<Switch
|
||||
checkedChildren={t("access.form.powerdns_allow_insecure_conns.switch.on")}
|
||||
unCheckedChildren={t("access.form.powerdns_allow_insecure_conns.switch.off")}
|
||||
checkedChildren={t("access.form.common_allow_insecure_conns.switch.on")}
|
||||
unCheckedChildren={t("access.form.common_allow_insecure_conns.switch.off")}
|
||||
/>
|
||||
</Form.Item>
|
||||
</Form>
|
||||
|
@@ -17,7 +17,7 @@ export type AccessFormProxmoxVEConfigProps = {
|
||||
|
||||
const initFormModel = (): AccessFormProxmoxVEConfigFieldValues => {
|
||||
return {
|
||||
apiUrl: "http://<your-host-addr>:8006/",
|
||||
serverUrl: "http://<your-host-addr>:8006/",
|
||||
apiToken: "",
|
||||
};
|
||||
};
|
||||
@@ -26,7 +26,7 @@ const AccessFormProxmoxVEConfig = ({ form: formInst, formName, disabled, initial
|
||||
const { t } = useTranslation();
|
||||
|
||||
const formSchema = z.object({
|
||||
apiUrl: z.string().url(t("common.errmsg.url_invalid")),
|
||||
serverUrl: z.string().url(t("common.errmsg.url_invalid")),
|
||||
apiToken: z.string().nonempty(t("access.form.proxmoxve_api_token.placeholder")).trim(),
|
||||
apiTokenSecret: z.string().nullish(),
|
||||
allowInsecureConnections: z.boolean().nullish(),
|
||||
@@ -46,8 +46,8 @@ const AccessFormProxmoxVEConfig = ({ form: formInst, formName, disabled, initial
|
||||
name={formName}
|
||||
onValuesChange={handleFormChange}
|
||||
>
|
||||
<Form.Item name="apiUrl" label={t("access.form.proxmoxve_api_url.label")} rules={[formRule]}>
|
||||
<Input placeholder={t("access.form.proxmoxve_api_url.placeholder")} />
|
||||
<Form.Item name="serverUrl" label={t("access.form.proxmoxve_server_url.label")} rules={[formRule]}>
|
||||
<Input placeholder={t("access.form.proxmoxve_server_url.placeholder")} />
|
||||
</Form.Item>
|
||||
|
||||
<Form.Item
|
||||
@@ -68,10 +68,10 @@ const AccessFormProxmoxVEConfig = ({ form: formInst, formName, disabled, initial
|
||||
<Input.Password allowClear autoComplete="new-password" placeholder={t("access.form.proxmoxve_api_token_secret.placeholder")} />
|
||||
</Form.Item>
|
||||
|
||||
<Form.Item name="allowInsecureConnections" label={t("access.form.proxmoxve_allow_insecure_conns.label")} rules={[formRule]}>
|
||||
<Form.Item name="allowInsecureConnections" label={t("access.form.common_allow_insecure_conns.label")} rules={[formRule]}>
|
||||
<Switch
|
||||
checkedChildren={t("access.form.proxmoxve_allow_insecure_conns.switch.on")}
|
||||
unCheckedChildren={t("access.form.proxmoxve_allow_insecure_conns.switch.off")}
|
||||
checkedChildren={t("access.form.common_allow_insecure_conns.switch.on")}
|
||||
unCheckedChildren={t("access.form.common_allow_insecure_conns.switch.off")}
|
||||
/>
|
||||
</Form.Item>
|
||||
</Form>
|
||||
|
@@ -17,7 +17,7 @@ export type AccessFormRatPanelConfigProps = {
|
||||
|
||||
const initFormModel = (): AccessFormRatPanelConfigFieldValues => {
|
||||
return {
|
||||
apiUrl: "http://<your-host-addr>:8888/",
|
||||
serverUrl: "http://<your-host-addr>:8888/",
|
||||
accessTokenId: 1,
|
||||
accessToken: "",
|
||||
};
|
||||
@@ -27,7 +27,7 @@ const AccessFormRatPanelConfig = ({ form: formInst, formName, disabled, initialV
|
||||
const { t } = useTranslation();
|
||||
|
||||
const formSchema = z.object({
|
||||
apiUrl: z.string().url(t("common.errmsg.url_invalid")),
|
||||
serverUrl: z.string().url(t("common.errmsg.url_invalid")),
|
||||
accessTokenId: z.preprocess((v) => Number(v), z.number().positive(t("access.form.ratpanel_access_token_id.placeholder"))),
|
||||
accessToken: z.string().nonempty(t("access.form.ratpanel_access_token.placeholder")).trim(),
|
||||
allowInsecureConnections: z.boolean().nullish(),
|
||||
@@ -47,8 +47,8 @@ const AccessFormRatPanelConfig = ({ form: formInst, formName, disabled, initialV
|
||||
name={formName}
|
||||
onValuesChange={handleFormChange}
|
||||
>
|
||||
<Form.Item name="apiUrl" label={t("access.form.ratpanel_api_url.label")} rules={[formRule]}>
|
||||
<Input placeholder={t("access.form.ratpanel_api_url.placeholder")} />
|
||||
<Form.Item name="serverUrl" label={t("access.form.ratpanel_server_url.label")} rules={[formRule]}>
|
||||
<Input placeholder={t("access.form.ratpanel_server_url.placeholder")} />
|
||||
</Form.Item>
|
||||
|
||||
<Form.Item
|
||||
@@ -69,10 +69,10 @@ const AccessFormRatPanelConfig = ({ form: formInst, formName, disabled, initialV
|
||||
<Input.Password autoComplete="new-password" placeholder={t("access.form.ratpanel_access_token.placeholder")} />
|
||||
</Form.Item>
|
||||
|
||||
<Form.Item name="allowInsecureConnections" label={t("access.form.ratpanel_allow_insecure_conns.label")} rules={[formRule]}>
|
||||
<Form.Item name="allowInsecureConnections" label={t("access.form.common_allow_insecure_conns.label")} rules={[formRule]}>
|
||||
<Switch
|
||||
checkedChildren={t("access.form.ratpanel_allow_insecure_conns.switch.on")}
|
||||
unCheckedChildren={t("access.form.ratpanel_allow_insecure_conns.switch.off")}
|
||||
checkedChildren={t("access.form.common_allow_insecure_conns.switch.on")}
|
||||
unCheckedChildren={t("access.form.common_allow_insecure_conns.switch.off")}
|
||||
/>
|
||||
</Form.Item>
|
||||
</Form>
|
||||
|
@@ -17,7 +17,7 @@ export type AccessFormSafeLineConfigProps = {
|
||||
|
||||
const initFormModel = (): AccessFormSafeLineConfigFieldValues => {
|
||||
return {
|
||||
apiUrl: "http://<your-host-addr>:9443/",
|
||||
serverUrl: "http://<your-host-addr>:9443/",
|
||||
apiToken: "",
|
||||
};
|
||||
};
|
||||
@@ -26,7 +26,7 @@ const AccessFormSafeLineConfig = ({ form: formInst, formName, disabled, initialV
|
||||
const { t } = useTranslation();
|
||||
|
||||
const formSchema = z.object({
|
||||
apiUrl: z.string().url(t("common.errmsg.url_invalid")),
|
||||
serverUrl: z.string().url(t("common.errmsg.url_invalid")),
|
||||
apiToken: z
|
||||
.string()
|
||||
.min(1, t("access.form.safeline_api_token.placeholder"))
|
||||
@@ -49,8 +49,8 @@ const AccessFormSafeLineConfig = ({ form: formInst, formName, disabled, initialV
|
||||
name={formName}
|
||||
onValuesChange={handleFormChange}
|
||||
>
|
||||
<Form.Item name="apiUrl" label={t("access.form.safeline_api_url.label")} rules={[formRule]}>
|
||||
<Input placeholder={t("access.form.safeline_api_url.placeholder")} />
|
||||
<Form.Item name="serverUrl" label={t("access.form.safeline_server_url.label")} rules={[formRule]}>
|
||||
<Input placeholder={t("access.form.safeline_server_url.placeholder")} />
|
||||
</Form.Item>
|
||||
|
||||
<Form.Item
|
||||
@@ -62,10 +62,10 @@ const AccessFormSafeLineConfig = ({ form: formInst, formName, disabled, initialV
|
||||
<Input.Password autoComplete="new-password" placeholder={t("access.form.safeline_api_token.placeholder")} />
|
||||
</Form.Item>
|
||||
|
||||
<Form.Item name="allowInsecureConnections" label={t("access.form.safeline_allow_insecure_conns.label")} rules={[formRule]}>
|
||||
<Form.Item name="allowInsecureConnections" label={t("access.form.common_allow_insecure_conns.label")} rules={[formRule]}>
|
||||
<Switch
|
||||
checkedChildren={t("access.form.safeline_allow_insecure_conns.switch.on")}
|
||||
unCheckedChildren={t("access.form.safeline_allow_insecure_conns.switch.off")}
|
||||
checkedChildren={t("access.form.common_allow_insecure_conns.switch.on")}
|
||||
unCheckedChildren={t("access.form.common_allow_insecure_conns.switch.off")}
|
||||
/>
|
||||
</Form.Item>
|
||||
</Form>
|
||||
|
@@ -362,10 +362,10 @@ const AccessFormWebhookConfig = ({ form: formInst, formName, disabled, initialVa
|
||||
</Form.Item>
|
||||
</Show>
|
||||
|
||||
<Form.Item name="allowInsecureConnections" label={t("access.form.webhook_allow_insecure_conns.label")} rules={[formRule]}>
|
||||
<Form.Item name="allowInsecureConnections" label={t("access.form.common_allow_insecure_conns.label")} rules={[formRule]}>
|
||||
<Switch
|
||||
checkedChildren={t("access.form.webhook_allow_insecure_conns.switch.on")}
|
||||
unCheckedChildren={t("access.form.webhook_allow_insecure_conns.switch.off")}
|
||||
checkedChildren={t("access.form.common_allow_insecure_conns.switch.on")}
|
||||
unCheckedChildren={t("access.form.common_allow_insecure_conns.switch.off")}
|
||||
/>
|
||||
</Form.Item>
|
||||
</Form>
|
||||
|
@@ -1,13 +1,14 @@
|
||||
import { memo, useRef } from "react";
|
||||
import { memo, useMemo, useRef } from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import {
|
||||
CloseCircleOutlined as CloseCircleOutlinedIcon,
|
||||
EllipsisOutlined as EllipsisOutlinedIcon,
|
||||
FormOutlined as FormOutlinedIcon,
|
||||
MergeOutlined as MergeOutlinedIcon,
|
||||
MoreOutlined as MoreOutlinedIcon,
|
||||
} from "@ant-design/icons";
|
||||
import { useControllableValue } from "ahooks";
|
||||
import { Button, Card, Drawer, Dropdown, Input, type InputRef, Modal, Popover, Space } from "antd";
|
||||
import { Button, Card, Drawer, Dropdown, Input, type InputRef, type MenuProps, Modal, Popover, Space } from "antd";
|
||||
import { produce } from "immer";
|
||||
import { isEqual } from "radash";
|
||||
|
||||
@@ -59,12 +60,13 @@ const SharedNodeTitle = ({ className, style, node, disabled }: SharedNodeTitlePr
|
||||
type SharedNodeMenuProps = SharedNodeProps & {
|
||||
branchId?: string;
|
||||
branchIndex?: number;
|
||||
menus?: Array<"rename" | "duplicate" | "remove">;
|
||||
trigger: React.ReactNode;
|
||||
afterUpdate?: () => void;
|
||||
afterDelete?: () => void;
|
||||
};
|
||||
|
||||
const isBranchingNode = (node: WorkflowNode) => {
|
||||
const isNodeBranchLike = (node: WorkflowNode) => {
|
||||
return (
|
||||
node.type === WorkflowNodeType.Branch ||
|
||||
node.type === WorkflowNodeType.Condition ||
|
||||
@@ -74,7 +76,11 @@ const isBranchingNode = (node: WorkflowNode) => {
|
||||
);
|
||||
};
|
||||
|
||||
const SharedNodeMenu = ({ trigger, node, disabled, branchId, branchIndex, afterUpdate, afterDelete }: SharedNodeMenuProps) => {
|
||||
const isNodeReadOnly = (node: WorkflowNode) => {
|
||||
return node.type === WorkflowNodeType.Start || node.type === WorkflowNodeType.End;
|
||||
};
|
||||
|
||||
const SharedNodeMenu = ({ menus, trigger, node, disabled, branchId, branchIndex, afterUpdate, afterDelete }: SharedNodeMenuProps) => {
|
||||
const { t } = useTranslation();
|
||||
|
||||
const { updateNode, removeNode, removeBranch } = useWorkflowStore(useZustandShallowSelector(["updateNode", "removeNode", "removeBranch"]));
|
||||
@@ -101,7 +107,7 @@ const SharedNodeMenu = ({ trigger, node, disabled, branchId, branchIndex, afterU
|
||||
};
|
||||
|
||||
const handleDeleteClick = async () => {
|
||||
if (isBranchingNode(node)) {
|
||||
if (isNodeBranchLike(node)) {
|
||||
await removeBranch(branchId!, branchIndex!);
|
||||
} else {
|
||||
await removeNode(node.id);
|
||||
@@ -110,56 +116,82 @@ const SharedNodeMenu = ({ trigger, node, disabled, branchId, branchIndex, afterU
|
||||
afterDelete?.();
|
||||
};
|
||||
|
||||
const menuItems = useMemo(() => {
|
||||
let temp = [
|
||||
{
|
||||
key: "rename",
|
||||
disabled: disabled,
|
||||
label: isNodeBranchLike(node) ? t("workflow_node.action.rename_branch") : t("workflow_node.action.rename_node"),
|
||||
icon: <FormOutlinedIcon />,
|
||||
onClick: () => {
|
||||
nameRef.current = node.name;
|
||||
|
||||
const dialog = modalApi.confirm({
|
||||
title: isNodeBranchLike(node) ? t("workflow_node.action.rename_branch") : t("workflow_node.action.rename_node"),
|
||||
content: (
|
||||
<div className="pb-2 pt-4">
|
||||
<Input
|
||||
ref={nameInputRef}
|
||||
autoFocus
|
||||
defaultValue={node.name}
|
||||
onChange={(e) => (nameRef.current = e.target.value)}
|
||||
onPressEnter={async () => {
|
||||
await handleRenameConfirm();
|
||||
dialog.destroy();
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
),
|
||||
icon: null,
|
||||
okText: t("common.button.save"),
|
||||
onOk: handleRenameConfirm,
|
||||
});
|
||||
setTimeout(() => nameInputRef.current?.focus(), 1);
|
||||
},
|
||||
},
|
||||
// {
|
||||
// key: "duplicate",
|
||||
// disabled: disabled || isNodeReadOnly(node),
|
||||
// label: isNodeBranchLike(node) ? t("workflow_node.action.duplicate_branch") : t("workflow_node.action.duplicate_node"),
|
||||
// icon: <MergeOutlinedIcon />,
|
||||
// },
|
||||
{
|
||||
type: "divider",
|
||||
},
|
||||
{
|
||||
key: "remove",
|
||||
disabled: disabled || isNodeReadOnly(node),
|
||||
label: isNodeBranchLike(node) ? t("workflow_node.action.remove_branch") : t("workflow_node.action.remove_node"),
|
||||
icon: <CloseCircleOutlinedIcon />,
|
||||
danger: true,
|
||||
onClick: handleDeleteClick,
|
||||
},
|
||||
] satisfies MenuProps["items"];
|
||||
|
||||
if (menus) {
|
||||
temp = temp.filter((item) => item.type === "divider" || menus.includes(item.key as "rename" | "remove"));
|
||||
temp = temp.filter((item, index, array) => {
|
||||
if (item.type !== "divider") return true;
|
||||
return index === 0 || array[index - 1].type !== "divider";
|
||||
});
|
||||
if (temp[0]?.type === "divider") {
|
||||
temp.shift();
|
||||
}
|
||||
if (temp[temp.length - 1]?.type === "divider") {
|
||||
temp.pop();
|
||||
}
|
||||
}
|
||||
|
||||
return temp;
|
||||
}, [disabled, node]);
|
||||
|
||||
return (
|
||||
<>
|
||||
{ModelContextHolder}
|
||||
|
||||
<Dropdown
|
||||
menu={{
|
||||
items: [
|
||||
{
|
||||
key: "rename",
|
||||
disabled: disabled,
|
||||
label: isBranchingNode(node) ? t("workflow_node.action.rename_branch") : t("workflow_node.action.rename_node"),
|
||||
icon: <FormOutlinedIcon />,
|
||||
onClick: () => {
|
||||
nameRef.current = node.name;
|
||||
|
||||
const dialog = modalApi.confirm({
|
||||
title: isBranchingNode(node) ? t("workflow_node.action.rename_branch") : t("workflow_node.action.rename_node"),
|
||||
content: (
|
||||
<div className="pb-2 pt-4">
|
||||
<Input
|
||||
ref={nameInputRef}
|
||||
autoFocus
|
||||
defaultValue={node.name}
|
||||
onChange={(e) => (nameRef.current = e.target.value)}
|
||||
onPressEnter={async () => {
|
||||
await handleRenameConfirm();
|
||||
dialog.destroy();
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
),
|
||||
icon: null,
|
||||
okText: t("common.button.save"),
|
||||
onOk: handleRenameConfirm,
|
||||
});
|
||||
setTimeout(() => nameInputRef.current?.focus(), 1);
|
||||
},
|
||||
},
|
||||
{
|
||||
type: "divider",
|
||||
},
|
||||
{
|
||||
key: "remove",
|
||||
disabled: disabled || node.type === WorkflowNodeType.Start,
|
||||
label: isBranchingNode(node) ? t("workflow_node.action.remove_branch") : t("workflow_node.action.remove_node"),
|
||||
icon: <CloseCircleOutlinedIcon />,
|
||||
danger: true,
|
||||
onClick: handleDeleteClick,
|
||||
},
|
||||
],
|
||||
items: menuItems,
|
||||
}}
|
||||
trigger={["click"]}
|
||||
>
|
||||
@@ -264,7 +296,6 @@ const SharedNodeConfigDrawer = ({
|
||||
|
||||
const { promise, resolve, reject } = Promise.withResolvers();
|
||||
if (changed) {
|
||||
console.log(oldValues, newValues);
|
||||
modalApi.confirm({
|
||||
title: t("common.text.operation_confirm"),
|
||||
content: t("workflow_node.unsaved_changes.confirm"),
|
||||
@@ -288,6 +319,7 @@ const SharedNodeConfigDrawer = ({
|
||||
destroyOnHidden
|
||||
extra={
|
||||
<SharedNodeMenu
|
||||
menus={["rename", "remove"]}
|
||||
node={node}
|
||||
disabled={disabled}
|
||||
trigger={<Button icon={<EllipsisOutlinedIcon />} type="text" />}
|
||||
|
@@ -73,7 +73,7 @@ export interface AccessModel extends BaseModel {
|
||||
|
||||
// #region AccessConfig
|
||||
export type AccessConfigFor1Panel = {
|
||||
apiUrl: string;
|
||||
serverUrl: string;
|
||||
apiVersion: string;
|
||||
apiKey: string;
|
||||
allowInsecureConnections?: boolean;
|
||||
@@ -119,13 +119,13 @@ export type AccessConfigForBaishan = {
|
||||
};
|
||||
|
||||
export type AccessConfigForBaotaPanel = {
|
||||
apiUrl: string;
|
||||
serverUrl: string;
|
||||
apiKey: string;
|
||||
allowInsecureConnections?: boolean;
|
||||
};
|
||||
|
||||
export type AccessConfigForBaotaWAF = {
|
||||
apiUrl: string;
|
||||
serverUrl: string;
|
||||
apiKey: string;
|
||||
allowInsecureConnections?: boolean;
|
||||
};
|
||||
@@ -144,7 +144,7 @@ export type AccessConfigForCacheFly = {
|
||||
};
|
||||
|
||||
export type AccessConfigForCdnfly = {
|
||||
apiUrl: string;
|
||||
serverUrl: string;
|
||||
apiKey: string;
|
||||
apiSecret: string;
|
||||
allowInsecureConnections?: boolean;
|
||||
@@ -204,7 +204,7 @@ export type AccessConfigForEmail = {
|
||||
};
|
||||
|
||||
export type AccessConfigForFlexCDN = {
|
||||
apiUrl: string;
|
||||
serverUrl: string;
|
||||
apiRole: string;
|
||||
accessKeyId: string;
|
||||
accessKey: string;
|
||||
@@ -226,7 +226,7 @@ export type AccessConfigForGoDaddy = {
|
||||
};
|
||||
|
||||
export type AccessConfigForGoEdge = {
|
||||
apiUrl: string;
|
||||
serverUrl: string;
|
||||
apiRole: string;
|
||||
accessKeyId: string;
|
||||
accessKey: string;
|
||||
@@ -257,7 +257,7 @@ export type AccessConfigForLarkBot = {
|
||||
};
|
||||
|
||||
export type AccessConfigForLeCDN = {
|
||||
apiUrl: string;
|
||||
serverUrl: string;
|
||||
apiVersion: string;
|
||||
apiRole: string;
|
||||
username: string;
|
||||
@@ -306,13 +306,13 @@ export type AccessConfigForPorkbun = {
|
||||
};
|
||||
|
||||
export type AccessConfigForPowerDNS = {
|
||||
apiUrl: string;
|
||||
serverUrl: string;
|
||||
apiKey: string;
|
||||
allowInsecureConnections?: boolean;
|
||||
};
|
||||
|
||||
export type AccessConfigForProxmoxVE = {
|
||||
apiUrl: string;
|
||||
serverUrl: string;
|
||||
apiToken: string;
|
||||
apiTokenSecret?: string;
|
||||
allowInsecureConnections?: boolean;
|
||||
@@ -328,14 +328,14 @@ export type AccessConfigForRainYun = {
|
||||
};
|
||||
|
||||
export type AccessConfigForRatPanel = {
|
||||
apiUrl: string;
|
||||
serverUrl: string;
|
||||
accessTokenId: number;
|
||||
accessToken: string;
|
||||
allowInsecureConnections?: boolean;
|
||||
};
|
||||
|
||||
export type AccessConfigForSafeLine = {
|
||||
apiUrl: string;
|
||||
serverUrl: string;
|
||||
apiToken: string;
|
||||
allowInsecureConnections?: boolean;
|
||||
};
|
||||
|
@@ -34,16 +34,16 @@
|
||||
"access.form.certificate_authority.placeholder": "Please select a certificate authority",
|
||||
"access.form.notification_channel.label": "Notification channel",
|
||||
"access.form.notification_channel.placeholder": "Please select a notification channel",
|
||||
"access.form.1panel_api_url.label": "1Panel URL",
|
||||
"access.form.1panel_api_url.placeholder": "Please enter 1Panel URL",
|
||||
"access.form.1panel_server_url.label": "1Panel server URL",
|
||||
"access.form.1panel_server_url.placeholder": "Please enter 1Panel server URL",
|
||||
"access.form.1panel_api_version.label": "1Panel version",
|
||||
"access.form.1panel_api_version.placeholder": "Please select 1Panel version",
|
||||
"access.form.1panel_api_key.label": "1Panel API key",
|
||||
"access.form.1panel_api_key.placeholder": "Please enter 1Panel API key",
|
||||
"access.form.1panel_api_key.tooltip": "For more information, see <a href=\"https://docs.1panel.pro/dev_manual/api_manual/\" target=\"_blank\">https://docs.1panel.pro/dev_manual/api_manual/</a>",
|
||||
"access.form.1panel_allow_insecure_conns.label": "Insecure SSL/TLS connections",
|
||||
"access.form.1panel_allow_insecure_conns.switch.on": "Allow",
|
||||
"access.form.1panel_allow_insecure_conns.switch.off": "Disallow",
|
||||
"access.form.common_allow_insecure_conns.label": "Insecure SSL/TLS connections",
|
||||
"access.form.common_allow_insecure_conns.switch.on": "Allow",
|
||||
"access.form.common_allow_insecure_conns.switch.off": "Disallow",
|
||||
"access.form.acmeca_endpoint.label": "Endpoint",
|
||||
"access.form.acmeca_endpoint.placeholder": "Please enter endpoint",
|
||||
"access.form.acmeca_endpoint.tooltip": "For more information, see <a href=\"https://datatracker.ietf.org/doc/html/rfc8555#section-7.1.1\" target=\"_blank\">https://datatracker.ietf.org/doc/html/rfc8555#section-7.1.1</a>",
|
||||
@@ -104,22 +104,16 @@
|
||||
"access.form.upyun_password.tooltip": "For more information, see <a href=\"https://console.upyun.com/account/subaccount/\" target=\"_blank\">https://console.upyun.com/account/subaccount/</a>",
|
||||
"access.form.baishan_api_token.label": "Baishan Cloud API token",
|
||||
"access.form.baishan_api_token.placeholder": "Please enter Baishan Cloud API token",
|
||||
"access.form.baotapanel_api_url.label": "aaPanel URL",
|
||||
"access.form.baotapanel_api_url.placeholder": "Please enter aaPanel URL",
|
||||
"access.form.baotapanel_server_url.label": "aaPanel server URL",
|
||||
"access.form.baotapanel_server_url.placeholder": "Please enter aaPanel server URL",
|
||||
"access.form.baotapanel_api_key.label": "aaPanel API key",
|
||||
"access.form.baotapanel_api_key.placeholder": "Please enter aaPanel API key",
|
||||
"access.form.baotapanel_api_key.tooltip": "For more information, see <a href=\"https://www.bt.cn/bbs/thread-20376-1-1.html\" target=\"_blank\">https://www.bt.cn/bbs/thread-20376-1-1.html</a>",
|
||||
"access.form.baotapanel_allow_insecure_conns.label": "Insecure SSL/TLS connections",
|
||||
"access.form.baotapanel_allow_insecure_conns.switch.on": "Allow",
|
||||
"access.form.baotapanel_allow_insecure_conns.switch.off": "Disallow",
|
||||
"access.form.baotawaf_api_url.label": "aaWAF URL",
|
||||
"access.form.baotawaf_api_url.placeholder": "Please enter aaWAF URL",
|
||||
"access.form.baotawaf_server_url.label": "aaWAF server URL",
|
||||
"access.form.baotawaf_server_url.placeholder": "Please enter aaWAF server URL",
|
||||
"access.form.baotawaf_api_key.label": "aaWAF API key",
|
||||
"access.form.baotawaf_api_key.placeholder": "Please enter aaWAF API key",
|
||||
"access.form.baotawaf_api_key.tooltip": "For more information, see <a href=\"https://github.com/aaPanel/aaWAF/blob/main/API.md\" target=\"_blank\">https://github.com/aaPanel/aaWAF/blob/main/API.md</a>",
|
||||
"access.form.baotawaf_allow_insecure_conns.label": "Insecure SSL/TLS connections",
|
||||
"access.form.baotawaf_allow_insecure_conns.switch.on": "Allow",
|
||||
"access.form.baotawaf_allow_insecure_conns.switch.off": "Disallow",
|
||||
"access.form.byteplus_access_key.label": "BytePlus AccessKey",
|
||||
"access.form.byteplus_access_key.placeholder": "Please enter BytePlus AccessKey",
|
||||
"access.form.byteplus_access_key.tooltip": "For more information, see <a href=\"https://docs.byteplus.com/en/docs/byteplus-platform/docs-managing-keys\" target=\"_blank\">https://docs.byteplus.com/en/docs/byteplus-platform/docs-managing-keys</a>",
|
||||
@@ -129,17 +123,14 @@
|
||||
"access.form.cachefly_api_token.label": "CacheFly API token",
|
||||
"access.form.cachefly_api_token.placeholder": "Please enter CacheFly API token",
|
||||
"access.form.cachefly_api_token.tooltip": "For more information, see <a href=\"https://kb.cachefly.com/kb/guide/en/generating-tokens-and-keys-Oll9Irt5TI/Steps/2460228\" target=\"_blank\">https://kb.cachefly.com/kb/guide/en/generating-tokens-and-keys-Oll9Irt5TI/Steps/2460228</a>",
|
||||
"access.form.cdnfly_api_url.label": "Cdnfly URL",
|
||||
"access.form.cdnfly_api_url.placeholder": "Please enter Cdnfly URL",
|
||||
"access.form.cdnfly_server_url.label": "Cdnfly server URL",
|
||||
"access.form.cdnfly_server_url.placeholder": "Please enter Cdnfly server URL",
|
||||
"access.form.cdnfly_api_key.label": "Cdnfly user API key",
|
||||
"access.form.cdnfly_api_key.placeholder": "Please enter Cdnfly user API key",
|
||||
"access.form.cdnfly_api_key.tooltip": "For more information, see <a href=\"https://doc.cdnfly.cn/shiyongjieshao.html\" target=\"_blank\">https://doc.cdnfly.cn/shiyongjieshao.html</a>",
|
||||
"access.form.cdnfly_api_secret.label": "Cdnfly user API secret",
|
||||
"access.form.cdnfly_api_secret.placeholder": "Please enter Cdnfly user API secret",
|
||||
"access.form.cdnfly_api_secret.tooltip": "For more information, see <a href=\"https://doc.cdnfly.cn/shiyongjieshao.html\" target=\"_blank\">https://doc.cdnfly.cn/shiyongjieshao.html</a>",
|
||||
"access.form.cdnfly_allow_insecure_conns.label": "Insecure SSL/TLS connections",
|
||||
"access.form.cdnfly_allow_insecure_conns.switch.on": "Allow",
|
||||
"access.form.cdnfly_allow_insecure_conns.switch.off": "Disallow",
|
||||
"access.form.cloudflare_dns_api_token.label": "Cloudflare DNS API token",
|
||||
"access.form.cloudflare_dns_api_token.placeholder": "Please enter Cloudflare DNS API token",
|
||||
"access.form.cloudflare_dns_api_token.tooltip": "For more information, see <a href=\"https://developers.cloudflare.com/fundamentals/api/get-started/create-token/\" target=\"_blank\">https://developers.cloudflare.com/fundamentals/api/get-started/create-token/</a>",
|
||||
@@ -201,8 +192,8 @@
|
||||
"access.form.email_default_sender_address.placeholder": "Please enter default sender email address",
|
||||
"access.form.email_default_receiver_address.label": "Default receiver email address (Optional)",
|
||||
"access.form.email_default_receiver_address.placeholder": "Please enter default receiver email address",
|
||||
"access.form.flexcdn_api_url.label": "FlexCDN URL",
|
||||
"access.form.flexcdn_api_url.placeholder": "Please enter FlexCDN URL",
|
||||
"access.form.flexcdn_server_url.label": "FlexCDN server URL",
|
||||
"access.form.flexcdn_server_url.placeholder": "Please enter FlexCDN server URL",
|
||||
"access.form.flexcdn_api_role.label": "FlexCDN user role",
|
||||
"access.form.flexcdn_api_role.placeholder": "Please select FlexCDN user role",
|
||||
"access.form.flexcdn_api_role.option.user.label": "Platform user",
|
||||
@@ -213,9 +204,6 @@
|
||||
"access.form.flexcdn_access_key.label": "FlexCDN AccessKey",
|
||||
"access.form.flexcdn_access_key.placeholder": "Please enter FlexCDN AccessKey",
|
||||
"access.form.flexcdn_access_key.tooltip": "For more information, see <a href=\"https://flexcdn.cn/docs/api/auth\" target=\"_blank\">https://flexcdn.cn/docs/api/auth</a>",
|
||||
"access.form.flexcdn_allow_insecure_conns.label": "Insecure SSL/TLS connections",
|
||||
"access.form.flexcdn_allow_insecure_conns.switch.on": "Allow",
|
||||
"access.form.flexcdn_allow_insecure_conns.switch.off": "Disallow",
|
||||
"access.form.gcore_api_token.label": "Gcore API token",
|
||||
"access.form.gcore_api_token.placeholder": "Please enter Gcore API token",
|
||||
"access.form.gcore_api_token.tooltip": "For more information, see <a href=\"https://api.gcore.com/docs/iam#section/Authentication\" target=\"_blank\">https://api.gcore.com/docs/iam#section/Authentication</a>",
|
||||
@@ -231,8 +219,8 @@
|
||||
"access.form.godaddy_api_secret.label": "GoDaddy API secret",
|
||||
"access.form.godaddy_api_secret.placeholder": "Please enter GoDaddy API secret",
|
||||
"access.form.godaddy_api_secret.tooltip": "For more information, see <a href=\"https://developer.godaddy.com/\" target=\"_blank\">https://developer.godaddy.com/</a>",
|
||||
"access.form.goedge_api_url.label": "GoEdge URL",
|
||||
"access.form.goedge_api_url.placeholder": "Please enter GoEdge URL",
|
||||
"access.form.goedge_server_url.label": "GoEdge server URL",
|
||||
"access.form.goedge_server_url.placeholder": "Please enter GoEdge server URL",
|
||||
"access.form.goedge_api_role.label": "GoEdge user role",
|
||||
"access.form.goedge_api_role.placeholder": "Please select GoEdge user role",
|
||||
"access.form.goedge_api_role.option.user.label": "Platform user",
|
||||
@@ -243,9 +231,6 @@
|
||||
"access.form.goedge_access_key.label": "GoEdge AccessKey",
|
||||
"access.form.goedge_access_key.placeholder": "Please enter GoEdge AccessKey",
|
||||
"access.form.goedge_access_key.tooltip": "For more information, see <a href=\"https://goedge.cloud/docs/API/Auth.md\" target=\"_blank\">https://goedge.cloud/docs/API/Auth.md</a>",
|
||||
"access.form.goedge_allow_insecure_conns.label": "Insecure SSL/TLS connections",
|
||||
"access.form.goedge_allow_insecure_conns.switch.on": "Allow",
|
||||
"access.form.goedge_allow_insecure_conns.switch.off": "Disallow",
|
||||
"access.form.googletrustservices_eab_kid.label": "ACME EAB KID",
|
||||
"access.form.googletrustservices_eab_kid.placeholder": "Please enter ACME EAB KID",
|
||||
"access.form.googletrustservices_eab_kid.tooltip": "For more information, see <a href=\"https://cloud.google.com/certificate-manager/docs/public-ca-tutorial\" target=\"_blank\">https://cloud.google.com/certificate-manager/docs/public-ca-tutorial</a>",
|
||||
@@ -270,8 +255,8 @@
|
||||
"access.form.larkbot_webhook_url.label": "Lark bot Webhook URL",
|
||||
"access.form.larkbot_webhook_url.placeholder": "Please enter Lark bot Webhook URL",
|
||||
"access.form.larkbot_webhook_url.tooltip": "For more information, see <a href=\"https://www.feishu.cn/hc/en-US/articles/807992406756\" target=\"_blank\">https://www.feishu.cn/hc/en-US/articles/807992406756</a>",
|
||||
"access.form.lecdn_api_url.label": "LeCDN URL",
|
||||
"access.form.lecdn_api_url.placeholder": "Please enter LeCDN URL",
|
||||
"access.form.lecdn_server_url.label": "LeCDN server URL",
|
||||
"access.form.lecdn_server_url.placeholder": "Please enter LeCDN server URL",
|
||||
"access.form.lecdn_api_version.label": "LeCDN version",
|
||||
"access.form.lecdn_api_version.placeholder": "Please select LeCDN version",
|
||||
"access.form.lecdn_api_role.label": "LeCDN user role",
|
||||
@@ -282,9 +267,6 @@
|
||||
"access.form.lecdn_username.placeholder": "Please enter LeCDN username",
|
||||
"access.form.lecdn_password.label": "LeCDN password",
|
||||
"access.form.lecdn_password.placeholder": "Please enter GoEdge password",
|
||||
"access.form.lecdn_allow_insecure_conns.label": "Insecure SSL/TLS connections",
|
||||
"access.form.lecdn_allow_insecure_conns.switch.on": "Allow",
|
||||
"access.form.lecdn_allow_insecure_conns.switch.off": "Disallow",
|
||||
"access.form.mattermost_server_url.label": "Mattermost server URL",
|
||||
"access.form.mattermost_server_url.placeholder": "Please enter Mattermost server URL",
|
||||
"access.form.mattermost_username.label": "Mattermost username",
|
||||
@@ -330,25 +312,19 @@
|
||||
"access.form.porkbun_secret_api_key.label": "Porkbun secret API key",
|
||||
"access.form.porkbun_secret_api_key.placeholder": "Please enter Porkbun secret API key",
|
||||
"access.form.porkbun_secret_api_key.tooltip": "For more information, see <a href=\"https://porkbun.com/api/json/v3/documentation#Authentication\" target=\"_blank\">https://porkbun.com/api/json/v3/documentation</a>",
|
||||
"access.form.powerdns_api_url.label": "PowerDNS URL",
|
||||
"access.form.powerdns_api_url.placeholder": "Please enter PowerDNS URL",
|
||||
"access.form.powerdns_server_url.label": "PowerDNS server URL",
|
||||
"access.form.powerdns_server_url.placeholder": "Please enter PowerDNS server URL",
|
||||
"access.form.powerdns_api_key.label": "PowerDNS API key",
|
||||
"access.form.powerdns_api_key.placeholder": "Please enter PowerDNS API key",
|
||||
"access.form.powerdns_api_key.tooltip": "For more information, see <a href=\"https://doc.powerdns.com/authoritative/http-api/index.html#enabling-the-api\" target=\"_blank\">https://doc.powerdns.com/authoritative/http-api/index.html#enabling-the-api</a>",
|
||||
"access.form.powerdns_allow_insecure_conns.label": "Insecure SSL/TLS connections",
|
||||
"access.form.powerdns_allow_insecure_conns.switch.on": "Allow",
|
||||
"access.form.powerdns_allow_insecure_conns.switch.off": "Disallow",
|
||||
"access.form.proxmoxve_api_url.label": "Proxmox VE URL",
|
||||
"access.form.proxmoxve_api_url.placeholder": "Please enter Proxmox VE URL",
|
||||
"access.form.proxmoxve_server_url.label": "Proxmox VE server URL",
|
||||
"access.form.proxmoxve_server_url.placeholder": "Please enter Proxmox VE server URL",
|
||||
"access.form.proxmoxve_api_token.label": "Proxmox VE API token",
|
||||
"access.form.proxmoxve_api_token.placeholder": "Please enter Proxmox VE API token",
|
||||
"access.form.proxmoxve_api_token.tooltip": "For more information, see <a href=\"https://pve.proxmox.com/pve-docs/pve-admin-guide.html#pveum_tokens\" target=\"_blank\">https://pve.proxmox.com/pve-docs/pve-admin-guide.html#pveum_tokens</a>",
|
||||
"access.form.proxmoxve_api_token_secret.label": "Proxmox VE API token secret (Optional)",
|
||||
"access.form.proxmoxve_api_token_secret.placeholder": "Please enter Proxmox VE API token secret",
|
||||
"access.form.proxmoxve_api_token_secret.tooltip": "For more information, see <a href=\"https://pve.proxmox.com/pve-docs/pve-admin-guide.html#pveum_tokens\" target=\"_blank\">https://pve.proxmox.com/pve-docs/pve-admin-guide.html#pveum_tokens</a>",
|
||||
"access.form.proxmoxve_allow_insecure_conns.label": "Insecure SSL/TLS connections",
|
||||
"access.form.proxmoxve_allow_insecure_conns.switch.on": "Allow",
|
||||
"access.form.proxmoxve_allow_insecure_conns.switch.off": "Disallow",
|
||||
"access.form.qiniu_access_key.label": "Qiniu AccessKey",
|
||||
"access.form.qiniu_access_key.placeholder": "Please enter Qiniu AccessKey",
|
||||
"access.form.qiniu_access_key.tooltip": "For more information, see <a href=\"https://portal.qiniu.com/\" target=\"_blank\">https://portal.qiniu.com/</a>",
|
||||
@@ -358,25 +334,19 @@
|
||||
"access.form.rainyun_api_key.label": "Rain Yun API key",
|
||||
"access.form.rainyun_api_key.placeholder": "Please enter Rain Yun API key",
|
||||
"access.form.rainyun_api_key.tooltip": "For more information, see <a href=\"https://app.rainyun.com/account/settings/api-key\" target=\"_blank\">https://app.rainyun.com/account/settings/api-key</a>",
|
||||
"access.form.ratpanel_api_url.label": "RatPanel URL",
|
||||
"access.form.ratpanel_api_url.placeholder": "Please enter RatPanel URL",
|
||||
"access.form.ratpanel_server_url.label": "RatPanel server URL",
|
||||
"access.form.ratpanel_server_url.placeholder": "Please enter RatPanel server URL",
|
||||
"access.form.ratpanel_access_token_id.label": "RatPanel access token ID",
|
||||
"access.form.ratpanel_access_token_id.placeholder": "Please enter RatPanel access token ID",
|
||||
"access.form.ratpanel_access_token_id.tooltip": "For more information, see <a href=\"https://ratpanel.github.io/advanced/api.html\" target=\"_blank\">https://ratpanel.github.io/advanced/api.html</a>",
|
||||
"access.form.ratpanel_access_token.label": "RatPanel access token",
|
||||
"access.form.ratpanel_access_token.placeholder": "Please enter RatPanel access token",
|
||||
"access.form.ratpanel_access_token.tooltip": "For more information, see <a href=\"https://ratpanel.github.io/advanced/api.html\" target=\"_blank\">https://ratpanel.github.io/advanced/api.html</a>",
|
||||
"access.form.ratpanel_allow_insecure_conns.label": "Insecure SSL/TLS connections",
|
||||
"access.form.ratpanel_allow_insecure_conns.switch.on": "Allow",
|
||||
"access.form.ratpanel_allow_insecure_conns.switch.off": "Disallow",
|
||||
"access.form.safeline_api_url.label": "SafeLine URL",
|
||||
"access.form.safeline_api_url.placeholder": "Please enter SafeLine URL",
|
||||
"access.form.safeline_server_url.label": "SafeLine server URL",
|
||||
"access.form.safeline_server_url.placeholder": "Please enter SafeLine server URL",
|
||||
"access.form.safeline_api_token.label": "SafeLine API token",
|
||||
"access.form.safeline_api_token.placeholder": "Please enter SafeLine API token",
|
||||
"access.form.safeline_api_token.tooltip": "For more information, see <a href=\"https://docs.waf.chaitin.com/en/reference/articles/openapi\" target=\"_blank\">https://docs.waf.chaitin.com/en/reference/articles/openapi</a>",
|
||||
"access.form.safeline_allow_insecure_conns.label": "Insecure SSL/TLS connections",
|
||||
"access.form.safeline_allow_insecure_conns.switch.on": "Allow",
|
||||
"access.form.safeline_allow_insecure_conns.switch.off": "Disallow",
|
||||
"access.form.ssh_host.label": "Server host",
|
||||
"access.form.ssh_host.placeholder": "Please enter server host",
|
||||
"access.form.ssh_port.label": "Server port",
|
||||
@@ -466,9 +436,6 @@
|
||||
"access.form.webhook_preset_data.option.pushplus.label": "PushPlus",
|
||||
"access.form.webhook_preset_data.option.serverchan.label": "ServerChan",
|
||||
"access.form.webhook_preset_data.option.common.label": "General template",
|
||||
"access.form.webhook_allow_insecure_conns.label": "Insecure SSL/TLS connections",
|
||||
"access.form.webhook_allow_insecure_conns.switch.on": "Allow",
|
||||
"access.form.webhook_allow_insecure_conns.switch.off": "Disallow",
|
||||
"access.form.wecombot_webhook_url.label": "WeCom bot Webhook URL",
|
||||
"access.form.wecombot_webhook_url.placeholder": "Please enter WeCom bot Webhook URL",
|
||||
"access.form.wecombot_webhook_url.tooltip": "For more information, see <a href=\"https://open.work.weixin.qq.com/help2/pc/18401#%E5%85%AD%E3%80%81%E7%BE%A4%E6%9C%BA%E5%99%A8%E4%BA%BAWebhook%E5%9C%B0%E5%9D%80\" target=\"_blank\">https://open.work.weixin.qq.com/help2/pc/18401</a>",
|
||||
|
@@ -34,16 +34,16 @@
|
||||
"access.form.certificate_authority.placeholder": "请选择证书颁发机构",
|
||||
"access.form.notification_channel.label": "通知渠道",
|
||||
"access.form.notification_channel.placeholder": "请选择通知渠道",
|
||||
"access.form.1panel_api_url.label": "1Panel URL",
|
||||
"access.form.1panel_api_url.placeholder": "请输入 1Panel URL",
|
||||
"access.form.common_allow_insecure_conns.label": "忽略 SSL/TLS 证书错误",
|
||||
"access.form.common_allow_insecure_conns.switch.on": "允许",
|
||||
"access.form.common_allow_insecure_conns.switch.off": "不允许",
|
||||
"access.form.1panel_server_url.label": "1Panel 服务地址",
|
||||
"access.form.1panel_server_url.placeholder": "请输入 1Panel 服务地址",
|
||||
"access.form.1panel_api_version.label": "1Panel 版本",
|
||||
"access.form.1panel_api_version.placeholder": "请选择 1Panel 版本",
|
||||
"access.form.1panel_api_key.label": "1Panel 接口密钥",
|
||||
"access.form.1panel_api_key.placeholder": "请输入 1Panel 接口密钥",
|
||||
"access.form.1panel_api_key.tooltip": "这是什么?请参阅 <a href=\"https://1panel.cn/docs/dev_manual/api_manual/\" target=\"_blank\">https://1panel.cn/docs/dev_manual/api_manual/</a>",
|
||||
"access.form.1panel_allow_insecure_conns.label": "忽略 SSL/TLS 证书错误",
|
||||
"access.form.1panel_allow_insecure_conns.switch.on": "允许",
|
||||
"access.form.1panel_allow_insecure_conns.switch.off": "不允许",
|
||||
"access.form.acmeca_endpoint.label": "服务端点",
|
||||
"access.form.acmeca_endpoint.placeholder": "请输入服务端点",
|
||||
"access.form.acmeca_endpoint.tooltip": "这是什么?请参阅 <a href=\"https://datatracker.ietf.org/doc/html/rfc8555#section-7.1.1\" target=\"_blank\">https://datatracker.ietf.org/doc/html/rfc8555#section-7.1.1</a>",
|
||||
@@ -95,22 +95,16 @@
|
||||
"access.form.baiducloud_secret_access_key.tooltip": "这是什么?请参阅 <a href=\"https://cloud.baidu.com/doc/Reference/s/jjwvz2e3p\" target=\"_blank\">https://cloud.baidu.com/doc/Reference/s/jjwvz2e3p</a>",
|
||||
"access.form.baishan_api_token.label": "白山云 API Token",
|
||||
"access.form.baishan_api_token.placeholder": "请输入白山云 API Token",
|
||||
"access.form.baotapanel_api_url.label": "宝塔面板 URL",
|
||||
"access.form.baotapanel_api_url.placeholder": "请输入宝塔面板 URL",
|
||||
"access.form.baotapanel_server_url.label": "宝塔面板服务地址",
|
||||
"access.form.baotapanel_server_url.placeholder": "请输入宝塔面板服务地址",
|
||||
"access.form.baotapanel_api_key.label": "宝塔面板接口密钥",
|
||||
"access.form.baotapanel_api_key.placeholder": "请输入宝塔面板接口密钥",
|
||||
"access.form.baotapanel_api_key.tooltip": "这是什么?请参阅 <a href=\"https://www.bt.cn/bbs/thread-113890-1-1.html\" target=\"_blank\">https://www.bt.cn/bbs/thread-113890-1-1.html</a>",
|
||||
"access.form.baotapanel_allow_insecure_conns.label": "忽略 SSL/TLS 证书错误",
|
||||
"access.form.baotapanel_allow_insecure_conns.switch.on": "允许",
|
||||
"access.form.baotapanel_allow_insecure_conns.switch.off": "不允许",
|
||||
"access.form.baotawaf_api_url.label": "堡塔云 WAF URL",
|
||||
"access.form.baotawaf_api_url.placeholder": "请输入堡塔云 WAF URL",
|
||||
"access.form.baotawaf_server_url.label": "堡塔云 WAF 服务地址",
|
||||
"access.form.baotawaf_server_url.placeholder": "请输入堡塔云 WAF 服务地址",
|
||||
"access.form.baotawaf_api_key.label": "堡塔云 WAF 接口密钥",
|
||||
"access.form.baotawaf_api_key.placeholder": "请输入 堡塔云 WAF 接口密钥",
|
||||
"access.form.baotawaf_api_key.tooltip": "这是什么?请参阅 <a href=\"https://github.com/aaPanel/aaWAF/blob/main/API.md\" target=\"_blank\">https://github.com/aaPanel/aaWAF/blob/main/API.md</a>",
|
||||
"access.form.baotawaf_allow_insecure_conns.label": "忽略 SSL/TLS 证书错误",
|
||||
"access.form.baotawaf_allow_insecure_conns.switch.on": "允许",
|
||||
"access.form.baotawaf_allow_insecure_conns.switch.off": "不允许",
|
||||
"access.form.bunny_api_key.label": "Bunny API Key",
|
||||
"access.form.bunny_api_key.placeholder": "请输入 Bunny API Key",
|
||||
"access.form.bunny_api_key.tooltip": "这是什么?请参阅 <a href=\"https://docs.bunny.net/reference/bunnynet-api-overview\" target=\"_blank\">https://docs.bunny.net/reference/bunnynet-api-overview</a>",
|
||||
@@ -123,17 +117,14 @@
|
||||
"access.form.cachefly_api_token.label": "CacheFly API Token",
|
||||
"access.form.cachefly_api_token.placeholder": "请输入 CacheFly API Token",
|
||||
"access.form.cachefly_api_token.tooltip": "这是什么?请参阅 <a href=\"https://kb.cachefly.com/kb/guide/en/generating-tokens-and-keys-Oll9Irt5TI/Steps/2460228\" target=\"_blank\">https://kb.cachefly.com/kb/guide/en/generating-tokens-and-keys-Oll9Irt5TI/Steps/2460228</a>",
|
||||
"access.form.cdnfly_api_url.label": "Cdnfly URL",
|
||||
"access.form.cdnfly_api_url.placeholder": "请输入 Cdnfly URL",
|
||||
"access.form.cdnfly_server_url.label": "Cdnfly 服务地址",
|
||||
"access.form.cdnfly_server_url.placeholder": "请输入 Cdnfly 服务地址",
|
||||
"access.form.cdnfly_api_key.label": "Cdnfly 用户端 API Key",
|
||||
"access.form.cdnfly_api_key.placeholder": "请输入 Cdnfly 用户端 API Key",
|
||||
"access.form.cdnfly_api_key.tooltip": "这是什么?请参阅 <a href=\"https://doc.cdnfly.cn/shiyongjieshao.html\" target=\"_blank\">https://doc.cdnfly.cn/shiyongjieshao.html</a>",
|
||||
"access.form.cdnfly_api_secret.label": "Cdnfly 用户端 API Secret",
|
||||
"access.form.cdnfly_api_secret.placeholder": "请输入 Cdnfly 用户端 API Secret",
|
||||
"access.form.cdnfly_api_secret.tooltip": "这是什么?请参阅 <a href=\"https://doc.cdnfly.cn/shiyongjieshao.html\" target=\"_blank\">https://doc.cdnfly.cn/shiyongjieshao.html</a>",
|
||||
"access.form.cdnfly_allow_insecure_conns.label": "忽略 SSL/TLS 证书错误",
|
||||
"access.form.cdnfly_allow_insecure_conns.switch.on": "允许",
|
||||
"access.form.cdnfly_allow_insecure_conns.switch.off": "不允许",
|
||||
"access.form.cloudflare_dns_api_token.label": "Cloudflare DNS API 令牌",
|
||||
"access.form.cloudflare_dns_api_token.placeholder": "请输入 Cloudflare DNS API 令牌",
|
||||
"access.form.cloudflare_dns_api_token.tooltip": "这是什么?请参阅 <a href=\"https://developers.cloudflare.com/fundamentals/api/get-started/create-token/\" target=\"_blank\">https://developers.cloudflare.com/fundamentals/api/get-started/create-token/</a>",
|
||||
@@ -195,8 +186,8 @@
|
||||
"access.form.email_default_sender_address.placeholder": "请输入默认的发送邮箱地址",
|
||||
"access.form.email_default_receiver_address.label": "默认的接收邮箱地址(可选)",
|
||||
"access.form.email_default_receiver_address.placeholder": "请输入默认的接收邮箱地址",
|
||||
"access.form.flexcdn_api_url.label": "FlexCDN URL",
|
||||
"access.form.flexcdn_api_url.placeholder": "请输入 FlexCDN URL",
|
||||
"access.form.flexcdn_server_url.label": "FlexCDN 服务地址",
|
||||
"access.form.flexcdn_server_url.placeholder": "请输入 FlexCDN 服务地址",
|
||||
"access.form.flexcdn_api_role.label": "FlexCDN 用户角色",
|
||||
"access.form.flexcdn_api_role.placeholder": "请选择 FlexCDN 用户角色",
|
||||
"access.form.flexcdn_api_role.option.user.label": "平台用户",
|
||||
@@ -207,9 +198,6 @@
|
||||
"access.form.flexcdn_access_key.label": "FlexCDN AccessKey",
|
||||
"access.form.flexcdn_access_key.placeholder": "请输入 FlexCDN AccessKey",
|
||||
"access.form.flexcdn_access_key.tooltip": "这是什么?请参阅 <a href=\"https://flexcdn.cn/docs/api/auth\" target=\"_blank\">https://flexcdn.cn/docs/api/auth</a>",
|
||||
"access.form.flexcdn_allow_insecure_conns.label": "忽略 SSL/TLS 证书错误",
|
||||
"access.form.flexcdn_allow_insecure_conns.switch.on": "允许",
|
||||
"access.form.flexcdn_allow_insecure_conns.switch.off": "不允许",
|
||||
"access.form.gcore_api_token.label": "Gcore API Token",
|
||||
"access.form.gcore_api_token.placeholder": "请输入 Gcore API Token",
|
||||
"access.form.gcore_api_token.tooltip": "这是什么?请参阅 <a href=\"https://api.gcore.com/docs/iam#section/Authentication\" target=\"_blank\">https://api.gcore.com/docs/iam#section/Authentication</a>",
|
||||
@@ -225,8 +213,8 @@
|
||||
"access.form.godaddy_api_secret.label": "GoDaddy API Secret",
|
||||
"access.form.godaddy_api_secret.placeholder": "请输入 GoDaddy API Secret",
|
||||
"access.form.godaddy_api_secret.tooltip": "这是什么?请参阅 <a href=\"https://developer.godaddy.com/\" target=\"_blank\">https://developer.godaddy.com/</a>",
|
||||
"access.form.goedge_api_url.label": "GoEdge URL",
|
||||
"access.form.goedge_api_url.placeholder": "请输入 GoEdge URL",
|
||||
"access.form.goedge_server_url.label": "GoEdge 服务地址",
|
||||
"access.form.goedge_server_url.placeholder": "请输入 GoEdge 服务地址",
|
||||
"access.form.goedge_api_role.label": "GoEdge 用户角色",
|
||||
"access.form.goedge_api_role.placeholder": "请选择 GoEdge 用户角色",
|
||||
"access.form.goedge_api_role.option.user.label": "平台用户",
|
||||
@@ -237,9 +225,6 @@
|
||||
"access.form.goedge_access_key.label": "GoEdge AccessKey",
|
||||
"access.form.goedge_access_key.placeholder": "请输入 GoEdge AccessKey",
|
||||
"access.form.goedge_access_key.tooltip": "这是什么?请参阅 <a href=\"https://goedge.cloud/docs/API/Auth.md\" target=\"_blank\">https://goedge.cloud/docs/API/Auth.md</a>",
|
||||
"access.form.goedge_allow_insecure_conns.label": "忽略 SSL/TLS 证书错误",
|
||||
"access.form.goedge_allow_insecure_conns.switch.on": "允许",
|
||||
"access.form.goedge_allow_insecure_conns.switch.off": "不允许",
|
||||
"access.form.googletrustservices_eab_kid.label": "ACME EAB KID",
|
||||
"access.form.googletrustservices_eab_kid.placeholder": "请输入 ACME EAB KID",
|
||||
"access.form.googletrustservices_eab_kid.tooltip": "这是什么?请参阅 <a href=\"https://cloud.google.com/certificate-manager/docs/public-ca-tutorial\" target=\"_blank\">https://cloud.google.com/certificate-manager/docs/public-ca-tutorial</a>",
|
||||
@@ -264,8 +249,8 @@
|
||||
"access.form.larkbot_webhook_url.label": "飞书群机器人 Webhook 地址",
|
||||
"access.form.larkbot_webhook_url.placeholder": "请输入飞书群机器人 Webhook 地址",
|
||||
"access.form.larkbot_webhook_url.tooltip": "这是什么?请参阅 <a href=\"https://www.feishu.cn/hc/zh-CN/articles/807992406756\" target=\"_blank\">https://www.feishu.cn/hc/zh-CN/articles/807992406756</a>",
|
||||
"access.form.lecdn_api_url.label": "LeCDN URL",
|
||||
"access.form.lecdn_api_url.placeholder": "请输入 LeCDN URL",
|
||||
"access.form.lecdn_server_url.label": "LeCDN 服务地址",
|
||||
"access.form.lecdn_server_url.placeholder": "请输入 LeCDN 服务地址",
|
||||
"access.form.lecdn_api_version.label": "LeCDN 版本",
|
||||
"access.form.lecdn_api_version.placeholder": "请选择 LeCDN 版本",
|
||||
"access.form.lecdn_api_role.label": "LeCDN 用户角色",
|
||||
@@ -276,9 +261,6 @@
|
||||
"access.form.lecdn_username.placeholder": "请输入 LeCDN 用户名",
|
||||
"access.form.lecdn_password.label": "LeCDN 用户密码",
|
||||
"access.form.lecdn_password.placeholder": "请输入 LeCDN 用户密码",
|
||||
"access.form.lecdn_allow_insecure_conns.label": "忽略 SSL/TLS 证书错误",
|
||||
"access.form.lecdn_allow_insecure_conns.switch.on": "允许",
|
||||
"access.form.lecdn_allow_insecure_conns.switch.off": "不允许",
|
||||
"access.form.mattermost_server_url.label": "Mattermost 服务地址",
|
||||
"access.form.mattermost_server_url.placeholder": "请输入 Mattermost 服务地址",
|
||||
"access.form.mattermost_username.label": "Mattermost 用户名",
|
||||
@@ -324,25 +306,19 @@
|
||||
"access.form.porkbun_secret_api_key.label": "Porkbun Secret API Key",
|
||||
"access.form.porkbun_secret_api_key.placeholder": "请输入 Porkbun Secret API Key",
|
||||
"access.form.porkbun_secret_api_key.tooltip": "这是什么?请参阅 <a href=\"https://porkbun.com/api/json/v3/documentation#Authentication\" target=\"_blank\">https://porkbun.com/api/json/v3/documentation</a>",
|
||||
"access.form.powerdns_api_url.label": "PowerDNS URL",
|
||||
"access.form.powerdns_api_url.placeholder": "请输入 PowerDNS URL",
|
||||
"access.form.powerdns_server_url.label": "PowerDNS 服务地址",
|
||||
"access.form.powerdns_server_url.placeholder": "请输入 PowerDNS 服务地址",
|
||||
"access.form.powerdns_api_key.label": "PowerDNS API Key",
|
||||
"access.form.powerdns_api_key.placeholder": "请输入 PowerDNS API Key",
|
||||
"access.form.powerdns_api_key.tooltip": "这是什么?请参阅 <a href=\"https://doc.powerdns.com/authoritative/http-api/index.html#enabling-the-api\" target=\"_blank\">https://doc.powerdns.com/authoritative/http-api/index.html#enabling-the-api</a>",
|
||||
"access.form.powerdns_allow_insecure_conns.label": "忽略 SSL/TLS 证书错误",
|
||||
"access.form.powerdns_allow_insecure_conns.switch.on": "允许",
|
||||
"access.form.powerdns_allow_insecure_conns.switch.off": "不允许",
|
||||
"access.form.proxmoxve_api_url.label": "Proxmox VE URL",
|
||||
"access.form.proxmoxve_api_url.placeholder": "请输入 Proxmox VE URL",
|
||||
"access.form.proxmoxve_server_url.label": "Proxmox VE 服务地址",
|
||||
"access.form.proxmoxve_server_url.placeholder": "请输入 Proxmox VE 服务地址",
|
||||
"access.form.proxmoxve_api_token.label": "Proxmox VE API Token",
|
||||
"access.form.proxmoxve_api_token.placeholder": "请输入 Proxmox VE API Token",
|
||||
"access.form.proxmoxve_api_token.tooltip": "这是什么?请参阅 <a href=\"https://pve.proxmox.com/pve-docs/pve-admin-guide.html#pveum_tokens\" target=\"_blank\">https://pve.proxmox.com/pve-docs/pve-admin-guide.html#pveum_tokens</a>",
|
||||
"access.form.proxmoxve_api_token_secret.label": "Proxmox VE API Token Secret(可选)",
|
||||
"access.form.proxmoxve_api_token_secret.placeholder": "请输入 Proxmox VE API Token Secret",
|
||||
"access.form.proxmoxve_api_token_secret.tooltip": "这是什么?请参阅 <a href=\"https://pve.proxmox.com/pve-docs/pve-admin-guide.html#pveum_tokens\" target=\"_blank\">https://pve.proxmox.com/pve-docs/pve-admin-guide.html#pveum_tokens</a>",
|
||||
"access.form.proxmoxve_allow_insecure_conns.label": "忽略 SSL/TLS 证书错误",
|
||||
"access.form.proxmoxve_allow_insecure_conns.switch.on": "允许",
|
||||
"access.form.proxmoxve_allow_insecure_conns.switch.off": "不允许",
|
||||
"access.form.qiniu_access_key.label": "七牛云 AccessKey",
|
||||
"access.form.qiniu_access_key.placeholder": "请输入七牛云 AccessKey",
|
||||
"access.form.qiniu_access_key.tooltip": "这是什么?请参阅 <a href=\"https://portal.qiniu.com/\" target=\"_blank\">https://portal.qiniu.com/</a>",
|
||||
@@ -352,25 +328,19 @@
|
||||
"access.form.rainyun_api_key.label": "雨云 API 密钥",
|
||||
"access.form.rainyun_api_key.placeholder": "请输入雨云 API 密钥",
|
||||
"access.form.rainyun_api_key.tooltip": "这是什么?请参阅 <a href=\"https://app.rainyun.com/account/settings/api-key\" target=\"_blank\">https://app.rainyun.com/account/settings/api-key</a>",
|
||||
"access.form.ratpanel_api_url.label": "耗子面板 URL",
|
||||
"access.form.ratpanel_api_url.placeholder": "请输入耗子面板 URL",
|
||||
"access.form.ratpanel_server_url.label": "耗子面板服务地址",
|
||||
"access.form.ratpanel_server_url.placeholder": "请输入耗子面板服务地址",
|
||||
"access.form.ratpanel_access_token_id.label": "耗子面板 AccessToken ID",
|
||||
"access.form.ratpanel_access_token_id.placeholder": "请输入耗子面板 AccessToken ID",
|
||||
"access.form.ratpanel_access_token_id.tooltip": "这是什么?请参阅 <a href=\"https://ratpanel.github.io/advanced/api.html\" target=\"_blank\">https://ratpanel.github.io/advanced/api.html</a>",
|
||||
"access.form.ratpanel_access_token.label": "耗子面板 AccessToken",
|
||||
"access.form.ratpanel_access_token.placeholder": "请输入耗子面板 AccessToken",
|
||||
"access.form.ratpanel_access_token.tooltip": "这是什么?请参阅 <a href=\"https://ratpanel.github.io/advanced/api.html\" target=\"_blank\">https://ratpanel.github.io/advanced/api.html</a>",
|
||||
"access.form.ratpanel_allow_insecure_conns.label": "忽略 SSL/TLS 证书错误",
|
||||
"access.form.ratpanel_allow_insecure_conns.switch.on": "允许",
|
||||
"access.form.ratpanel_allow_insecure_conns.switch.off": "不允许",
|
||||
"access.form.safeline_api_url.label": "雷池 URL",
|
||||
"access.form.safeline_api_url.placeholder": "请输入雷池 URL",
|
||||
"access.form.safeline_server_url.label": "雷池服务地址",
|
||||
"access.form.safeline_server_url.placeholder": "请输入雷池服务地址",
|
||||
"access.form.safeline_api_token.label": "雷池 API Token",
|
||||
"access.form.safeline_api_token.placeholder": "请输入雷池 API Token",
|
||||
"access.form.safeline_api_token.tooltip": "这是什么?请参阅 <a href=\"https://docs.waf-ce.chaitin.cn/zh/%E6%9B%B4%E5%A4%9A%E6%8A%80%E6%9C%AF%E6%96%87%E6%A1%A3/OPENAPI\" target=\"_blank\">https://docs.waf-ce.chaitin.cn/zh/更多技术文档/OPENAPI</a>",
|
||||
"access.form.safeline_allow_insecure_conns.label": "忽略 SSL/TLS 证书错误",
|
||||
"access.form.safeline_allow_insecure_conns.switch.on": "允许",
|
||||
"access.form.safeline_allow_insecure_conns.switch.off": "不允许",
|
||||
"access.form.ssh_host.label": "服务器地址",
|
||||
"access.form.ssh_host.placeholder": "请输入服务器地址",
|
||||
"access.form.ssh_port.label": "服务器端口",
|
||||
@@ -466,9 +436,6 @@
|
||||
"access.form.webhook_preset_data.option.pushplus.label": "PushPlus 推送加",
|
||||
"access.form.webhook_preset_data.option.serverchan.label": "Server 酱",
|
||||
"access.form.webhook_preset_data.option.common.label": "通用模板",
|
||||
"access.form.webhook_allow_insecure_conns.label": "忽略 SSL/TLS 证书错误",
|
||||
"access.form.webhook_allow_insecure_conns.switch.on": "允许",
|
||||
"access.form.webhook_allow_insecure_conns.switch.off": "不允许",
|
||||
"access.form.wecombot_webhook_url.label": "企业微信群机器人 Webhook 地址",
|
||||
"access.form.wecombot_webhook_url.placeholder": "请输入企业微信群机器人 Webhook 地址",
|
||||
"access.form.wecombot_webhook_url.tooltip": "这是什么?请参阅 <a href=\"https://open.work.weixin.qq.com/help2/pc/18401#%E5%85%AD%E3%80%81%E7%BE%A4%E6%9C%BA%E5%99%A8%E4%BA%BAWebhook%E5%9C%B0%E5%9D%80\" target=\"_blank\">https://open.work.weixin.qq.com/help2/pc/18401</a>",
|
||||
|
@@ -28,8 +28,8 @@
|
||||
"settings.notification.channel.switch.off": "停用",
|
||||
"settings.notification.push_test.button": "推送测试消息",
|
||||
"settings.notification.push_test.pushed": "已推送",
|
||||
"settings.notification.channel.form.bark_server_url.label": "服务器地址",
|
||||
"settings.notification.channel.form.bark_server_url.placeholder": "请输入服务器地址",
|
||||
"settings.notification.channel.form.bark_server_url.label": "服务地址",
|
||||
"settings.notification.channel.form.bark_server_url.placeholder": "请输入服务地址",
|
||||
"settings.notification.channel.form.bark_server_url.tooltip": "这是什么?请参阅 <a href=\"https://bark.day.app/\" target=\"_blank\">https://bark.day.app/</a><br><br>为空时,将使用 Bark 默认服务器。",
|
||||
"settings.notification.channel.form.bark_device_key.label": "设备密钥",
|
||||
"settings.notification.channel.form.bark_device_key.placeholder": "请输入设备密钥",
|
||||
|
Reference in New Issue
Block a user