فهرست منبع

教师登陆返回教室

CrazyIter_Bin 4 سال پیش
والد
کامیت
c2dc752b9e

+ 4 - 1
TEAMModelOS.SDK/Models/Cosmos/School/Class.cs

@@ -52,7 +52,10 @@ namespace TEAMModelOS.SDK.Models
         /// </summary>
         //public string style { get; set; }
         public int status { get; set; } = 1;        
-       
+        /// <summary>
+        /// 关联教室的id
+        /// </summary>
+        public string room { get; set; }
         /// <summary>
         /// 教室属性,普通 /专设的教室
         /// </summary>

+ 6 - 6
TEAMModelOS/ClientApp/package.json

@@ -34,23 +34,23 @@
 		"firestore": "^1.1.6",
 		"html2canvas": "^1.0.0-rc.7",
 		"imports-loader": "^0.8.0",
-		"jspdf": "^2.3.1",
-		"print-js": "^1.6.0",
-		"snapsvg": "^0.5.1",
 		"increase-memory-limit": "^1.0.7",
 		"js-sha1": "^0.6.0",
 		"json-markup": "^1.1.3",
-		"jsonpath": "^1.0.2",
+		"jsonpath": "^1.1.1",
+		"jspdf": "^2.3.1",
 		"jszip": "^3.4.0",
 		"jwt-decode": "^2.2.0",
 		"konva": "^7.1.1",
 		"less": "^3.9.0",
-		"lodash": "^4.17.20",
+		"lodash": "^4.17.21",
 		"mockjs": "^1.0.1-beta3",
 		"mux.js": "^5.11.0",
 		"node-fetch": "^2.6.1",
 		"oidc-client": "^1.9.1",
+		"print-js": "^1.6.0",
 		"qrcodejs2": "0.0.2",
+		"snapsvg": "^0.5.1",
 		"svg-sprite-loader": "^5.0.0",
 		"unsplash-js": "^6.0.0",
 		"v-calendar": "^1.0.8",
@@ -111,7 +111,7 @@
 		"@vue/cli-plugin-eslint": "^4.0.0",
 		"@vue/cli-plugin-router": "^4.0.4",
 		"@vue/cli-plugin-vuex": "^4.0.4",
-		"@vue/cli-service": "^4.0.0",
+		"@vue/cli-service": "^4.5.13",
 		"aspnet-webpack": "^3.0.0",
 		"autoprefixer": "^9.6.5",
 		"babel-eslint": "^10.0.1",

+ 0 - 2
TEAMModelOS/Controllers/School/RoomController.cs

@@ -40,7 +40,6 @@ namespace TEAMModelOS.Controllers
         //[AuthToken(Roles = "Teacher")]
         [HttpPost("upsert")]
         public async ValueTask<IActionResult> Upsert(Room request) {
-
             try
             {
                 var client = _azureCosmos.GetCosmosClient();
@@ -49,7 +48,6 @@ namespace TEAMModelOS.Controllers
                 request.ttl = -1;
                 if (string.IsNullOrEmpty(request.id))
                 {
-
                     request.id = Guid.NewGuid().ToString();
                     request = await client.GetContainer("TEAMModelOS", "School").CreateItemAsync(request, new PartitionKey($"{request.code}"));
                 }

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

@@ -17,6 +17,7 @@ using TEAMModelOS.SDK.Models;
 using TEAMModelOS.SDK.DI;
 using TEAMModelOS.SDK.Extension;
 using TEAMModelOS.Filter;
+using TEAMModelOS.SDK.Models.Cosmos;
 
 namespace TEAMModelOS.Controllers
 {
@@ -234,7 +235,7 @@ namespace TEAMModelOS.Controllers
                 school_base = json.RootElement.ToObject<object>();                
             }
 
-            //取得教室
+            //取得班级
             List<object> school_classes = new List<object>();
             await foreach (var item in client.GetContainer("TEAMModelOS", "School").GetItemQueryStreamIterator(queryText: $"SELECT c.id,c.x,c.y,c.name,c.teacher,c.periodId,c.gradeId,c.sn,c.no,c.style,c.status,c.openType,c.scope, ARRAY_LENGTH(c.students) AS studCount FROM c", requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Class-{school_code}") }))
             {
@@ -244,6 +245,13 @@ namespace TEAMModelOS.Controllers
                     school_classes.Add(classeinfo.ToObject<object>());
                 }
             }
+            //取得教室
+            List<Room> school_rooms = new List<Room>();
+            await foreach (var item in client.GetContainer("TEAMModelOS", "School").GetItemQueryIterator<Room>(queryText: $"select value(c) from c ",
+            requestOptions: new QueryRequestOptions() { PartitionKey = new Azure.Cosmos.PartitionKey($"Room-{school_code}") }))
+            {
+                school_rooms.Add(item);
+            }
             //List<object> periods = new List<object>();
             //List<object> grades = new List<object>();
             //var responsesch = await client.GetContainer("TEAMModelOS", "School").ReadItemStreamAsync(school_code.ToString(), new PartitionKey($"Base"));
@@ -347,7 +355,7 @@ namespace TEAMModelOS.Controllers
             await container.CreateIfNotExistsAsync(PublicAccessType.None); //嘗試創建School容器,如存在則不做任何事,保障容器一定存在
             var (blob_uri, blob_sas) = (roles.Contains("admin") || permissions.Contains("schoolAc-upd")) ? _azureStorage.GetBlobContainerSAS(school_code_blob, BlobContainerSasPermissions.Write | BlobContainerSasPermissions.Read | BlobContainerSasPermissions.List) : _azureStorage.GetBlobContainerSAS(school_code_blob, BlobContainerSasPermissions.Read | BlobContainerSasPermissions.List);
 
-            return Ok(new { auth_token, blob_uri, blob_sas, school_base, school_courses, school_syllabus, school_classes });
+            return Ok(new { auth_token, blob_uri, blob_sas, school_base, school_courses, school_syllabus, school_classes , school_rooms });
         }
 
         [ProducesDefaultResponseType]