切换语言时保存语言设置

This commit is contained in:
刘祥超
2023-12-12 22:39:42 +08:00
parent fc6a0e9813
commit 76d0783f6f
2 changed files with 20 additions and 7 deletions

View File

@@ -174,6 +174,17 @@ func FindAdminLang(adminId int64) string {
return ""
}
// UpdateAdminLang 修改某个管理员选择的语言
func UpdateAdminLang(adminId int64, langCode string) {
locker.Lock()
defer locker.Unlock()
list, ok := sharedAdminModuleMapping[adminId]
if ok {
list.Lang = langCode
}
}
func FindAdminLangForAction(actionPtr actions.ActionWrapper) (langCode langs.LangCode) {
locker.Lock()
defer locker.Unlock()

View File

@@ -3,8 +3,9 @@
package lang
import (
"github.com/TeaOSLab/EdgeAdmin/internal/configloaders"
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
"net/http"
"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
)
type SwitchAction struct {
@@ -23,12 +24,13 @@ func (this *SwitchAction) RunPost(params struct{}) {
langCode = "zh-cn"
}
this.AddCookie(&http.Cookie{
Name: "edgelang",
Value: langCode,
Path: "/",
MaxAge: 86400 * 365,
})
configloaders.UpdateAdminLang(this.AdminId(), langCode)
_, err := this.RPC().AdminRPC().UpdateAdminLang(this.AdminContext(), &pb.UpdateAdminLangRequest{LangCode: langCode})
if err != nil {
this.ErrorPage(err)
return
}
this.Success()
}