feat: 中间件多语言

This commit is contained in:
TsMask
2023-11-20 18:56:02 +08:00
parent 5604bd9b9d
commit 80978c96f0
3 changed files with 14 additions and 8 deletions

View File

@@ -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