Browse Source

Merge branch 'develop-rc' into develop

HiITEdenX 2 years ago
parent
commit
147a742838

+ 10 - 0
TEAMModelOS/ClientApp/src/access/login.js

@@ -17,6 +17,16 @@ export default {
 				let teacherInfo = await $api.login.getTeacherInfo({ id_token: id_token })
 				localStorage.setItem("auth_token", teacherInfo.auth_token)
 				localStorage.setItem("location", teacherInfo.location)
+				console.error(teacherInfo.lang)
+				if (teacherInfo.lang) {
+					app.$tools.changeLang(teacherInfo.lang)
+					$store.commit("setLanguage", teacherInfo.lang);
+					if (localStorage.getItem("cloudSetting")) {
+						let setting = JSON.parse(localStorage.getItem("cloudSetting"));
+						setting.curLang = teacherInfo.lang
+						localStorage.setItem('cloudSetting', JSON.stringify(setting))
+					}
+				}
 				$store.dispatch('user/setUserProfile', teacherInfo)
 				// 检查老师是否加入了学校 再去设定需要去获取哪个学校的基础信息
 				let hasJoinSchool = teacherInfo.schools && teacherInfo.schools.length && teacherInfo.schools.find(i => i.status === 'join')

+ 22 - 1
TEAMModelOS/ClientApp/src/view/Home.vue

@@ -257,7 +257,24 @@ export default {
       localStorage.setItem('msgs', JSON.stringify(this.msgs))
       console.log('端外通知', this.msgs)
     },
+    isJSON(str) {
+      if (typeof str == 'string') {
+        try {
+          var obj = JSON.parse(str);
+          if (typeof obj == 'object' && obj) {
+            return true;
+          } else {
+            return false;
+          }
+        } catch (e) {
+          return false;
+        }
+      }
+    },
     getBodyJson(str) {
+      if (!this.isJSON(str)) {
+        return false
+      }
       let reg = /\\/g;
       //使用replace方法将全部匹配正则表达式的转义符替换为空
       let replaceAfter = str.replace(reg, '').replace(/=/g, ':');
@@ -291,7 +308,11 @@ export default {
           "receiver": userId
         }).then(res => {
           if (res.length) {
-            let needMsgs = res.filter(msg => msg.data && JSON.parse(this.getBodyJson(msg.data)).value.scope)
+            let needMsgs = res.filter(msg => {
+              let jsonStr = this.getBodyJson(msg.data)
+              let bodyJson = jsonStr ? JSON.parse(jsonStr) : false
+              return bodyJson && bodyJson.value.scope
+            })
             r(needMsgs)
           } else {
             r([])

+ 1 - 1
TEAMModelOS/ClientApp/src/view/settings/Index.vue

@@ -17,7 +17,7 @@
               <Option value="zh-tw">中文(繁體)</Option>
               <Option value="en-us">English</Option>
             </Select>
-            <Checkbox v-model="cloudSetting.isSystemLang" @on-change="onMenuStatusChange">{{ $t('settings.langCheck')}}</Checkbox>
+            <!-- <Checkbox v-model="cloudSetting.isSystemLang" @on-change="onMenuStatusChange">{{ $t('settings.langCheck')}}</Checkbox> -->
           </span>
         </div>
         <!-- <div class="normal-settings-item">