package api import ( "net/http" "github.com/gin-gonic/gin" "vpn-platform/backend/internal/service" "vpn-platform/backend/internal/store" "vpn-platform/backend/internal/tlsservice" ) func (s *Server) tlsStatus(c *gin.Context) { c.JSON(http.StatusOK, tlsservice.Status()) } func (s *Server) setTLSDomain(c *gin.Context) { var req struct { Domain string `json:"domain"` } if err := c.ShouldBindJSON(&req); err != nil { c.JSON(http.StatusBadRequest, gin.H{"error": "请输入域名"}) return } if err := tlsservice.ConfigureDomain(service.BaseDir(), req.Domain); err != nil { c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) return } store.Audit(c.GetString("username"), "tls_domain_configured", req.Domain, "需重启后生效") status := tlsservice.Status() c.JSON(http.StatusOK, gin.H{"status": status, "restart_required": status.RestartRequired}) }