feat: 合并Gin_Vue

This commit is contained in:
TsMask
2023-10-16 17:10:38 +08:00
parent 5289818fd4
commit 40a32cb67f
203 changed files with 19719 additions and 178 deletions

View File

@@ -0,0 +1,40 @@
package errorcatch
import (
"fmt"
"ems.agt/src/framework/config"
"ems.agt/src/framework/logger"
"ems.agt/src/framework/vo/result"
"github.com/gin-gonic/gin"
)
// ErrorCatch 全局异常捕获
func ErrorCatch() gin.HandlerFunc {
return func(c *gin.Context) {
defer func() {
// 在这里处理 Panic 异常,例如记录日志或返回错误信息给客户端
if err := recover(); err != nil {
logger.Errorf("发生了 Panic 异常: %v", err)
// 返回错误响应给客户端
if config.Env() == "prod" {
c.JSON(500, result.ErrMsg("服务器内部错误"))
} else {
// 通过实现 error 接口的 Error() 方法自定义错误类型进行捕获
switch v := err.(type) {
case error:
c.JSON(500, result.ErrMsg(v.Error()))
default:
c.JSON(500, result.ErrMsg(fmt.Sprint(err)))
}
}
c.Abort() // 停止执行后续的处理函数
}
}()
c.Next()
}
}