diff --git a/cclqms-java/src/main/resources/mapper/language/SysLanguageListDao.xml b/cclqms-java/src/main/resources/mapper/language/SysLanguageListDao.xml
index b8f4b2c..412dde7 100644
--- a/cclqms-java/src/main/resources/mapper/language/SysLanguageListDao.xml
+++ b/cclqms-java/src/main/resources/mapper/language/SysLanguageListDao.xml
@@ -10,6 +10,10 @@
FROM
sys_language_list sl
LEFT JOIN sys_object_language_list sol on (sol.language_id = sl.language_id)
- WHERE sol.language_code = #{languageCode}
+
+
+ sol.language_code = #{languageCode}
+
+
-
\ No newline at end of file
+
diff --git a/cclqms-vue/src/i18n/i18n.js b/cclqms-vue/src/i18n/i18n.js
index 125cc21..16c0b38 100644
--- a/cclqms-vue/src/i18n/i18n.js
+++ b/cclqms-vue/src/i18n/i18n.js
@@ -3,12 +3,24 @@ import Vue from 'vue'
Vue.use(VueI18n)
-const supportedLocales = ['cn', 'en']
-let locale = localStorage.getItem('locale') || 'cn'
-if (!supportedLocales.includes(locale)) {
- locale = 'cn'
- localStorage.setItem('locale', locale)
+
+const localeAliasMap = {
+ cn: 'cn',
+ 'zh-cn': 'cn',
+ 'zh_cn': 'cn',
+ en: 'en',
+ 'en-us': 'en',
+ 'en_us': 'en'
+}
+
+export function normalizeLocale (locale) {
+ const normalizedLocale = (locale || '').toString().trim().toLowerCase()
+ return localeAliasMap[normalizedLocale] || 'cn'
}
+
+const locale = normalizeLocale(localStorage.getItem('locale'))
+localStorage.setItem('locale', locale)
+
const i18n = new VueI18n({
locale: locale, // 语言标识
messages: {
diff --git a/cclqms-vue/src/router/index.js b/cclqms-vue/src/router/index.js
index 503540b..35f2991 100644
--- a/cclqms-vue/src/router/index.js
+++ b/cclqms-vue/src/router/index.js
@@ -9,7 +9,7 @@ import Router from 'vue-router'
import http from '@/utils/httpRequest'
import { isURL } from '@/utils/validate'
import { clearLoginInfo } from '@/utils'
-import i18n from '@/i18n/i18n'
+import i18n, { normalizeLocale } from '@/i18n/i18n'
Vue.use(Router)
@@ -64,11 +64,16 @@ router.beforeEach((to, from, next) => {
if (router.options.isAddDynamicMenuRoutes || fnCurrentRouteType(to, globalRoutes) === 'global') {
next()
} else {
+ const menuLocale = normalizeLocale(i18n.locale)
+ if (i18n.locale !== menuLocale) {
+ i18n.locale = menuLocale
+ localStorage.setItem('locale', menuLocale)
+ }
http({
url: http.adornUrl('/sys/menu/nav'),
method: 'get',
params: {
- 'l': i18n.locale, //i18n.locale
+ 'l': menuLocale,
menuType: "pc"
}
}).then(({data}) => {
diff --git a/cclqms-vue/src/views/common/login-new.vue b/cclqms-vue/src/views/common/login-new.vue
index 0dbf27e..fd5721a 100644
--- a/cclqms-vue/src/views/common/login-new.vue
+++ b/cclqms-vue/src/views/common/login-new.vue
@@ -73,6 +73,7 @@