From 9c95dfcc246366e5effbd898aa097a0a3c847fd7 Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Sun, 23 Apr 2023 11:03:07 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=81=E4=B9=A6=E7=94=B3=E8=AF=B7=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=8F=AF=E4=BB=A5=E4=BD=BF=E7=94=A8=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E7=AD=9B=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../default/servers/certs/acme/index.go | 76 ++++++++++++++++--- .../@default/servers/certs/acme/@menu.html | 4 +- .../@default/servers/certs/acme/index.html | 48 +++++++----- 3 files changed, 98 insertions(+), 30 deletions(-) diff --git a/internal/web/actions/default/servers/certs/acme/index.go b/internal/web/actions/default/servers/certs/acme/index.go index 7eec22ab..769144a8 100644 --- a/internal/web/actions/default/servers/certs/acme/index.go +++ b/internal/web/actions/default/servers/certs/acme/index.go @@ -17,22 +17,48 @@ 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 - countAll := int64(0) - countAvailable := int64(0) - countExpired := int64(0) - count7Days := int64(0) - count30Days := int64(0) + // 当前用户 + 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 + var countAvailable int64 + var countExpired int64 + var count7Days int64 + var count30Days int64 // 计算数量 { // all resp, err := this.RPC().ACMETaskRPC().CountAllEnabledACMETasks(this.AdminContext(), &pb.CountAllEnabledACMETasksRequest{ + UserId: params.UserId, Keyword: params.Keyword, }) if err != nil { @@ -43,6 +69,7 @@ func (this *IndexAction) RunGet(params struct { // available resp, err = this.RPC().ACMETaskRPC().CountAllEnabledACMETasks(this.AdminContext(), &pb.CountAllEnabledACMETasksRequest{ + UserId: params.UserId, IsAvailable: true, Keyword: params.Keyword, }) @@ -54,6 +81,7 @@ func (this *IndexAction) RunGet(params struct { // expired resp, err = this.RPC().ACMETaskRPC().CountAllEnabledACMETasks(this.AdminContext(), &pb.CountAllEnabledACMETasksRequest{ + UserId: params.UserId, IsExpired: true, Keyword: params.Keyword, }) @@ -65,6 +93,7 @@ func (this *IndexAction) RunGet(params struct { // expire in 7 days resp, err = this.RPC().ACMETaskRPC().CountAllEnabledACMETasks(this.AdminContext(), &pb.CountAllEnabledACMETasksRequest{ + UserId: params.UserId, ExpiringDays: 7, Keyword: params.Keyword, }) @@ -76,6 +105,7 @@ func (this *IndexAction) RunGet(params struct { // expire in 30 days resp, err = this.RPC().ACMETaskRPC().CountAllEnabledACMETasks(this.AdminContext(), &pb.CountAllEnabledACMETasksRequest{ + UserId: params.UserId, ExpiringDays: 30, Keyword: params.Keyword, }) @@ -100,25 +130,51 @@ func (this *IndexAction) RunGet(params struct { case "": page = this.NewPage(countAll) tasksResp, err = this.RPC().ACMETaskRPC().ListEnabledACMETasks(this.AdminContext(), &pb.ListEnabledACMETasksRequest{ + UserId: params.UserId, Offset: page.Offset, Size: page.Size, Keyword: params.Keyword, }) case "available": page = this.NewPage(countAvailable) - tasksResp, err = this.RPC().ACMETaskRPC().ListEnabledACMETasks(this.AdminContext(), &pb.ListEnabledACMETasksRequest{IsAvailable: true, Offset: page.Offset, Size: page.Size, Keyword: params.Keyword}) + tasksResp, err = this.RPC().ACMETaskRPC().ListEnabledACMETasks(this.AdminContext(), &pb.ListEnabledACMETasksRequest{ + UserId: params.UserId, + IsAvailable: true, + Offset: page.Offset, + Size: page.Size, + Keyword: params.Keyword, + }) case "expired": page = this.NewPage(countExpired) - tasksResp, err = this.RPC().ACMETaskRPC().ListEnabledACMETasks(this.AdminContext(), &pb.ListEnabledACMETasksRequest{IsExpired: true, Offset: page.Offset, Size: page.Size, Keyword: params.Keyword}) + tasksResp, err = this.RPC().ACMETaskRPC().ListEnabledACMETasks(this.AdminContext(), &pb.ListEnabledACMETasksRequest{ + UserId: params.UserId, + IsExpired: true, + Offset: page.Offset, + Size: page.Size, + Keyword: params.Keyword, + }) case "7days": page = this.NewPage(count7Days) - tasksResp, err = this.RPC().ACMETaskRPC().ListEnabledACMETasks(this.AdminContext(), &pb.ListEnabledACMETasksRequest{ExpiringDays: 7, Offset: page.Offset, Size: page.Size, Keyword: params.Keyword}) + tasksResp, err = this.RPC().ACMETaskRPC().ListEnabledACMETasks(this.AdminContext(), &pb.ListEnabledACMETasksRequest{ + UserId: params.UserId, + ExpiringDays: 7, + Offset: page.Offset, + Size: page.Size, + Keyword: params.Keyword, + }) case "30days": page = this.NewPage(count30Days) - tasksResp, err = this.RPC().ACMETaskRPC().ListEnabledACMETasks(this.AdminContext(), &pb.ListEnabledACMETasksRequest{ExpiringDays: 30, Offset: page.Offset, Size: page.Size, Keyword: params.Keyword}) + tasksResp, err = this.RPC().ACMETaskRPC().ListEnabledACMETasks(this.AdminContext(), &pb.ListEnabledACMETasksRequest{ + UserId: params.UserId, + ExpiringDays: 30, + Offset: page.Offset, + Size: page.Size, + Keyword: params.Keyword, + }) default: page = this.NewPage(countAll) tasksResp, err = this.RPC().ACMETaskRPC().ListEnabledACMETasks(this.AdminContext(), &pb.ListEnabledACMETasksRequest{ + UserId: params.UserId, Keyword: params.Keyword, Offset: page.Offset, Size: page.Size, @@ -131,7 +187,7 @@ func (this *IndexAction) RunGet(params struct { this.Data["page"] = page.AsHTML() - taskMaps := []maps.Map{} + var taskMaps = []maps.Map{} for _, task := range tasksResp.AcmeTasks { if task.AcmeUser == nil { continue diff --git a/web/views/@default/servers/certs/acme/@menu.html b/web/views/@default/servers/certs/acme/@menu.html index bb461fa6..ad22f407 100644 --- a/web/views/@default/servers/certs/acme/@menu.html +++ b/web/views/@default/servers/certs/acme/@menu.html @@ -1,6 +1,8 @@ 所有任务 - 新申请 + | + [新申请] + | ACME用户 服务商账号 diff --git a/web/views/@default/servers/certs/acme/index.html b/web/views/@default/servers/certs/acme/index.html index 58088fee..76a91d73 100644 --- a/web/views/@default/servers/certs/acme/index.html +++ b/web/views/@default/servers/certs/acme/index.html @@ -4,27 +4,32 @@
{$template "menu"} - - 所有任务({{countAll}}) - 有效证书({{countAvailable}}) - 过期证书({{countExpired}}) - 7天内过期({{count7Days}}) - 30天内过期({{count30Days}}) -
-
-
-
- -
-
- -
-
-
-
+ + 所有任务({{countAll}}) + 有效证书({{countAvailable}}) + 过期证书({{countExpired}}) + 7天内过期({{count7Days}}) + 30天内过期({{count30Days}}) -

暂时还没有证书申请任务。

+
+
+
+ +
+
+ +
+
+
+ + + [清除条件] +
+
+
+ +

当前用户下暂时还没有证书申请任务。

有任务在执行中,可能需要的时间较长,请耐心等待。
@@ -37,6 +42,7 @@ 更新时间 自动续期 关联证书 + 所属用户 操作 @@ -77,6 +83,10 @@
- + + + 管理员 + 修改   执行