diff --git a/.gitignore b/.gitignore index dc6e5bb4..8d6576a2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ *_plus.go -*-plus.sh \ No newline at end of file +*-plus.sh +*@plus.js \ No newline at end of file diff --git a/internal/web/actions/default/clusters/cluster/node/detail.go b/internal/web/actions/default/clusters/cluster/node/detail.go index 858c1ad1..7044123d 100644 --- a/internal/web/actions/default/clusters/cluster/node/detail.go +++ b/internal/web/actions/default/clusters/cluster/node/detail.go @@ -84,6 +84,8 @@ func (this *DetailAction) RunGet(params struct { "name": addr.Name, "ip": addr.Ip, "canAccess": addr.CanAccess, + "isOn": addr.IsOn, + "isUp": addr.IsUp, }) } @@ -121,7 +123,7 @@ func (this *DetailAction) RunGet(params struct { } for _, addr := range ipAddresses { - if !addr.CanAccess { + if !addr.CanAccess || !addr.IsUp || !addr.IsOn { continue } for _, route := range dnsInfo.Routes { diff --git a/internal/web/actions/default/clusters/cluster/node/update.go b/internal/web/actions/default/clusters/cluster/node/update.go index dc9e3f7b..f2f5f40a 100644 --- a/internal/web/actions/default/clusters/cluster/node/update.go +++ b/internal/web/actions/default/clusters/cluster/node/update.go @@ -62,6 +62,8 @@ func (this *UpdateAction) RunGet(params struct { "name": addr.Name, "ip": addr.Ip, "canAccess": addr.CanAccess, + "isOn": addr.IsOn, + "isUp": addr.IsUp, }) } diff --git a/internal/web/actions/default/nodes/ipAddresses/createPopup.go b/internal/web/actions/default/nodes/ipAddresses/createPopup.go index 323c1c44..57541bcd 100644 --- a/internal/web/actions/default/nodes/ipAddresses/createPopup.go +++ b/internal/web/actions/default/nodes/ipAddresses/createPopup.go @@ -42,6 +42,8 @@ func (this *CreatePopupAction) RunPost(params struct { "canAccess": params.CanAccess, "ip": params.IP, "id": 0, + "isOn": true, + "isUp": true, } this.Success() } diff --git a/internal/web/actions/default/nodes/ipAddresses/ipaddressutils/utils.go b/internal/web/actions/default/nodes/ipAddresses/ipaddressutils/utils.go index 1c4f644f..c62a66fe 100644 --- a/internal/web/actions/default/nodes/ipAddresses/ipaddressutils/utils.go +++ b/internal/web/actions/default/nodes/ipAddresses/ipaddressutils/utils.go @@ -18,11 +18,18 @@ func UpdateNodeIPAddresses(parentAction *actionutils.ParentAction, nodeId int64, for _, addr := range addresses { addrId := addr.GetInt64("id") if addrId > 0 { + var isOn = false + if !addr.Has("isOn") { // 兼容老版本 + isOn = true + } else { + isOn = addr.GetBool("isOn") + } _, err = parentAction.RPC().NodeIPAddressRPC().UpdateNodeIPAddress(parentAction.AdminContext(), &pb.UpdateNodeIPAddressRequest{ AddressId: addrId, Ip: addr.GetString("ip"), Name: addr.GetString("name"), CanAccess: addr.GetBool("canAccess"), + IsOn: isOn, }) if err != nil { return err diff --git a/internal/web/actions/default/nodes/ipAddresses/updatePopup.go b/internal/web/actions/default/nodes/ipAddresses/updatePopup.go index ba218975..65d92e7f 100644 --- a/internal/web/actions/default/nodes/ipAddresses/updatePopup.go +++ b/internal/web/actions/default/nodes/ipAddresses/updatePopup.go @@ -2,6 +2,7 @@ package ipAddresses import ( "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" + "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" "github.com/iwind/TeaGo/actions" "github.com/iwind/TeaGo/maps" "net" @@ -26,15 +27,25 @@ func (this *UpdatePopupAction) RunPost(params struct { IP string `alias:"ip"` Name string CanAccess bool + IsOn bool Must *actions.Must }) { - // TODO 严格校验IP地址 - params.Must. Field("ip", params.IP). Require("请输入IP地址") + // 获取IP地址信息 + addressResp, err := this.RPC().NodeIPAddressRPC().FindEnabledNodeIPAddress(this.AdminContext(), &pb.FindEnabledNodeIPAddressRequest{AddressId: params.AddressId}) + if err != nil { + this.ErrorPage(err) + return + } + var address = addressResp.IpAddress + if address == nil { + this.Fail("找不到要修改的地址") + } + ip := net.ParseIP(params.IP) if len(ip) == 0 { this.Fail("请输入正确的IP") @@ -45,6 +56,8 @@ func (this *UpdatePopupAction) RunPost(params struct { "ip": params.IP, "id": params.AddressId, "canAccess": params.CanAccess, + "isOn": params.IsOn, + "isUp": address.IsUp, } this.Success() diff --git a/web/public/js/components/common/labels.js b/web/public/js/components/common/labels.js index 0f1bea25..fdbc9263 100644 --- a/web/public/js/components/common/labels.js +++ b/web/public/js/components/common/labels.js @@ -22,3 +22,9 @@ Vue.component("tiny-basic-label", { Vue.component("micro-basic-label", { template: `` }) + + +// 灰色的Label +Vue.component("grey-label", { + template: `` +}) diff --git a/web/public/js/components/node/node-ip-addresses-box.js b/web/public/js/components/node/node-ip-addresses-box.js index 356bb1c7..829f4a44 100644 --- a/web/public/js/components/node/node-ip-addresses-box.js +++ b/web/public/js/components/node/node-ip-addresses-box.js @@ -1,3 +1,4 @@ +// 节点IP地址管理(标签形式) Vue.component("node-ip-addresses-box", { props: ["vIpAddresses"], data: function () { @@ -48,6 +49,9 @@ Vue.component("node-ip-addresses-box", { [IPv6] {{address.ip}} ({{address.name}},不可访问 (不可访问) + [off] + [down] +   diff --git a/web/views/@default/clusters/cluster/node/detail.html b/web/views/@default/clusters/cluster/node/detail.html index 7f81482f..4ed4faab 100644 --- a/web/views/@default/clusters/cluster/node/detail.html +++ b/web/views/@default/clusters/cluster/node/detail.html @@ -27,6 +27,8 @@ [IPv6] {{address.ip}} ({{address.name}},不可访问 (不可访问) + [off] + [down] diff --git a/web/views/@default/nodes/ipAddresses/createPopup.html b/web/views/@default/nodes/ipAddresses/createPopup.html index eade7eb0..45127632 100644 --- a/web/views/@default/nodes/ipAddresses/createPopup.html +++ b/web/views/@default/nodes/ipAddresses/createPopup.html @@ -5,7 +5,7 @@
- + diff --git a/web/views/@default/nodes/ipAddresses/updatePopup.html b/web/views/@default/nodes/ipAddresses/updatePopup.html index 28fdaa95..3bcc96e5 100644 --- a/web/views/@default/nodes/ipAddresses/updatePopup.html +++ b/web/views/@default/nodes/ipAddresses/updatePopup.html @@ -6,7 +6,7 @@
IP地址 *IP地址 *
- + @@ -21,12 +21,27 @@

是否为可以公开访问的IP,如果选中,也会作为DNS解析记录的值使用。

- - - - + + + + + + + + + + + + +
IP地址 *IP地址 *
备注 - -
是否启用 +
+ + +
+

选中表示当前IP有效。

+
备注 + +
\ No newline at end of file diff --git a/web/views/@default/ns/domains/records/index.html b/web/views/@default/ns/domains/records/index.html index d743c1da..a1c1f77d 100644 --- a/web/views/@default/ns/domains/records/index.html +++ b/web/views/@default/ns/domains/records/index.html @@ -41,16 +41,16 @@ - {{record.name}} + {{record.name}} {{record.type}} - {{record.value}} + {{record.value}} {{formatTTL(record.ttl)}}
{{route.name}}
- {{record.description}} + {{record.description}} 修改   diff --git a/web/views/@default/servers/index.html b/web/views/@default/servers/index.html index f4c60445..7487b8bd 100644 --- a/web/views/@default/servers/index.html +++ b/web/views/@default/servers/index.html @@ -81,7 +81,7 @@ {{server.name}}
- {{server.serverTypeName}} + {{server.serverTypeName}}