From cc93ff98421ba9d43401e5bd1456f6f0998ad550 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Fri, 10 Nov 2023 18:08:27 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=A7=A3=E6=9E=90=E5=AE=A2=E6=88=B7?= =?UTF-8?q?=E7=AB=AF=E6=8E=A5=E6=94=B6=E8=AF=AD=E8=A8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/framework/utils/ctx/ctx.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/framework/utils/ctx/ctx.go b/src/framework/utils/ctx/ctx.go index 7a35b90d..8539e63f 100644 --- a/src/framework/utils/ctx/ctx.go +++ b/src/framework/utils/ctx/ctx.go @@ -11,6 +11,7 @@ import ( "ems.agt/src/framework/utils/ip2region" "ems.agt/src/framework/utils/ua" "ems.agt/src/framework/vo" + "golang.org/x/text/language" "github.com/gin-gonic/gin" "github.com/gin-gonic/gin/binding" @@ -95,6 +96,20 @@ func UaOsBrowser(c *gin.Context) (string, string) { return os, browser } +// AcceptLanguage 解析客户端接收语言 zh:中文 en: 英文 +func AcceptLanguage(c *gin.Context) string { + preferredLanguage := language.English + acceptLanguage := c.GetHeader("Accept-Language") + tags, _, _ := language.ParseAcceptLanguage(acceptLanguage) + if len(tags) > 0 { + preferredLanguage = tags[0] + } + // 只取前缀 + lang := preferredLanguage.String() + arr := strings.Split(lang, "-") + return arr[0] +} + // LoginUser 登录用户信息 func LoginUser(c *gin.Context) (vo.LoginUser, error) { value, exists := c.Get(common.CTX_LOGIN_USER)