From 56bafbce2b5a0c54c24f8f976623eaeed323c20d Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Mon, 7 Dec 2020 12:11:48 +0800 Subject: [PATCH] =?UTF-8?q?[=E7=BD=91=E7=AB=99=E5=9F=9F=E5=90=8D]=E5=9C=A8?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E4=B8=AD=E5=8F=AF=E4=BB=A5=E6=9F=A5=E7=9C=8B?= =?UTF-8?q?=E7=BD=91=E7=AB=99=E5=9F=9F=E5=90=8D=E5=88=97=E8=A1=A8=EF=BC=8C?= =?UTF-8?q?=E5=B9=B6=E5=8F=AF=E4=BB=A5=E7=AD=9B=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/web/actions/default/servers/init.go | 1 + .../default/servers/serverNamesPopup.go | 46 +++++++++++++++++++ web/public/js/components/common/links.js | 12 +++++ web/views/@default/servers/index.html | 2 +- .../@default/servers/serverNamesPopup.html | 11 +++++ .../@default/servers/serverNamesPopup.js | 14 ++++++ 6 files changed, 85 insertions(+), 1 deletion(-) create mode 100644 internal/web/actions/default/servers/serverNamesPopup.go create mode 100644 web/views/@default/servers/serverNamesPopup.html create mode 100644 web/views/@default/servers/serverNamesPopup.js diff --git a/internal/web/actions/default/servers/init.go b/internal/web/actions/default/servers/init.go index 96461c89..c95d2e04 100644 --- a/internal/web/actions/default/servers/init.go +++ b/internal/web/actions/default/servers/init.go @@ -19,6 +19,7 @@ func init() { GetPost("/addPortPopup", new(AddPortPopupAction)). GetPost("/addServerNamePopup", new(AddServerNamePopupAction)). GetPost("/addOriginPopup", new(AddOriginPopupAction)). + Get("/serverNamesPopup", new(ServerNamesPopupAction)). EndAll() }) } diff --git a/internal/web/actions/default/servers/serverNamesPopup.go b/internal/web/actions/default/servers/serverNamesPopup.go new file mode 100644 index 00000000..d4eff379 --- /dev/null +++ b/internal/web/actions/default/servers/serverNamesPopup.go @@ -0,0 +1,46 @@ +package servers + +import ( + "encoding/json" + "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" + "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs" +) + +type ServerNamesPopupAction struct { + actionutils.ParentAction +} + +func (this *ServerNamesPopupAction) Init() { + this.Nav("", "", "") +} + +func (this *ServerNamesPopupAction) RunGet(params struct { + ServerId int64 +}) { + serverNamesResp, err := this.RPC().ServerRPC().FindServerNames(this.AdminContext(), &pb.FindServerNamesRequest{ServerId: params.ServerId}) + if err != nil { + this.ErrorPage(err) + return + } + serverNames := []*serverconfigs.ServerNameConfig{} + if len(serverNamesResp.ServerNamesJSON) > 0 { + err = json.Unmarshal(serverNamesResp.ServerNamesJSON, &serverNames) + if err != nil { + this.ErrorPage(err) + return + } + } + + result := []string{} + for _, serverName := range serverNames { + if len(serverName.SubNames) == 0 { + result = append(result, serverName.Name) + } else { + result = append(result, serverName.SubNames...) + } + } + this.Data["serverNames"] = result + + this.Show() +} diff --git a/web/public/js/components/common/links.js b/web/public/js/components/common/links.js index 679b665b..69e9b2ff 100644 --- a/web/public/js/components/common/links.js +++ b/web/public/js/components/common/links.js @@ -40,6 +40,18 @@ Vue.component("link-popup", { template: `` }) +Vue.component("popup-icon", { + props: ["title", "href", "height"], + methods: { + clickPrevent: function () { + teaweb.popup(this.href, { + height: this.height + }) + } + }, + template: ` ` +}) + // 小提示 Vue.component("tip-icon", { props: ["content"], diff --git a/web/views/@default/servers/index.html b/web/views/@default/servers/index.html index 540a76fd..db7ef459 100644 --- a/web/views/@default/servers/index.html +++ b/web/views/@default/servers/index.html @@ -51,7 +51,7 @@ {{server.serverNames[0].name}} {{server.serverNames[0].subNames[0]}} - 等{{server.countServerNames}}个域名 + 等{{server.countServerNames}}个域名 - diff --git a/web/views/@default/servers/serverNamesPopup.html b/web/views/@default/servers/serverNamesPopup.html new file mode 100644 index 00000000..af6c5d8b --- /dev/null +++ b/web/views/@default/servers/serverNamesPopup.html @@ -0,0 +1,11 @@ +{$layout "layout_popup"} + +

查看域名

+ +
+ +
+ +
+ {{serverName}} +
diff --git a/web/views/@default/servers/serverNamesPopup.js b/web/views/@default/servers/serverNamesPopup.js new file mode 100644 index 00000000..6125acfe --- /dev/null +++ b/web/views/@default/servers/serverNamesPopup.js @@ -0,0 +1,14 @@ +Tea.context(function () { + let allServerNames = this.serverNames.$copy(); + + this.keyword = "" + + this.$delay(function () { + let that = this + this.$watch("keyword", function (keyword) { + that.serverNames = allServerNames.$findAll(function (k, serverName) { + return teaweb.match(serverName, keyword) + }) + }) + }) +}) \ No newline at end of file