diff --git a/src/framework/middleware/collectlogs/operate_log.go b/src/framework/middleware/collectlogs/operate_log.go index 3c22e463..65da37de 100644 --- a/src/framework/middleware/collectlogs/operate_log.go +++ b/src/framework/middleware/collectlogs/operate_log.go @@ -7,6 +7,7 @@ import ( "time" "ems.agt/src/framework/constants/common" + "ems.agt/src/framework/i18n" "ems.agt/src/framework/utils/ctx" "ems.agt/src/framework/utils/parse" "ems.agt/src/framework/vo/result" @@ -96,6 +97,7 @@ var maskProperties []string = []string{ func OperateLog(options Options) gin.HandlerFunc { return func(c *gin.Context) { c.Set("startTime", time.Now()) + language := ctx.AcceptLanguage(c) // 函数名 funcName := c.HandlerName() @@ -108,7 +110,7 @@ func OperateLog(options Options) gin.HandlerFunc { // 获取登录用户信息 loginUser, err := ctx.LoginUser(c) if err != nil { - c.JSON(401, result.CodeMsg(401, "无效身份授权")) + c.JSON(401, result.CodeMsg(401, i18n.TKey(language, err.Error()))) c.Abort() // 停止执行后续的处理函数 return } diff --git a/src/framework/middleware/pre_authorize.go b/src/framework/middleware/pre_authorize.go index 3fd89883..4ded217f 100644 --- a/src/framework/middleware/pre_authorize.go +++ b/src/framework/middleware/pre_authorize.go @@ -1,10 +1,9 @@ package middleware import ( - "fmt" - AdminConstants "ems.agt/src/framework/constants/admin" commonConstants "ems.agt/src/framework/constants/common" + "ems.agt/src/framework/i18n" ctxUtils "ems.agt/src/framework/utils/ctx" tokenUtils "ems.agt/src/framework/utils/token" "ems.agt/src/framework/vo/result" @@ -23,10 +22,12 @@ import ( // 同时匹配其中权限 "matchPerms": {"xxx"}, func PreAuthorize(options map[string][]string) gin.HandlerFunc { return func(c *gin.Context) { + language := ctxUtils.AcceptLanguage(c) + // 获取请求头标识信息 tokenStr := ctxUtils.Authorization(c) if tokenStr == "" { - c.JSON(401, result.CodeMsg(401, "无效身份授权")) + c.JSON(401, result.CodeMsg(401, i18n.TKey(language, "app.common.err401"))) c.Abort() // 停止执行后续的处理函数 return } @@ -42,7 +43,7 @@ func PreAuthorize(options map[string][]string) gin.HandlerFunc { // 获取缓存的用户信息 loginUser := tokenUtils.LoginUser(claims) if loginUser.UserID == "" { - c.JSON(401, result.CodeMsg(401, "无效身份授权")) + c.JSON(401, result.CodeMsg(401, i18n.TKey(language, "app.common.err401"))) c.Abort() // 停止执行后续的处理函数 return } @@ -60,7 +61,7 @@ func PreAuthorize(options map[string][]string) gin.HandlerFunc { perms := loginUser.Permissions verifyOk := verifyRolePermission(roles, perms, options) if !verifyOk { - msg := fmt.Sprintf("无权访问 %s %s", c.Request.Method, c.Request.RequestURI) + msg := i18n.TTemplate(language, "app.common.err403", map[string]any{"method": c.Request.Method, "requestURI": c.Request.RequestURI}) c.JSON(403, result.CodeMsg(403, msg)) c.Abort() // 停止执行后续的处理函数 return diff --git a/src/framework/middleware/rate_limit.go b/src/framework/middleware/rate_limit.go index dd5b85a5..33906226 100644 --- a/src/framework/middleware/rate_limit.go +++ b/src/framework/middleware/rate_limit.go @@ -6,6 +6,7 @@ import ( "time" "ems.agt/src/framework/constants/cachekey" + "ems.agt/src/framework/i18n" "ems.agt/src/framework/redis" "ems.agt/src/framework/utils/ctx" "ems.agt/src/framework/utils/ip2region" @@ -42,6 +43,8 @@ type LimitOption struct { // 以便获取登录用户信息,无用户信息时默认为 GLOBAL func RateLimit(option LimitOption) gin.HandlerFunc { return func(c *gin.Context) { + language := ctx.AcceptLanguage(c) + // 初始可选参数数据 if option.Time < 5 { option.Time = 5 @@ -66,7 +69,7 @@ func RateLimit(option LimitOption) gin.HandlerFunc { if err != nil { c.JSON(401, result.Err(map[string]any{ "code": 401, - "msg": err.Error(), + "msg": i18n.TKey(language, err.Error()), })) c.Abort() // 停止执行后续的处理函数 return @@ -91,7 +94,7 @@ func RateLimit(option LimitOption) gin.HandlerFunc { if rateCount >= option.Count { // 访问过于频繁,请稍候再试 - c.JSON(200, result.ErrMsg("Visits are too frequent. Please try again later")) + c.JSON(200, i18n.TKey(language, "app.common.rateLimitTip")) c.Abort() // 停止执行后续的处理函数 return }