From 76d0783f6f9d5833304824844821f8ecd6031a95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E7=A5=A5=E8=B6=85?= Date: Tue, 12 Dec 2023 22:39:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=87=E6=8D=A2=E8=AF=AD=E8=A8=80=E6=97=B6?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E8=AF=AD=E8=A8=80=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/configloaders/admin_module.go | 11 +++++++++++ .../web/actions/default/settings/lang/switch.go | 16 +++++++++------- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/internal/configloaders/admin_module.go b/internal/configloaders/admin_module.go index 90e508de..94684360 100644 --- a/internal/configloaders/admin_module.go +++ b/internal/configloaders/admin_module.go @@ -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() diff --git a/internal/web/actions/default/settings/lang/switch.go b/internal/web/actions/default/settings/lang/switch.go index 008ff7a4..132e4928 100644 --- a/internal/web/actions/default/settings/lang/switch.go +++ b/internal/web/actions/default/settings/lang/switch.go @@ -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() }