From 04ef3ce4420e0802292cc7ad175cec585da70152 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=80=97=E5=AD=90?= Date: Sun, 30 Mar 2025 04:19:30 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9B=B4=E5=87=86=E7=A1=AE=E7=9A=84?= =?UTF-8?q?=E8=AF=81=E4=B9=A6=E7=BB=AD=E7=AD=BE=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/data/cert.go | 7 ++++++- pkg/types/cert.go | 1 + web/src/views/cert/CertView.vue | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/internal/data/cert.go b/internal/data/cert.go index d03ada3a..69aac9ad 100644 --- a/internal/data/cert.go +++ b/internal/data/cert.go @@ -53,6 +53,7 @@ func (r *certRepo) List(page, limit uint) ([]*types.CertList, int64, error) { AutoRenew: cert.AutoRenew, Cert: cert.Cert, Key: cert.Key, + CertURL: cert.CertURL, Script: cert.Script, CreatedAt: cert.CreatedAt, UpdatedAt: cert.UpdatedAt, @@ -290,7 +291,11 @@ func (r *certRepo) Renew(id uint) (*acme.Certificate, error) { ssl, err := client.RenewCertificate(context.Background(), cert.CertURL, cert.Domains, acme.KeyType(cert.Type)) if err != nil { - return nil, err + // 续签失败,尝试重签 + ssl, err = client.ObtainCertificate(context.Background(), cert.Domains, acme.KeyType(cert.Type)) + if err != nil { + return nil, err + } } cert.CertURL = ssl.URL diff --git a/pkg/types/cert.go b/pkg/types/cert.go index 013cdc74..bae52669 100644 --- a/pkg/types/cert.go +++ b/pkg/types/cert.go @@ -12,6 +12,7 @@ type CertList struct { AutoRenew bool `json:"auto_renew"` Cert string `json:"cert"` Key string `json:"key"` + CertURL string `json:"cert_url"` Script string `json:"script"` NotBefore time.Time `json:"not_before"` NotAfter time.Time `json:"not_after"` diff --git a/web/src/views/cert/CertView.vue b/web/src/views/cert/CertView.vue index a9e9955d..aeca82bb 100644 --- a/web/src/views/cert/CertView.vue +++ b/web/src/views/cert/CertView.vue @@ -219,7 +219,7 @@ const columns: any = [ } ) : null, - row.cert != '' && row.key != '' && row.type != 'upload' + row.cert_url != '' && row.type != 'upload' ? h( NButton, {