feat: 解析客户端接收语言
This commit is contained in:
@@ -11,6 +11,7 @@ import (
|
|||||||
"ems.agt/src/framework/utils/ip2region"
|
"ems.agt/src/framework/utils/ip2region"
|
||||||
"ems.agt/src/framework/utils/ua"
|
"ems.agt/src/framework/utils/ua"
|
||||||
"ems.agt/src/framework/vo"
|
"ems.agt/src/framework/vo"
|
||||||
|
"golang.org/x/text/language"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"github.com/gin-gonic/gin/binding"
|
"github.com/gin-gonic/gin/binding"
|
||||||
@@ -95,6 +96,20 @@ func UaOsBrowser(c *gin.Context) (string, string) {
|
|||||||
return os, browser
|
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 登录用户信息
|
// LoginUser 登录用户信息
|
||||||
func LoginUser(c *gin.Context) (vo.LoginUser, error) {
|
func LoginUser(c *gin.Context) (vo.LoginUser, error) {
|
||||||
value, exists := c.Get(common.CTX_LOGIN_USER)
|
value, exists := c.Get(common.CTX_LOGIN_USER)
|
||||||
|
|||||||
Reference in New Issue
Block a user