- 添加 acme_user 模型和相关数据库迁移- 实现 acme 用户的 CRUD 功能 - 新增 acme 用户相关的 handler 和 service -优化 domain 模型,移除冗余字段 - 更新全局异常处理,增加日志记录
33 lines
612 B
Go
33 lines
612 B
Go
package handler
|
|
|
|
import (
|
|
"acme-mana-server-go/vo"
|
|
"github.com/gin-gonic/gin"
|
|
"github.com/go-acme/lego/v4/log"
|
|
)
|
|
|
|
func GlobalPanicHandler() gin.HandlerFunc {
|
|
return func(ctx *gin.Context) {
|
|
defer func() {
|
|
if err := recover(); err != nil {
|
|
//debug.PrintStack()
|
|
log.Infof("panic: %v", err)
|
|
ctx.JSON(500, vo.Fail(err.(error).Error()))
|
|
ctx.Abort()
|
|
}
|
|
}()
|
|
ctx.Next()
|
|
}
|
|
}
|
|
|
|
func GlobalErrorHandler() gin.HandlerFunc {
|
|
return func(c *gin.Context) {
|
|
c.Next()
|
|
if len(c.Errors) > 0 {
|
|
log.Printf("error: %v", c.Errors)
|
|
c.JSON(500, vo.Fail(c.Errors.String()))
|
|
c.Abort()
|
|
}
|
|
}
|
|
}
|