diff --git a/internal/web/actions/default/servers/create.go b/internal/web/actions/default/servers/create.go index 57028f05..0487d190 100644 --- a/internal/web/actions/default/servers/create.go +++ b/internal/web/actions/default/servers/create.go @@ -80,7 +80,7 @@ func (this *CreateAction) RunPost(params struct { ServerType string Addresses string - ServerNames string + ServerNames []byte CertIdsJSON []byte Origins string @@ -274,9 +274,9 @@ func (this *CreateAction) RunPost(params struct { } // 域名 + var serverNames = []*serverconfigs.ServerNameConfig{} if len(params.ServerNames) > 0 { - serverNames := []*serverconfigs.ServerNameConfig{} - err := json.Unmarshal([]byte(params.ServerNames), &serverNames) + err := json.Unmarshal(params.ServerNames, &serverNames) if err != nil { this.Fail("域名解析失败:" + err.Error()) } @@ -297,6 +297,9 @@ func (this *CreateAction) RunPost(params struct { } } } + if params.ServerType == serverconfigs.ServerTypeHTTPProxy && len(serverNames) == 0 { + this.FailField("emptyDomain", "请输入添加至少一个域名") + } // 源站地址 var reverseProxyRefJSON = []byte{} @@ -308,7 +311,7 @@ func (this *CreateAction) RunPost(params struct { this.Fail("源站地址解析失败:" + err.Error()) } if len(originConfigs) == 0 { - this.Fail("请添加至少一个源站地址") + this.FailField("emptyOrigin", "请添加至少一个源站地址") } var originRefs = []*serverconfigs.OriginRef{} @@ -387,7 +390,7 @@ func (this *CreateAction) RunPost(params struct { return } - req := &pb.CreateServerRequest{ + var req = &pb.CreateServerRequest{ UserId: userId, UserPlanId: userPlanId, AdminId: this.AdminId(), diff --git a/web/public/js/utils.js b/web/public/js/utils.js index 23dbb44d..5a4bf955 100644 --- a/web/public/js/utils.js +++ b/web/public/js/utils.js @@ -397,9 +397,9 @@ window.teaweb = { }) }, warn: function (message, callback) { - var width = "20em"; + var width = "20em" if (message.length > 30) { - width = "30em"; + width = "30em" } Swal.fire({ text: message, @@ -415,16 +415,16 @@ window.teaweb = { onAfterClose: function () { if (typeof (callback) == "function") { setTimeout(function () { - callback(); - }); + callback() + }) } } - }); + }) }, confirm: function (message, callback) { - let width = "20em"; + let width = "20em" if (message.length > 30) { - width = "30em"; + width = "30em" } let config = { confirmButtonText: "确定", @@ -441,7 +441,7 @@ window.teaweb = { width: width, preConfirm: function () { if (typeof (callback) == "function") { - callback.call(Tea.Vue); + callback.call(Tea.Vue) } } } diff --git a/web/views/@default/servers/create.html b/web/views/@default/servers/create.html index 670b71e7..09599111 100644 --- a/web/views/@default/servers/create.html +++ b/web/views/@default/servers/create.html @@ -3,7 +3,7 @@
-
+ @@ -45,7 +45,7 @@ diff --git a/web/views/@default/servers/create.js b/web/views/@default/servers/create.js index eff75282..835b6932 100644 --- a/web/views/@default/servers/create.js +++ b/web/views/@default/servers/create.js @@ -6,6 +6,32 @@ Tea.context(function () { this.success = NotifySuccess("保存成功", "/servers"); + this.fail = function (resp) { + if (resp.errors != null && resp.errors.length > 0) { + let isFiltered = false + + let that = this + resp.errors.forEach(function (err) { + if (err.param == "emptyDomain") { + isFiltered = true + teaweb.warn(err.messages[0], function () { + that.$refs.serverNameBox.addServerName() + }) + } else if (err.param == "emptyOrigin") { + isFiltered = true + teaweb.warn(err.messages[0], function () { + that.addOrigin() + }) + } + }) + + if (isFiltered) { + return + } + } + Tea.failResponse(resp) + } + this.changeServerType = function () { this.origins = [] this.tlsProtocolName = ""
服务名称 *
绑定域名 * - +

绑定后,才能通过域名可以访问不同的服务。