acme-mana-server-go/handler/domain.go
ZhuoQinghui b1adda8a55 feat: 实现域名注册和管理功能
- 新增 ACME客户端功能,支持域名注册和证书申请
- 添加数据库模型和操作,用于存储和管理域名信息
- 实现 API 接口,提供域名注册、获取和分页查询功能
-集成全局错误处理和 panic捕获
- 添加单元测试和集成测试
2025-05-05 03:59:05 +08:00

53 lines
1.1 KiB
Go

package handler
import (
"acme-mana-server-go/model"
"acme-mana-server-go/service"
"acme-mana-server-go/vo"
"github.com/gin-gonic/gin"
"strconv"
)
var domainService = &service.DomainService{}
type DomainHandler struct {
}
func (d *DomainHandler) Register(r *gin.RouterGroup) {
group := r.Group("/domain")
group.GET("/:id", d.Get)
group.POST("/", d.Add)
group.POST("/page", d.Page)
}
func (d *DomainHandler) Add(c *gin.Context) {
var domain model.Domain
err := c.ShouldBindJSON(&domain)
if err != nil {
c.JSON(200, vo.Fail(err.Error()))
return
}
domainService.Add(&domain)
c.JSON(200, vo.Success(nil))
}
func (d *DomainHandler) Get(c *gin.Context) {
idStr := c.Param("id")
id, err := strconv.Atoi(idStr)
if err != nil {
panic(err)
}
domain := domainService.Get(id)
c.JSON(200, vo.Success(domain))
}
func (d *DomainHandler) Page(c *gin.Context) {
req := &vo.DomainPageReq{}
err := c.ShouldBindJSON(req)
if err != nil {
panic(err)
}
total, list := domainService.Page(req)
c.JSON(200, vo.Success(vo.PageResult{Total: total, List: list}))
}