diff --git a/internal/web/actions/default/servers/certs/acme/index.go b/internal/web/actions/default/servers/certs/acme/index.go index cf6f6c91..537589ee 100644 --- a/internal/web/actions/default/servers/certs/acme/index.go +++ b/internal/web/actions/default/servers/certs/acme/index.go @@ -4,6 +4,7 @@ import ( "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" "github.com/iwind/TeaGo/maps" + timeutil "github.com/iwind/TeaGo/utils/time" ) type IndexAction struct { @@ -48,8 +49,10 @@ func (this *IndexAction) RunGet(params struct{}) { var certMap maps.Map = nil if task.SslCert != nil { certMap = maps.Map{ - "id": task.SslCert.Id, - "name": task.SslCert.Name, + "id": task.SslCert.Id, + "name": task.SslCert.Name, + "beginTime": timeutil.FormatTime("Y-m-d", task.SslCert.TimeBeginAt), + "endTime": timeutil.FormatTime("Y-m-d", task.SslCert.TimeEndAt), } } diff --git a/internal/web/actions/default/servers/certs/acme/run.go b/internal/web/actions/default/servers/certs/acme/run.go index 986b90d2..7086386d 100644 --- a/internal/web/actions/default/servers/certs/acme/run.go +++ b/internal/web/actions/default/servers/certs/acme/run.go @@ -2,14 +2,26 @@ package acme import ( "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" - "time" + "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" ) type RunAction struct { actionutils.ParentAction } -func (this *RunAction) RunPost(params struct{}) { - time.Sleep(5 * time.Second) // TODO - this.Success() +func (this *RunAction) RunPost(params struct { + TaskId int64 +}) { + runResp, err := this.RPC().ACMETaskRPC().RunACMETask(this.AdminContext(), &pb.RunACMETaskRequest{AcmeTaskId: params.TaskId}) + if err != nil { + this.ErrorPage(err) + return + } + + if runResp.IsOk { + this.Data["certId"] = runResp.SslCertId + this.Success() + } else { + this.Fail(runResp.Error) + } } diff --git a/web/public/js/components/common/labels.js b/web/public/js/components/common/labels.js index 91382b28..0f1bea25 100644 --- a/web/public/js/components/common/labels.js +++ b/web/public/js/components/common/labels.js @@ -18,3 +18,7 @@ Vue.component("tiny-basic-label", { template: `` }) +// 更小的标签 +Vue.component("micro-basic-label", { + template: `` +}) diff --git a/web/views/@default/servers/certs/acme/create.html b/web/views/@default/servers/certs/acme/create.html index 98626ee2..7b7bcd04 100644 --- a/web/views/@default/servers/certs/acme/create.html +++ b/web/views/@default/servers/certs/acme/create.html @@ -103,7 +103,7 @@
- +
diff --git a/web/views/@default/servers/certs/acme/create.js b/web/views/@default/servers/certs/acme/create.js index f58e7769..0d1f938c 100644 --- a/web/views/@default/servers/certs/acme/create.js +++ b/web/views/@default/servers/certs/acme/create.js @@ -82,6 +82,7 @@ Tea.context(function () { this.isRequesting = true this.$post(".run") + .timeout(300) .params({ taskId: this.taskId }) diff --git a/web/views/@default/servers/certs/acme/index.html b/web/views/@default/servers/certs/acme/index.html index b7f5dabd..e77ec5aa 100644 --- a/web/views/@default/servers/certs/acme/index.html +++ b/web/views/@default/servers/certs/acme/index.html @@ -6,6 +6,8 @@

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

+
有任务在执行中,可能需要的时间较长,请耐心等待。
+ @@ -19,7 +21,7 @@ - + @@ -29,7 +31,10 @@
操作
{{task.acmeUser.email}} {{task.dnsProvider.name}} {{task.dnsDomain}} - +
+ {{task.cert.endTime}} +
+ -
Y @@ -37,14 +42,14 @@
- {{task.cert.name}} + {{task.cert.name}}
-
- 修改   - 执行   - 删除 + 修改   + 执行   + 删除
diff --git a/web/views/@default/servers/certs/acme/index.js b/web/views/@default/servers/certs/acme/index.js index 9c3c0f63..2f48dda4 100644 --- a/web/views/@default/servers/certs/acme/index.js +++ b/web/views/@default/servers/certs/acme/index.js @@ -27,4 +27,32 @@ Tea.context(function () { .refresh() }) } + + + this.isRunning = false + this.runningIndex = -1 + + this.runTask = function (index, task) { + let that = this + + teaweb.confirm("确定要立即执行此任务吗?", function () { + that.isRunning = true + that.runningIndex = index + + that.$post(".run") + .timeout(300) + .params({ + taskId: task.id + }) + .success(function (resp) { + teaweb.success("执行成功", function () { + teaweb.reload() + }) + }) + .done(function () { + that.isRunning = false + that.runningIndex = -1 + }) + }) + } }) \ No newline at end of file diff --git a/web/views/@default/servers/certs/index.html b/web/views/@default/servers/certs/index.html index 50fe1765..c3d68817 100644 --- a/web/views/@default/servers/certs/index.html +++ b/web/views/@default/servers/certs/index.html @@ -30,7 +30,10 @@ {{cert.name}}
- CA + CA +
+
+ ACME