feat: 解析客户端接收语言

This commit is contained in:
TsMask
2023-11-10 18:08:27 +08:00
parent 1a14ab4567
commit cc93ff9842

View File

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