diff --git a/internal/web/actions/default/clusters/clusterutils/cluster_helper.go b/internal/web/actions/default/clusters/clusterutils/cluster_helper.go index 195c6184..6aec94b2 100644 --- a/internal/web/actions/default/clusters/clusterutils/cluster_helper.go +++ b/internal/web/actions/default/clusters/clusterutils/cluster_helper.go @@ -132,13 +132,6 @@ func (this *ClusterHelper) createSettingMenu(cluster *pb.NodeCluster, info *pb.F "isActive": false, }) - items = append(items, maps.Map{ - "name": "健康检查", - "url": "/clusters/cluster/settings/health?clusterId=" + clusterId, - "isActive": selectedItem == "health", - "isOn": info != nil && info.HealthCheckIsOn, - }) - items = append(items, maps.Map{ "name": "DNS设置", "url": "/clusters/cluster/settings/dns?clusterId=" + clusterId, @@ -146,6 +139,13 @@ func (this *ClusterHelper) createSettingMenu(cluster *pb.NodeCluster, info *pb.F "isOn": cluster.DnsDomainId > 0 || len(cluster.DnsName) > 0, }) + items = append(items, maps.Map{ + "name": "健康检查", + "url": "/clusters/cluster/settings/health?clusterId=" + clusterId, + "isActive": selectedItem == "health", + "isOn": info != nil && info.HealthCheckIsOn, + }) + items = append(items, maps.Map{ "name": "DDoS防护", "url": "/clusters/cluster/settings/ddos-protection?clusterId=" + clusterId, diff --git a/internal/web/actions/default/servers/addServerNamePopup.go b/internal/web/actions/default/servers/addServerNamePopup.go index 73f4ec35..09bfe70a 100644 --- a/internal/web/actions/default/servers/addServerNamePopup.go +++ b/internal/web/actions/default/servers/addServerNamePopup.go @@ -4,6 +4,7 @@ import ( "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/iwind/TeaGo/actions" "github.com/iwind/TeaGo/maps" + "net/url" "regexp" "strings" ) @@ -29,11 +30,25 @@ func (this *AddServerNamePopupAction) RunPost(params struct { Must *actions.Must }) { if params.Mode == "single" { + var serverName = params.ServerName + + // 去除空格 + 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 + } + } + params.Must. - Field("serverName", params.ServerName). + Field("serverName", serverName). Require("请输入域名") + this.Data["serverName"] = maps.Map{ - "name": params.ServerName, + "name": serverName, "type": "full", } } else if params.Mode == "multiple" { @@ -41,14 +56,23 @@ func (this *AddServerNamePopupAction) RunPost(params struct { this.FailField("serverNames", "请输入至少域名") } - serverNames := []string{} + var serverNames = []string{} for _, line := range strings.Split(params.ServerNames, "\n") { - line := strings.TrimSpace(line) - line = regexp.MustCompile(`\s+`).ReplaceAllString(line, "") - if len(line) == 0 { + var serverName = strings.TrimSpace(line) + serverName = regexp.MustCompile(`\s+`).ReplaceAllString(serverName, "") + if len(serverName) == 0 { continue } - serverNames = append(serverNames, line) + + // 处理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 + } + } + + serverNames = append(serverNames, serverName) } this.Data["serverName"] = maps.Map{ "name": "", diff --git a/internal/web/actions/default/servers/components/cache/batch/index.go b/internal/web/actions/default/servers/components/cache/batch/index.go index 48c4deec..b665f017 100644 --- a/internal/web/actions/default/servers/components/cache/batch/index.go +++ b/internal/web/actions/default/servers/components/cache/batch/index.go @@ -21,7 +21,9 @@ func (this *IndexAction) Init() { this.Nav("", "", "purge") } -func (this *IndexAction) RunGet(params struct{}) { +func (this *IndexAction) RunGet(params struct { + KeyType string +}) { // 初始化菜单数据 err := InitMenu(this.Parent()) if err != nil { @@ -29,6 +31,8 @@ func (this *IndexAction) RunGet(params struct{}) { return } + this.Data["keyType"] = params.KeyType + this.Show() } diff --git a/web/public/js/components/plans/plan-bandwidth-ranges.js b/web/public/js/components/plans/plan-bandwidth-ranges.js index 9d939027..f1300ba8 100644 --- a/web/public/js/components/plans/plan-bandwidth-ranges.js +++ b/web/public/js/components/plans/plan-bandwidth-ranges.js @@ -44,6 +44,9 @@ Vue.component("plan-bandwidth-ranges", { return -1 } if (v1.minMB == v2.minMB) { + if (v2.maxMB == 0 || v1.maxMB < v2.maxMB) { + return -1 + } return 0 } return 1 diff --git a/web/public/js/components/server/reverse-proxy-box.js b/web/public/js/components/server/reverse-proxy-box.js index 382ba267..15e98db6 100644 --- a/web/public/js/components/server/reverse-proxy-box.js +++ b/web/public/js/components/server/reverse-proxy-box.js @@ -183,7 +183,7 @@ Vue.component("reverse-proxy-box", { - 回源主机名不包含端口 + 回源主机名移除端口

选中后表示移除回源主机名中的端口部分。

diff --git a/web/views/@default/clusters/cluster/settings/dns/index.html b/web/views/@default/clusters/cluster/settings/dns/index.html index 52182a18..17b18ce0 100644 --- a/web/views/@default/clusters/cluster/settings/dns/index.html +++ b/web/views/@default/clusters/cluster/settings/dns/index.html @@ -45,6 +45,13 @@ + + 允许通过CNAME访问网站服务 + + +

选中后,表示允许使用CNAME直接访问网站服务;如果取消选中,则表示CNAME只作为DNS解析记录使用。

+ + 记录TTL @@ -54,13 +61,6 @@

每个DNS服务商或者账号的TTL限制各有不同,请注意取值范围。0表示使用默认。

- - - 允许通过CNAME访问网站服务 - - -

选中后,表示允许使用CNAME直接访问网站服务;如果取消选中,则表示CNAME只作为DNS解析记录使用。

- 是否同步节点DNS状态 diff --git a/web/views/@default/servers/addServerNamePopup.html b/web/views/@default/servers/addServerNamePopup.html index 90ed1634..99939eb7 100644 --- a/web/views/@default/servers/addServerNamePopup.html +++ b/web/views/@default/servers/addServerNamePopup.html @@ -9,14 +9,14 @@ 单个域名 * -

请输入单个域名。

+

请输入单个域名,域名中不能包含httphttps

多个域名 * -

每行一个域名。

+

每行一个域名,域名中不能包含httphttps

diff --git a/web/views/@default/servers/components/cache/batch/index.js b/web/views/@default/servers/components/cache/batch/index.js index ff18a9da..181ba6f2 100644 --- a/web/views/@default/servers/components/cache/batch/index.js +++ b/web/views/@default/servers/components/cache/batch/index.js @@ -20,8 +20,10 @@ Tea.context(function () { this.success = function () { this.isOk = true - let f = NotifyReloadSuccess("任务提交成功") - f() + let that = this + teaweb.success("任务提交成功", function () { + window.location = window.location.pathname + "?keyType=" + that.keyType + }) } this.fail = function (resp) { @@ -39,5 +41,7 @@ Tea.context(function () { /** * 操作类型 */ - this.keyType = "key" // key | prefix + if (this.keyType == null || this.keyType.length == 0) { + this.keyType = "key" // key | prefix + } }) \ No newline at end of file diff --git a/web/views/@default/servers/components/cache/createPopup.html b/web/views/@default/servers/components/cache/createPopup.html index 20c50fa7..1052bc10 100644 --- a/web/views/@default/servers/components/cache/createPopup.html +++ b/web/views/@default/servers/components/cache/createPopup.html @@ -43,7 +43,7 @@ 缓存文件句柄缓存 -

保持缓存文件句柄,提升缓存文件打开速度,建议数量不超过缓存文件数量的10%。

+

保持在内存中的缓存文件句柄的数量,提升缓存文件打开速度,建议数量不超过缓存文件数量的十分之一。

diff --git a/web/views/@default/servers/components/cache/update.html b/web/views/@default/servers/components/cache/update.html index c510055a..3d9d325f 100644 --- a/web/views/@default/servers/components/cache/update.html +++ b/web/views/@default/servers/components/cache/update.html @@ -52,7 +52,7 @@ 缓存文件句柄缓存 -

保持缓存文件句柄,提升缓存文件打开速度,建议数量是缓存文件数量的10%。

+

保持在内存中的缓存文件句柄的数量,提升缓存文件打开速度,建议数量不超过缓存文件数量的十分之一。