From 56fdb78a8079c1fd27d8db6967e817e48b41094e Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Sun, 23 Apr 2023 10:44:37 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=81=E4=B9=A6=E5=88=97=E8=A1=A8=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5=E4=BD=BF=E7=94=A8=E7=94=A8=E6=88=B7=E7=AD=9B=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../actions/default/servers/certs/index.go | 77 +++++++++++++++++-- .../@default/servers/certs/acme/create.html | 2 +- web/views/@default/servers/certs/index.html | 26 ++++--- web/views/@default/servers/certs/index.js | 4 +- .../@default/servers/certs/selectPopup.html | 2 +- 5 files changed, 92 insertions(+), 19 deletions(-) diff --git a/internal/web/actions/default/servers/certs/index.go b/internal/web/actions/default/servers/certs/index.go index 52441ba3..388b72ba 100644 --- a/internal/web/actions/default/servers/certs/index.go +++ b/internal/web/actions/default/servers/certs/index.go @@ -19,12 +19,37 @@ func (this *IndexAction) Init() { } func (this *IndexAction) RunGet(params struct { + UserId int64 Type string Keyword string }) { this.Data["type"] = params.Type this.Data["keyword"] = params.Keyword + // 当前用户 + this.Data["searchingUserId"] = params.UserId + var userMap = maps.Map{ + "id": 0, + "username": "", + "fullname": "", + } + if params.UserId > 0 { + userResp, err := this.RPC().UserRPC().FindEnabledUser(this.AdminContext(), &pb.FindEnabledUserRequest{UserId: params.UserId}) + if err != nil { + this.ErrorPage(err) + return + } + var user = userResp.User + if user != nil { + userMap = maps.Map{ + "id": user.Id, + "username": user.Username, + "fullname": user.Fullname, + } + } + } + this.Data["user"] = userMap + var countAll = int64(0) var countCA = int64(0) var countAvailable = int64(0) @@ -36,6 +61,7 @@ func (this *IndexAction) RunGet(params struct { { // all resp, err := this.RPC().SSLCertRPC().CountSSLCerts(this.AdminContext(), &pb.CountSSLCertRequest{ + UserId: params.UserId, Keyword: params.Keyword, }) if err != nil { @@ -46,6 +72,7 @@ func (this *IndexAction) RunGet(params struct { // CA resp, err = this.RPC().SSLCertRPC().CountSSLCerts(this.AdminContext(), &pb.CountSSLCertRequest{ + UserId: params.UserId, IsCA: true, Keyword: params.Keyword, }) @@ -57,6 +84,7 @@ func (this *IndexAction) RunGet(params struct { // available resp, err = this.RPC().SSLCertRPC().CountSSLCerts(this.AdminContext(), &pb.CountSSLCertRequest{ + UserId: params.UserId, IsAvailable: true, Keyword: params.Keyword, }) @@ -68,6 +96,7 @@ func (this *IndexAction) RunGet(params struct { // expired resp, err = this.RPC().SSLCertRPC().CountSSLCerts(this.AdminContext(), &pb.CountSSLCertRequest{ + UserId: params.UserId, IsExpired: true, Keyword: params.Keyword, }) @@ -79,6 +108,7 @@ func (this *IndexAction) RunGet(params struct { // expire in 7 days resp, err = this.RPC().SSLCertRPC().CountSSLCerts(this.AdminContext(), &pb.CountSSLCertRequest{ + UserId: params.UserId, ExpiringDays: 7, Keyword: params.Keyword, }) @@ -90,6 +120,7 @@ func (this *IndexAction) RunGet(params struct { // expire in 30 days resp, err = this.RPC().SSLCertRPC().CountSSLCerts(this.AdminContext(), &pb.CountSSLCertRequest{ + UserId: params.UserId, ExpiringDays: 30, Keyword: params.Keyword, }) @@ -115,28 +146,60 @@ func (this *IndexAction) RunGet(params struct { case "": page = this.NewPage(countAll) listResp, err = this.RPC().SSLCertRPC().ListSSLCerts(this.AdminContext(), &pb.ListSSLCertsRequest{ + UserId: params.UserId, Offset: page.Offset, Size: page.Size, Keyword: params.Keyword, }) case "ca": page = this.NewPage(countCA) - listResp, err = this.RPC().SSLCertRPC().ListSSLCerts(this.AdminContext(), &pb.ListSSLCertsRequest{IsCA: true, Offset: page.Offset, Size: page.Size, Keyword: params.Keyword}) + listResp, err = this.RPC().SSLCertRPC().ListSSLCerts(this.AdminContext(), &pb.ListSSLCertsRequest{ + UserId: params.UserId, + IsCA: true, + Offset: page.Offset, + Size: page.Size, + Keyword: params.Keyword, + }) case "available": page = this.NewPage(countAvailable) - listResp, err = this.RPC().SSLCertRPC().ListSSLCerts(this.AdminContext(), &pb.ListSSLCertsRequest{IsAvailable: true, Offset: page.Offset, Size: page.Size, Keyword: params.Keyword}) + listResp, err = this.RPC().SSLCertRPC().ListSSLCerts(this.AdminContext(), &pb.ListSSLCertsRequest{ + UserId: params.UserId, + IsAvailable: true, + Offset: page.Offset, + Size: page.Size, + Keyword: params.Keyword, + }) case "expired": page = this.NewPage(countExpired) - listResp, err = this.RPC().SSLCertRPC().ListSSLCerts(this.AdminContext(), &pb.ListSSLCertsRequest{IsExpired: true, Offset: page.Offset, Size: page.Size, Keyword: params.Keyword}) + listResp, err = this.RPC().SSLCertRPC().ListSSLCerts(this.AdminContext(), &pb.ListSSLCertsRequest{ + UserId: params.UserId, + IsExpired: true, + Offset: page.Offset, + Size: page.Size, + Keyword: params.Keyword, + }) case "7days": page = this.NewPage(count7Days) - listResp, err = this.RPC().SSLCertRPC().ListSSLCerts(this.AdminContext(), &pb.ListSSLCertsRequest{ExpiringDays: 7, Offset: page.Offset, Size: page.Size, Keyword: params.Keyword}) + listResp, err = this.RPC().SSLCertRPC().ListSSLCerts(this.AdminContext(), &pb.ListSSLCertsRequest{ + UserId: params.UserId, + ExpiringDays: 7, + Offset: page.Offset, + Size: page.Size, + Keyword: params.Keyword, + }) case "30days": page = this.NewPage(count30Days) - listResp, err = this.RPC().SSLCertRPC().ListSSLCerts(this.AdminContext(), &pb.ListSSLCertsRequest{ExpiringDays: 30, Offset: page.Offset, Size: page.Size, Keyword: params.Keyword}) + listResp, err = this.RPC().SSLCertRPC().ListSSLCerts(this.AdminContext(), &pb.ListSSLCertsRequest{ + UserId: params.UserId, + ExpiringDays: 30, + Offset: page.Offset, + Size: page.Size, + Keyword: params.Keyword, + }) default: page = this.NewPage(countAll) listResp, err = this.RPC().SSLCertRPC().ListSSLCerts(this.AdminContext(), &pb.ListSSLCertsRequest{ + UserId: params.UserId, Keyword: params.Keyword, Offset: page.Offset, Size: page.Size, @@ -158,7 +221,9 @@ func (this *IndexAction) RunGet(params struct { var certMaps = []maps.Map{} var nowTime = time.Now().Unix() for _, certConfig := range certConfigs { - countServersResp, err := this.RPC().ServerRPC().CountAllEnabledServersWithSSLCertId(this.AdminContext(), &pb.CountAllEnabledServersWithSSLCertIdRequest{SslCertId: certConfig.Id}) + countServersResp, err := this.RPC().ServerRPC().CountAllEnabledServersWithSSLCertId(this.AdminContext(), &pb.CountAllEnabledServersWithSSLCertIdRequest{ + SslCertId: certConfig.Id, + }) if err != nil { this.ErrorPage(err) return diff --git a/web/views/@default/servers/certs/acme/create.html b/web/views/@default/servers/certs/acme/create.html index debec2a1..c039bf82 100644 --- a/web/views/@default/servers/certs/acme/create.html +++ b/web/views/@default/servers/certs/acme/create.html @@ -12,7 +12,7 @@ 选择申请方式
- 选择用户 + 选择ACME用户
填写域名信息 diff --git a/web/views/@default/servers/certs/index.html b/web/views/@default/servers/certs/index.html index 0d1ce6a5..f11f7f8e 100644 --- a/web/views/@default/servers/certs/index.html +++ b/web/views/@default/servers/certs/index.html @@ -3,12 +3,12 @@
- 所有证书({{countAll}}) - CA证书({{countCA}}) - 有效证书({{countAvailable}}) - 过期证书({{countExpired}}) - 7天内过期({{count7Days}}) - 30天内过期({{count30Days}}) + 所有证书({{countAll}}) + CA证书({{countCA}}) + 有效证书({{countAvailable}}) + 过期证书({{countExpired}}) + 7天内过期({{count7Days}}) + 30天内过期({{count30Days}}) | [上传证书] [批量上传] @@ -18,17 +18,20 @@
- + +
+
+
-

暂时还没有相关的证书。

+

当前用户下暂时还没有相关的证书。

@@ -38,6 +41,7 @@ + @@ -62,6 +66,10 @@ +
生效日期 过期日期 引用服务所属用户 状态 操作
{{certInfos[index].beginDay}} {{certInfos[index].endDay}} {{certInfos[index].countServers}} + + 管理员 + 未启用 已过期 diff --git a/web/views/@default/servers/certs/index.js b/web/views/@default/servers/certs/index.js index fc43ba4c..875ef5eb 100644 --- a/web/views/@default/servers/certs/index.js +++ b/web/views/@default/servers/certs/index.js @@ -1,7 +1,7 @@ Tea.context(function () { // 上传证书 this.uploadCert = function () { - teaweb.popup("/servers/certs/uploadPopup", { + teaweb.popup("/servers/certs/uploadPopup?userId=" + this.searchingUserId, { height: "30em", callback: function () { teaweb.success("上传成功", function () { @@ -13,7 +13,7 @@ Tea.context(function () { // 批量上传证书 this.uploadBatch = function () { - teaweb.popup("/servers/certs/uploadBatchPopup", { + teaweb.popup("/servers/certs/uploadBatchPopup?userId=" + this.searchingUserId, { callback: function () { window.location.reload() } diff --git a/web/views/@default/servers/certs/selectPopup.html b/web/views/@default/servers/certs/selectPopup.html index b856668e..e97f370f 100644 --- a/web/views/@default/servers/certs/selectPopup.html +++ b/web/views/@default/servers/certs/selectPopup.html @@ -41,7 +41,7 @@

- 暂时还没有跟所添加域名匹配的相关证书[尝试搜索未指定用户证书]。 + 当前用户下暂时还没有跟所添加域名匹配的相关证书[尝试搜索管理员上传和申请的证书]