CrazyIter_Bin 2 年之前
父節點
當前提交
ba15d9bca2

+ 3 - 2
TEAMModelOS.SDK/Models/Cosmos/Student/TmdUser.cs

@@ -13,11 +13,12 @@ namespace TEAMModelOS.SDK
         public string defaultSchool { get; set; }
         public List<School> schools { get; set; }
         /// <summary>
-        /// 保留当天的登录信息
+        /// 保留当天的登录信息
         /// </summary>
         public List<LoginInfo> loginInfos { get; set; } = new List<LoginInfo>();
+        public string lang { get; set; }
         /// <summary>
-        /// 创建时间 十位 时间戳
+        /// 创建时间 十位 时间戳
         /// </summary>
         public long createTime { get; set; }
         public class School

+ 1 - 0
TEAMModelOS.SDK/Models/Service/Common/TeacherService.cs

@@ -245,6 +245,7 @@ namespace TEAMModelOS.Services
                         size = 1,
                         defaultSchool = null,
                         schools = new List<Teacher.TeacherSchool>(),
+                        lang=lang
                     };
                     var container = _azureStorage.GetBlobContainerClient(id);
                     await container.CreateIfNotExistsAsync(PublicAccessType.None); //嘗試創建Teacher私有容器,如存在則不做任何事,保障容器一定存在

+ 2 - 0
TEAMModelOS/Controllers/Both/GroupListController.cs

@@ -102,6 +102,7 @@ namespace TEAMModelOS.Controllers
             var jwt = new JwtSecurityToken(id_token.GetString());
             var id = jwt.Payload.Sub;
             jwt.Payload.TryGetValue("name", out object name);
+            jwt.Payload.TryGetValue("lang", out object lang);
             jwt.Payload.TryGetValue("picture", out object picture);
             try
             {
@@ -123,6 +124,7 @@ namespace TEAMModelOS.Controllers
                         //创建账号并第一次登录IES5则默认赠送1G
                         defaultSchool = null,
                         schools = new List<TmdUser.School>(),
+                        lang= lang?.ToString(),
                     };
                     await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "Student").CreateItemAsync<TmdUser>(tmduser, new PartitionKey("Base"));
                 }

+ 1 - 0
TEAMModelOS/Controllers/Student/StudentController.cs

@@ -380,6 +380,7 @@ namespace TEAMModelOS.Controllers
             //權限token
             jwt.Payload.TryGetValue("name", out object _name);
             jwt.Payload.TryGetValue("picture", out object _picture);
+            jwt.Payload.TryGetValue("lang", out object _lang);
             (string ip, string region) = await LoginService.LoginIp(HttpContext, _searcher);
             School school = await schoolClient.ReadItemAsync<School>($"{school_code}", new PartitionKey("Base"));
             var response = await studentClient.ReadItemStreamAsync(id, new PartitionKey($"Base-{school_code.ToLower()}"));

+ 2 - 0
TEAMModelOS/Controllers/Teacher/InitController.cs

@@ -428,6 +428,8 @@ namespace TEAMModelOS.Controllers
             var id = jwt.Payload.Sub;
             jwt.Payload.TryGetValue("name", out object name);
             jwt.Payload.TryGetValue("picture", out object picture);
+            jwt.Payload.TryGetValue("lang", out object _jwtlang);
+            head_lang = !string.IsNullOrWhiteSpace($"{_jwtlang}") ? $"{_jwtlang}" : head_lang;
             (string ip, string region) = await LoginService.LoginIp(HttpContext, _searcher);
             try
             {