优化结构
This commit is contained in:
@@ -30,6 +30,9 @@ type PageResult struct {
|
||||
}
|
||||
|
||||
func Write(c *gin.Context, code int, data any, message string) {
|
||||
if code == CodeError {
|
||||
message = sanitizeFailureMessage(message)
|
||||
}
|
||||
c.JSON(http.StatusOK, Response{Code: code, Data: data, Msg: message})
|
||||
}
|
||||
|
||||
@@ -39,6 +42,20 @@ func OKWithData(c *gin.Context, data any) { Write(c, CodeSuccess, data, "成功"
|
||||
|
||||
func Fail(c *gin.Context, message string) { Write(c, CodeError, gin.H{}, message) }
|
||||
|
||||
func sanitizeFailureMessage(message string) string {
|
||||
message = strings.TrimSpace(message)
|
||||
lower := strings.ToLower(message)
|
||||
for _, marker := range []string{"gorm", "sql:", "redis", "mysql", "mongo", "dial ", "connection", "provider", "sdk", "json:", "serialize", "timeout", "http 4", "http 5", "tls:"} {
|
||||
if strings.Contains(lower, marker) {
|
||||
return "操作失败"
|
||||
}
|
||||
}
|
||||
if strings.Contains(message, "失败:") {
|
||||
return strings.TrimSpace(strings.SplitN(message, "失败:", 2)[0]) + "失败"
|
||||
}
|
||||
return message
|
||||
}
|
||||
|
||||
func NoAuth(c *gin.Context, message string) {
|
||||
c.AbortWithStatusJSON(http.StatusUnauthorized, Response{Code: CodeError, Data: nil, Msg: message})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user