From 33ddd046f1763a5c5bb401a39fd128beded30e47 Mon Sep 17 00:00:00 2001 From: xuans Date: Mon, 31 Aug 2026 02:34:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=9F=9F=E5=90=8D=E4=BB=93?= =?UTF-8?q?=E5=82=A8=E6=9C=AA=E9=85=8D=E7=BD=AE=E4=BF=9D=E6=8A=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/internal/httpapi/server.go | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/backend/internal/httpapi/server.go b/backend/internal/httpapi/server.go index 4307eee..50206ea 100644 --- a/backend/internal/httpapi/server.go +++ b/backend/internal/httpapi/server.go @@ -333,7 +333,18 @@ func (s *Server) status(c *gin.Context) { }) } +func (s *Server) requireDomainRepository(c *gin.Context) bool { + if s.repository != nil { + return true + } + s.writeError(c, http.StatusNotImplemented, "域名管理接口尚未配置", errors.New("域名仓储未配置")) + return false +} + func (s *Server) listDomains(c *gin.Context) { + if !s.requireDomainRepository(c) { + return + } items, err := s.repository.List(c.Request.Context()) if err != nil { s.writeError(c, http.StatusInternalServerError, "查询域名失败", err) @@ -343,6 +354,9 @@ func (s *Server) listDomains(c *gin.Context) { } func (s *Server) createDomain(c *gin.Context) { + if !s.requireDomainRepository(c) { + return + } var request domainRequest if err := bindJSON(c, &request, jsonRequestBodyLimit); err != nil { s.writeError(c, http.StatusBadRequest, "请求参数无效", err) @@ -365,6 +379,9 @@ func (s *Server) createDomain(c *gin.Context) { } func (s *Server) updateDomain(c *gin.Context) { + if !s.requireDomainRepository(c) { + return + } var request domainRequest if err := bindJSON(c, &request, jsonRequestBodyLimit); err != nil { s.writeError(c, http.StatusBadRequest, "请求参数无效", err) @@ -416,6 +433,9 @@ func newDomainFromRequest(request domainRequest) (domain.Domain, error) { } func (s *Server) deleteDomain(c *gin.Context) { + if !s.requireDomainRepository(c) { + return + } if err := s.repository.Delete(c.Request.Context(), c.Param("id")); err != nil { if repository.IsNotFound(err) { s.writeError(c, http.StatusNotFound, "域名不存在", err) @@ -556,6 +576,9 @@ func (s *Server) deleteServer(c *gin.Context) { } func (s *Server) listDomainServers(c *gin.Context) { + if !s.requireDomainRepository(c) { + return + } if s.servers == nil { s.writeError(c, http.StatusNotImplemented, "服务器管理接口尚未配置", errors.New("服务器仓储未配置")) return @@ -577,6 +600,9 @@ func (s *Server) listDomainServers(c *gin.Context) { } func (s *Server) replaceDomainServers(c *gin.Context) { + if !s.requireDomainRepository(c) { + return + } if s.servers == nil { s.writeError(c, http.StatusNotImplemented, "服务器管理接口尚未配置", errors.New("服务器仓储未配置")) return