From e9c961b6ca042a65ce070d288f7425adedf253aa Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期四, 23 十一月 2023 17:18:54 +0800
Subject: [PATCH] 优化双语登出和字典

---
 ruoyi-admin/src/main/resources/i18n/messages_en_US.properties                                   |    5 +-
 ruoyi-admin/src/main/resources/i18n/messages.properties                                         |    3 +
 ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/LogoutSuccessHandlerImpl.java |   18 ++++++++
 ruoyi-admin/src/main/resources/i18n/messages_zh_CN.properties                                   |    2 +
 ruoyi-common/src/main/java/com/ruoyi/common/filter/MyI18nInterceptor.java                       |   33 ++++++++++------
 5 files changed, 44 insertions(+), 17 deletions(-)

diff --git a/ruoyi-admin/src/main/resources/i18n/messages.properties b/ruoyi-admin/src/main/resources/i18n/messages.properties
index 92311d1..c3bf526 100644
--- a/ruoyi-admin/src/main/resources/i18n/messages.properties
+++ b/ruoyi-admin/src/main/resources/i18n/messages.properties
@@ -81,7 +81,6 @@
 menu.mqQueue=mq\u961F\u5217
 menu.minio=minio\u5B58\u50A8
 menu.minioEvent=\u5B58\u50A8\u4E8B\u4EF6
-menu.minioEventQuery=\u5B58\u50A8\u4E8B\u4EF6\u67E5\u8BE2
 menu.sysApi=\u7CFB\u7EDF\u63A5\u53E3
 menu.tiles3d=\u4E09\u7EF4\u5B9E\u666F
 
@@ -156,6 +155,7 @@
 dic.data.sys.oper.type.force.out=\u5F3A\u9000
 dic.data.sys.oper.type.gen=\u751F\u6210\u4EE3\u7801
 dic.data.sys.oper.type.clear=\u6E05\u7A7A\u6570\u636E
+dic.data.sys.oper.type.control=\u63A7\u5236
 dic.data.sys.common.status.success=\u6210\u529F
 dic.data.sys.common.status.fail=\u6210\u529F
 dic.data.camera.type.samll.camera=\u5C0F\u5149\u7535
@@ -183,6 +183,7 @@
 dic.data.cameras.priority.user1=\u7528\u6237\u4E00\u7EA7
 dic.data.cameras.priority.user2=\u7528\u6237\u4E8C\u7EA7
 dic.data.cameras.priority.user3=\u7528\u6237\u4E09\u7EA7
+dic.data.cameras.priority.user4=\u7528\u6237\u56DB\u7EA7
 dic.data.cameras.priority.sys.app.onekey=sys_app_onekey
 dic.data.cameras.priority.sys.access.control=sys_access_control
 dic.data.cameras.priority.sys.external=sys_external
diff --git a/ruoyi-admin/src/main/resources/i18n/messages_en_US.properties b/ruoyi-admin/src/main/resources/i18n/messages_en_US.properties
index c7a163f..9fb30c5 100644
--- a/ruoyi-admin/src/main/resources/i18n/messages_en_US.properties
+++ b/ruoyi-admin/src/main/resources/i18n/messages_en_US.properties
@@ -98,8 +98,8 @@
 menu.accountUnlock=accountUnlock
 menu.batchForceOut=batchForceOut
 menu.singleForceOut=singleForceOut
-menu.codePreview=preview
-menu.codeGen=generator
+menu.preview=preview
+menu.generator=generator
 menu.query=query
 menu.add=add
 menu.edit=edit
@@ -163,6 +163,7 @@
 dic.data.sys.oper.type.force.out=forceLogout
 dic.data.sys.oper.type.gen=genCode
 dic.data.sys.oper.type.clear=clear
+dic.data.sys.oper.type.control=control
 dic.data.sys.common.status.success=success
 dic.data.sys.common.status.fail=fail
 dic.data.camera.type.samll.camera=samll
diff --git a/ruoyi-admin/src/main/resources/i18n/messages_zh_CN.properties b/ruoyi-admin/src/main/resources/i18n/messages_zh_CN.properties
index 4338b05..be74d93 100644
--- a/ruoyi-admin/src/main/resources/i18n/messages_zh_CN.properties
+++ b/ruoyi-admin/src/main/resources/i18n/messages_zh_CN.properties
@@ -161,6 +161,7 @@
 dic.data.sys.oper.type.force.out=\u5F3A\u9000
 dic.data.sys.oper.type.gen=\u751F\u6210\u4EE3\u7801
 dic.data.sys.oper.type.clear=\u6E05\u7A7A\u6570\u636E
+dic.data.sys.oper.type.control=\u63A7\u5236
 dic.data.sys.common.status.success=\u6210\u529F
 dic.data.sys.common.status.fail=\u6210\u529F
 dic.data.camera.type.samll.camera=\u5C0F\u5149\u7535
@@ -188,6 +189,7 @@
 dic.data.cameras.priority.user1=\u7528\u6237\u4E00\u7EA7
 dic.data.cameras.priority.user2=\u7528\u6237\u4E8C\u7EA7
 dic.data.cameras.priority.user3=\u7528\u6237\u4E09\u7EA7
+dic.data.cameras.priority.user4=\u7528\u6237\u56DB\u7EA7
 dic.data.cameras.priority.sys.app.onekey=sys_app_onekey
 dic.data.cameras.priority.sys.access.control=sys_access_control
 dic.data.cameras.priority.sys.external=sys_external
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/filter/MyI18nInterceptor.java b/ruoyi-common/src/main/java/com/ruoyi/common/filter/MyI18nInterceptor.java
index c8d828c..f134600 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/filter/MyI18nInterceptor.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/filter/MyI18nInterceptor.java
@@ -13,20 +13,27 @@
 public class MyI18nInterceptor implements HandlerInterceptor {
 
     @Override
-    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
-        final String key = "language";
-        //String language = "en_US";
-        //String language = "zh_CN";
-        String language = request.getHeader(key);
-        if (language == null) {
-            //String language = "en_US";
-            language = "en_US";
+    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler){
+        try {
+            final String key = "language";
+            //String language = "en-US";
+            //String language = "zh-CN";
+            String language = request.getHeader(key);
+            if (language == null) {
+                //String language = "en-US";
+                language = "en-US";
+            }
+            // 鍓嶇浼犻�掔殑language蹇呴』鏄痾h-CN鏍煎紡鐨勶紝涓棿鐨刜蹇呴』瑕佸畬鏁达紝涓嶈兘鍙紶閫抸h鎴杄n
+            log.info("褰撳墠璇█={}", language);
+            Locale locale = new Locale(language.split("-")[0], language.split("-")[1]);
+            // 杩欐牱璧嬪�间互鍚庯紝MessageUtils.message鏂规硶灏变笉鐢ㄤ慨鏀逛簡
+            LocaleContextHolder.setLocale(locale);
         }
-        // 鍓嶇浼犻�掔殑language蹇呴』鏄痾h_CN鏍煎紡鐨勶紝涓棿鐨刜蹇呴』瑕佸畬鏁达紝涓嶈兘鍙紶閫抸h鎴杄n
-        log.debug("褰撳墠璇█={}", language);
-        Locale locale = new Locale(language.split("_")[0], language.split("_")[1]);
-        // 杩欐牱璧嬪�间互鍚庯紝MessageUtils.message鏂规硶灏变笉鐢ㄤ慨鏀逛簡
-        LocaleContextHolder.setLocale(locale);
+        catch (Exception ex)
+        {
+            log.error(ex.getMessage());
+            return false;
+        }
         return true;
     }
 
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/LogoutSuccessHandlerImpl.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/LogoutSuccessHandlerImpl.java
index c01f691..14874ba 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/LogoutSuccessHandlerImpl.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/LogoutSuccessHandlerImpl.java
@@ -1,11 +1,16 @@
 package com.ruoyi.framework.security.handle;
 
 import java.io.IOException;
+import java.util.Locale;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+
+import com.ruoyi.common.utils.MessageUtils;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.i18n.LocaleContextHolder;
 import org.springframework.security.core.Authentication;
 import org.springframework.security.web.authentication.logout.LogoutSuccessHandler;
 import com.alibaba.fastjson2.JSON;
@@ -23,6 +28,7 @@
  * 
  * @author ruoyi
  */
+@Slf4j
 @Configuration
 public class LogoutSuccessHandlerImpl implements LogoutSuccessHandler
 {
@@ -45,7 +51,17 @@
             // 鍒犻櫎鐢ㄦ埛缂撳瓨璁板綍
             tokenService.delLoginUser(loginUser.getToken());
             // 璁板綍鐢ㄦ埛閫�鍑烘棩蹇�
-            AsyncManager.me().execute(AsyncFactory.recordLogininfor(userName, Constants.LOGOUT, "閫�鍑烘垚鍔�"));
+            //鍥介檯鍖�
+            final String key = "language";
+            String language = request.getHeader(key);
+            if (language == null) {
+                //String language = "en-US";
+                language = "en-US";
+            }
+            log.info("褰撳墠璇█={}", language);
+            Locale locale = new Locale(language.split("-")[0], language.split("-")[1]);
+            LocaleContextHolder.setLocale(locale);
+            AsyncManager.me().execute(AsyncFactory.recordLogininfor(userName, Constants.LOGOUT,MessageUtils.message("user.logout.success")));
         }
         ServletUtils.renderString(response, JSON.toJSONString(AjaxResult.success("閫�鍑烘垚鍔�")));
     }

--
Gitblit v1.9.3