diff --git a/internal/pkg/core/deployer/providers/wangsu-cdn/wangsu_cdn.go b/internal/pkg/core/deployer/providers/wangsu-cdn/wangsu_cdn.go index f889b996..3be2b119 100644 --- a/internal/pkg/core/deployer/providers/wangsu-cdn/wangsu_cdn.go +++ b/internal/pkg/core/deployer/providers/wangsu-cdn/wangsu_cdn.go @@ -6,11 +6,13 @@ import ( "fmt" "log/slog" "strconv" + "strings" "github.com/usual2970/certimate/internal/pkg/core/deployer" "github.com/usual2970/certimate/internal/pkg/core/uploader" uploadersp "github.com/usual2970/certimate/internal/pkg/core/uploader/providers/wangsu-certificate" wangsusdk "github.com/usual2970/certimate/internal/pkg/sdk3rd/wangsu/cdn" + sliceutil "github.com/usual2970/certimate/internal/pkg/utils/slice" ) type DeployerConfig struct { @@ -18,7 +20,7 @@ type DeployerConfig struct { AccessKeyId string `json:"accessKeyId"` // 网宿云 AccessKeySecret。 AccessKeySecret string `json:"accessKeySecret"` - // 加速域名数组。 + // 加速域名数组(支持泛域名)。 Domains []string `json:"domains"` } @@ -80,7 +82,10 @@ func (d *DeployerProvider) Deploy(ctx context.Context, certPEM string, privkeyPE certId, _ := strconv.ParseInt(upres.CertId, 10, 64) batchUpdateCertificateConfigReq := &wangsusdk.BatchUpdateCertificateConfigRequest{ CertificateId: certId, - DomainNames: d.config.Domains, + DomainNames: sliceutil.Map(d.config.Domains, func(domain string) string { + // "*.example.com" → ".example.com",适配网宿云 CDN 要求的泛域名格式 + return strings.TrimPrefix(domain, "*") + }), } batchUpdateCertificateConfigResp, err := d.sdkClient.BatchUpdateCertificateConfig(batchUpdateCertificateConfigReq) d.logger.Debug("sdk request 'cdn.BatchUpdateCertificateConfig'", slog.Any("request", batchUpdateCertificateConfigReq), slog.Any("response", batchUpdateCertificateConfigResp)) diff --git a/ui/src/components/workflow/node/DeployNodeConfigFormWangsuCDNConfig.tsx b/ui/src/components/workflow/node/DeployNodeConfigFormWangsuCDNConfig.tsx index 36d663b5..7650894e 100644 --- a/ui/src/components/workflow/node/DeployNodeConfigFormWangsuCDNConfig.tsx +++ b/ui/src/components/workflow/node/DeployNodeConfigFormWangsuCDNConfig.tsx @@ -43,7 +43,7 @@ const DeployNodeConfigFormWangsuCDNConfig = ({ if (!v) return false; return String(v) .split(MULTIPLE_INPUT_SEPARATOR) - .every((e) => validDomainName(e)); + .every((e) => validDomainName(e, { allowWildcard: true })); }, t("workflow_node.deploy.form.wangsu_cdn_domains.placeholder")), }); const formRule = createSchemaFieldRule(formSchema); diff --git a/ui/src/i18n/locales/zh/nls.workflow.nodes.json b/ui/src/i18n/locales/zh/nls.workflow.nodes.json index 9a8be8af..e138e350 100644 --- a/ui/src/i18n/locales/zh/nls.workflow.nodes.json +++ b/ui/src/i18n/locales/zh/nls.workflow.nodes.json @@ -795,7 +795,7 @@ "workflow_node.deploy.form.volcengine_tos_domain.placeholder": "请输入火山引擎 TOS 自定义域名", "workflow_node.deploy.form.volcengine_tos_domain.tooltip": "这是什么?请参阅 see https://console.volcengine.com/tos", "workflow_node.deploy.form.wangsu_cdn_domains.label": "网宿云 CDN 加速域名", - "workflow_node.deploy.form.wangsu_cdn_domains.placeholder": "请输入网宿云 CDN 加速域名(多个值请用半角分号隔开)", + "workflow_node.deploy.form.wangsu_cdn_domains.placeholder": "请输入网宿云 CDN 加速域名(支持泛域名;多个值请用半角分号隔开)", "workflow_node.deploy.form.wangsu_cdn_domains.tooltip": "这是什么?请参阅 https://cdn.console.wangsu.com/v2/index/#/property/list", "workflow_node.deploy.form.wangsu_cdn_domains.multiple_input_modal.title": "修改网宿云 CDN 加速域名", "workflow_node.deploy.form.wangsu_cdn_domains.multiple_input_modal.placeholder": "请输入网宿云 CDN 加速域名",