From 8453d754f15a649db5db775490c090e6310b847c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E7=A5=A5=E8=B6=85?= Date: Mon, 27 Nov 2023 10:20:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=9F=9F=E5=90=8D=E6=97=B6?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=88=86=E5=89=B2=E7=94=A8=E9=80=97=E5=8F=B7?= =?UTF-8?q?=E3=80=81=E9=A1=BF=E5=8F=B7=E8=BF=9E=E6=8E=A5=E7=9A=84=E5=9F=9F?= =?UTF-8?q?=E5=90=8D=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../default/servers/addServerNamePopup.go | 52 +++++++++++-------- 1 file changed, 31 insertions(+), 21 deletions(-) diff --git a/internal/web/actions/default/servers/addServerNamePopup.go b/internal/web/actions/default/servers/addServerNamePopup.go index 88176049..882871c3 100644 --- a/internal/web/actions/default/servers/addServerNamePopup.go +++ b/internal/web/actions/default/servers/addServerNamePopup.go @@ -36,31 +36,43 @@ func (this *AddServerNamePopupAction) RunPost(params struct { // 去除空格 serverName = regexp.MustCompile(`\s+`).ReplaceAllString(serverName, "") - // 处理URL - if regexp.MustCompile(`^(?i)(http|https|ftp)://`).MatchString(serverName) { - u, err := url.Parse(serverName) - if err == nil && len(u.Host) > 0 { - serverName = u.Host + // 是否包含了多个域名 + var splitReg = regexp.MustCompile(`([,、|,;|])`) + if splitReg.MatchString(serverName) { + params.ServerNames = strings.Join(splitReg.Split(serverName, -1), "\n") + params.Mode = "multiple" + } else { + // 处理URL + if regexp.MustCompile(`^(?i)(http|https|ftp)://`).MatchString(serverName) { + u, err := url.Parse(serverName) + if err == nil && len(u.Host) > 0 { + serverName = u.Host + } } - } - // 去除端口 - if regexp.MustCompile(`:\d+$`).MatchString(serverName) { - host, _, err := net.SplitHostPort(serverName) - if err == nil && len(host) > 0 { - serverName = host + // 去除端口 + if regexp.MustCompile(`:\d+$`).MatchString(serverName) { + host, _, err := net.SplitHostPort(serverName) + if err == nil && len(host) > 0 { + serverName = host + } } - } - params.Must. - Field("serverName", serverName). - Require("请输入域名") + params.Must. + Field("serverName", serverName). + Require("请输入域名") - this.Data["serverName"] = maps.Map{ - "name": serverName, - "type": "full", + this.Data["serverName"] = maps.Map{ + "name": serverName, + "type": "full", + } + + this.Success() + return } - } else if params.Mode == "multiple" { + } + + if params.Mode == "multiple" { if len(params.ServerNames) == 0 { this.FailField("serverNames", "请输入至少域名") } @@ -99,8 +111,6 @@ func (this *AddServerNamePopupAction) RunPost(params struct { "type": "full", "subNames": serverNames, } - } else { - this.Fail("错误的mode参数") } this.Success()