Sfoglia il codice sorgente

pref 适配先阅后扫功能

Q 1 giorno fa
parent
commit
d59f236c20

+ 20 - 0
DaJiaoYan/Models/TestTemplate.cs

@@ -96,6 +96,13 @@ namespace DaJiaoYan.Models
         [JsonProperty(PropertyName = "version", NullValueHandling = NullValueHandling.Ignore)]
         public string Version { get; set; }
 
+
+        /// <summary>
+        /// 阅卷方式
+        /// </summary>
+        [JsonProperty(PropertyName = "marking_mode", NullValueHandling = NullValueHandling.Ignore)]
+        public int MarkingMode { get; set; }
+
         //[JsonProperty(PropertyName = "Version", NullValueHandling = NullValueHandling.Ignore), JsonConverter(typeof(StringEnumConverter))]
         /// <summary>
         /// 当前模版信息
@@ -119,5 +126,18 @@ namespace DaJiaoYan.Models
 
         [JsonProperty(PropertyName = "answer_sheet")]
         public TestAnswerSheet[] AnswerSheets { get; set; }
+
+        /// <summary>
+        /// 是否在线阅卷
+        /// </summary>
+        /// <returns></returns>
+        public bool MarkingOnLine
+        {
+            get
+            {
+                return MarkingMode == 0;
+            }
+
+        }
     }
 }

+ 8 - 5
DaJiaoYan/Services/HttpHandlers.cs

@@ -8,6 +8,7 @@ using System.IO;
 using System.Linq;
 using System.Net;
 using System.Threading.Tasks;
+using static DaJiaoYan.Models.PartitionConfig;
 
 namespace DaJiaoYan.Services
 {
@@ -188,6 +189,8 @@ namespace DaJiaoYan.Services
             }
             else
             {
+
+                var divideConfig = await Api.GetDividePartitionConfig(param.TestId, param.Token);
                 if (param.Type == UploadHandlerPostParam.UploadType.Scan)
                 {
                     if (Scan.State == Scan.ScannerState.Running)
@@ -312,7 +315,7 @@ namespace DaJiaoYan.Services
                                 Scanner = scanner,
                                 ImageDpi = 200,
                                 ImageSuffix = "jpg",
-                                Colorful = param.MarkingType == UploadHandlerPostParam.MarkType.LocalMarking,
+                                Colorful = param.MarkingType == UploadHandlerPostParam.MarkType.LocalMarking || (divideConfig != null && !divideConfig.Template.MarkingOnLine),
                                 Path = path,
                                 CapXferCount = -1,
                                 OnScanBegin = (bool begin, string err) =>
@@ -385,7 +388,6 @@ namespace DaJiaoYan.Services
                 }
                 else
                 {
-                    var divideConfig = await Api.GetDividePartitionConfig(param.TestId, param.Token);
                     int answerSheetsLength = 2;
                     if (divideConfig != null)
                     {
@@ -431,13 +433,14 @@ namespace DaJiaoYan.Services
                                 {
                                     imageEncodingParam = Vars.IMAGE_SAVE_JPEG_PARAM;
                                 }
-                                if (scanResult.MarkingType == UploadHandlerPostParam.MarkType.OnlineMarking)
+
+                                if (scanResult.MarkingType == UploadHandlerPostParam.MarkType.LocalMarking || (divideConfig != null && !divideConfig.Template.MarkingOnLine))
                                 {
-                                    img = ImageUtils.Read(fn, ImreadModes.Grayscale);
+                                    img = ImageUtils.Read(fn);
                                 }
                                 else
                                 {
-                                    img = ImageUtils.Read(fn);
+                                    img = ImageUtils.Read(fn, ImreadModes.Grayscale);
                                 }
                                 if (img != null)
                                 {

+ 1 - 1
DaJiaoYan/Variables/Const.cs

@@ -7,7 +7,7 @@ namespace DaJiaoYan.Variables
         public const string APP_VERSION = "1.0.1";
         public const string APP_NAME = "com.marking.pc";
         public const string PLATFORM = "windows";
-        public const double APP_BUILD_VERSION = 20251030.01;
+        public const double APP_BUILD_VERSION = 20251209.01;
         public static readonly string APP_DEBUG_BUILD_VERSION = $"版本:{APP_BUILD_VERSION}";
         public const string APP_FORM_NAME = "大教研";
         public const string APP_SHOW_NAME = "大教研扫描服务";