Selaa lähdekoodia

修改多语言问题

gcj 3 vuotta sitten
vanhempi
commit
67888bbe17

+ 1 - 1
src/components/Personalcenter/OrderManage.vue

@@ -495,7 +495,7 @@ export default {
         id: id,
       };
       getLearnWebContent(MethodName, data).then((res) => {
-        _this.$message.success("删除成功");
+        _this.$message.success(this.$t("Key532"));
         _this.handleSelect(this.activeIndex);
       });
     },

+ 1 - 1
src/components/common/Header.vue

@@ -86,7 +86,7 @@
 
 <script>
 import { mapGetters } from "vuex";
-import { getToken, removeToken, getConfig } from "@/utils/auth";
+import { getToken, setToken, removeToken, getConfig } from "@/utils/auth";
 import { getContent, getStaticContent, getLearnWebContent } from "@/api/ajax";
 import { setI18nLang } from "@/utils/i18n";
 import { saveSession, getSession, removeSession } from "@/utils/role";

+ 17 - 2
src/store/modules/lang.js

@@ -1,13 +1,28 @@
-import Cookies from 'js-cookie';
 import { getContent } from '@/api/ajax';
+import { getToken, setToken } from "@/utils/auth";
+
+let locale = 'ZH';
+if (getToken()) {
+  const user = JSON.parse(getToken());
+  let language_type = user.language_type;
+  locale = language_type || localStorage.getItem('language_type') || "ZH";
+} else {
+  locale = localStorage.getItem('language_type') || "ZH";
+}
 
 const state = {
-  language_type: localStorage.getItem('language_type') || 'ZH'
+  language_type: locale
 }
 
 const mutations = {
   SET_UPDATE_LANGUAGE_TYPE: (state, language_type) => {
     localStorage.setItem('language_type', language_type);
+    let userInfor = getToken();
+    if (userInfor) {
+      userInfor = JSON.parse(getToken());
+      userInfor.language_type = language_type;
+      setToken(userInfor);
+    }
     state.language_type = language_type;
   },
 }

+ 10 - 1
src/utils/i18n.js

@@ -1,6 +1,7 @@
 import Vue from 'vue';
 import VueI18n from 'vue-i18n';
 import store from '../store';
+import { getToken } from '../utils/auth';
 import { getStaticContent } from '@/api/ajax';
 import ElementLocale from 'element-ui/lib/locale';
 import zhLocal from 'element-ui/lib/locale/lang/zh-CN';
@@ -11,8 +12,16 @@ import deLocal from 'element-ui/lib/locale/lang/de';
 import ruLocal from 'element-ui/lib/locale/lang/ru-RU';
 
 Vue.use(VueI18n);
+let locale = 'ZH';
+if (getToken()) {
+  const user = JSON.parse(getToken());
+  let language_type = user.language_type;
+  locale = language_type || localStorage.getItem('language_type') || "ZH";
+} else {
+  locale = localStorage.getItem('language_type') || "ZH";
+}
 const i18n = new VueI18n({
-  locale: localStorage.getItem('language_type') || 'ZH',//store.getters.language_type,
+  locale: locale,//store.getters.language_type,
   messages: {
     ZH: {
       ...zhLocal