CrazyIter_Bin 1 năm trước cách đây
mục cha
commit
613025f414

+ 10 - 8
TEAMModelOS.SDK/Models/Service/Common/TeacherService.cs

@@ -279,14 +279,16 @@ namespace TEAMModelOS.Services
                         {
                             access = 1;
                         }
-                        var container = _azureStorage.GetBlobContainerClient(area?.id);
-                        await container.CreateIfNotExistsAsync(PublicAccessType.None); //嘗試創建Teacher私有容器,如存在則不做任何事,保障容器一定存在
-                        var blobArea=  _azureStorage.GetBlobContainerSAS(area?.id, blobContainerSasPermissions: BlobContainerSasPermissions.Write | BlobContainerSasPermissions.Read | BlobContainerSasPermissions.List | BlobContainerSasPermissions.Delete);
-                        //if (setting != null)
-                        //{
-                        //    setting.accessConfig = null;
-                        //}
-                        areas.Add(new AreaDto { sas= blobArea.sas,url =blobArea.uri ,areaId = area?.id, name = area?.name, standard = area?.standard, standardName = area?.standardName, setting = setting, access = access ,shortCode=area.shortCode});
+                        if (!string.IsNullOrWhiteSpace(area?.id)) {
+                            var container = _azureStorage.GetBlobContainerClient(area?.id);
+                            await container.CreateIfNotExistsAsync(PublicAccessType.None); //嘗試創建Teacher私有容器,如存在則不做任何事,保障容器一定存在
+                            var blobArea = _azureStorage.GetBlobContainerSAS(area?.id, blobContainerSasPermissions: BlobContainerSasPermissions.Write | BlobContainerSasPermissions.Read | BlobContainerSasPermissions.List | BlobContainerSasPermissions.Delete);
+                            //if (setting != null)
+                            //{
+                            //    setting.accessConfig = null;
+                            //}
+                            areas.Add(new AreaDto { sas= blobArea.sas, url =blobArea.uri, areaId = area?.id, name = area?.name, standard = area?.standard, standardName = area?.standardName, setting = setting, access = access, shortCode=area.shortCode });
+                        }
                     }
                 }
                 //处理导入时,在学校名单有该教师加入的,但是基本信息没有的 

+ 28 - 25
TEAMModelOS/Controllers/Client/AClassONEController.cs

@@ -148,34 +148,37 @@ namespace TEAMModelOS.Controllers
 #endif
         public async Task<IActionResult> GetTeacherInfo(JsonElement json)
         {
-            string head_lang = "";
-
-            if (HttpContext.Request.Headers.TryGetValue("lang", out var _lang))
-            {
-                head_lang = $"{_lang}";
-            }
-            if (!json.TryGetProperty("code", out JsonElement _code)) return BadRequest("code is null");
-            var phoneInfo = await GetWeChatPhoneNumber(_code.ToString());
-            if (phoneInfo.code==200)
-            {
-                string _mobile = phoneInfo.phone.phoneNumber;
-                var coreUser = await _coreAPIHttpService.GetUserInfo(new Dictionary<string, string> { { "key", $"{_mobile}" } }, _option.Location, _configuration);
-                if (coreUser != null && coreUser.id != null)
+            try {
+                string head_lang = "";
+                if (HttpContext.Request.Headers.TryGetValue("lang", out var _lang))
                 {
-                    (string ip, string region) = await LoginService.LoginIp(HttpContext, _searcher);
-                    Teacher teacher = null;
-                    TeacherInfo teacherInfo = await TeacherService.TeacherInfo(_azureCosmos, teacher, $"{coreUser.name}", $"{coreUser.picture}", coreUser.id, _azureStorage, _option, _azureRedis, ip, _httpTrigger, $"{_lang}");
-                    return Ok(new
+                    head_lang = $"{_lang}";
+                }
+                if (!json.TryGetProperty("code", out JsonElement _code)) return BadRequest("code is null");
+                var phoneInfo = await GetWeChatPhoneNumber(_code.ToString());
+                //phoneInfo.code=200;
+                if (phoneInfo.code==200)
+                {
+                     string _mobile = phoneInfo.phone.phoneNumber;
+                    //string _mobile = "18281911681";
+                    var coreUser = await _coreAPIHttpService.GetUserInfo(new Dictionary<string, string> { { "key", $"{_mobile}" } }, _option.Location, _configuration);
+                    if (coreUser != null && coreUser.id != null)
                     {
-                        teacherInfo.auth_token,
-                        teacherInfo.blob_uri,
-                        teacherInfo.blob_sas,
-                        teacherInfo.schools,
-                        teacherInfo.defaultschool,
-                    });
+                        (string ip, string region) = await LoginService.LoginIp(HttpContext, _searcher);
+                        Teacher teacher = null;
+                        TeacherInfo teacherInfo = await TeacherService.TeacherInfo(_azureCosmos, teacher, $"{coreUser.name}", $"{coreUser.picture}", coreUser.id, _azureStorage, _option, _azureRedis, ip, _httpTrigger, $"{_lang}");
+                        return Ok(new
+                        {
+                            teacherInfo.auth_token,
+                            teacherInfo.blob_uri,
+                            teacherInfo.blob_sas,
+                            teacherInfo.schools,
+                            teacherInfo.defaultschool,
+                        });
+                    }
+                    else return Ok(new { state = 404, msg = "未找到关联账号" });
                 }
-                else return Ok(new { state = 404, msg = "未找到关联账号" });
-            }
+            } catch (Exception ex) { }
             return Ok();
         }
         /// <summary>

+ 5 - 2
TEAMModelOS/Controllers/System/BlobController.cs

@@ -76,13 +76,16 @@ namespace TEAMModelOS.Controllers
         [Authorize(Roles = "IES")]
         [AuthToken(Roles = "teacher,admin,business")]
         [RequestSizeLimit(102_400_000_00)] //最大10000m左右
-        public async Task<IActionResult> PublicUpload([FromForm] IFormFile file)
+        public async Task<IActionResult> PublicUpload([FromForm] IFormFile file,[FromForm]string path )
         {
             var (id, _, _, school) = HttpContext.GetAuthTokenInfo();
             string fileExt = FileType.GetExtention(file.FileName).ToLower();
+            if (string.IsNullOrWhiteSpace(path)) {
+                path="school";
+            }
             if (ContentTypeDict.dict.ContainsKey($".{fileExt}"))
             {
-                var url = await _azureStorage.GetBlobContainerClient("0-public").UploadFileByContainer(file.OpenReadStream(), "school", $"{Guid.NewGuid()}.{fileExt}", false);
+                var url = await _azureStorage.GetBlobContainerClient("0-public").UploadFileByContainer(file.OpenReadStream(), path, $"{Guid.NewGuid()}.{fileExt}", false);
                 return Ok(new { url });
             }
             else {

+ 6 - 4
TEAMModelOS/Controllers/Teacher/InitController.cs

@@ -684,10 +684,12 @@ namespace TEAMModelOS.Controllers
                         //{
                         //    setting.accessConfig = null;
                         //}
-                        var containerArea= _azureStorage.GetBlobContainerClient(area?.id);
-                        await containerArea.CreateIfNotExistsAsync(PublicAccessType.None); //嘗試創建Teacher私有容器,如存在則不做任何事,保障容器一定存在
-                        var blobArea = _azureStorage.GetBlobContainerSAS(area?.id, blobContainerSasPermissions: BlobContainerSasPermissions.Write | BlobContainerSasPermissions.Read | BlobContainerSasPermissions.List | BlobContainerSasPermissions.Delete);
-                        areas.Add(new AreaDto {sas=blobArea.sas, url=blobArea.uri,  shortCode=area?.shortCode, areaId = area?.id, name = area?.name, standard = area?.standard, standardName = area?.standardName, setting = setting, access = access });
+                        if (!string.IsNullOrWhiteSpace(area?.id)) {
+                            var containerArea = _azureStorage.GetBlobContainerClient(area?.id);
+                            await containerArea.CreateIfNotExistsAsync(PublicAccessType.None); //嘗試創建Teacher私有容器,如存在則不做任何事,保障容器一定存在
+                            var blobArea = _azureStorage.GetBlobContainerSAS(area?.id, blobContainerSasPermissions: BlobContainerSasPermissions.Write | BlobContainerSasPermissions.Read | BlobContainerSasPermissions.List | BlobContainerSasPermissions.Delete);
+                            areas.Add(new AreaDto { sas=blobArea.sas, url=blobArea.uri, shortCode=area?.shortCode, areaId = area?.id, name = area?.name, standard = area?.standard, standardName = area?.standardName, setting = setting, access = access });
+                        }
                     }
                 }
                 if (school_code.Equals(teacher.defaultSchool) && teacher.schools.IsNotEmpty() && !teacher.schools.Select(x => x.schoolId).Contains(school_code))