Browse Source

1、新增条件编译:Simulation模拟条件编译,用于快速模拟测试环境定位问题;
2、ReportOnlineData接口对于上传的post字段重新映射名称;
3、修正Firepaly默认Checkbox未勾选的Bug.

JeffWang 2 years ago
parent
commit
2620254f48

+ 34 - 26
FactoryTool_CShare/Business/V2Method.cs

@@ -508,6 +508,19 @@ namespace MOKA_Factory_Tools
                 return true;
             };
 
+            Func<KeyData, JObject, string, bool> AddKeyJson2 = (keydata, jobj, name) =>
+            {
+                if (keydata == null || jobj == null || keydata.data == null)
+                    return false;
+
+                if (keydata.keyfrom == KEY_FROM.FROM_IDM && keydata.enable)
+                {
+                    jobj.Add(name, (JToken)keydata.data);
+                }
+
+                return true;
+            };
+
             try
             {
                 JObject postJson = new JObject();
@@ -517,32 +530,27 @@ namespace MOKA_Factory_Tools
 
                 if (keyinfo != null)
                 {
-                    AddKeyJson(keyinfo.MGK, postJson);
-                    AddKeyJson(keyinfo.Mac, postJson);
-                    AddKeyJson(keyinfo.HDCP, postJson);
-                    AddKeyJson(keyinfo.HDCP22, postJson);
-                    AddKeyJson(keyinfo.ESN, postJson);
-                    //AddKeyJson(keyinfo.WiDi, postJson);
-                    AddKeyJson(keyinfo.Widevine, postJson);
-                    AddKeyJson(keyinfo.CI_plus, postJson);
-                    AddKeyJson(keyinfo.Attestation, postJson);
-                    AddKeyJson(keyinfo.MGK, postJson);
-                    AddKeyJson(keyinfo.Fairplay, postJson);
-                    AddKeyJson(keyinfo.DSN, postJson);
-                    AddKeyJson(keyinfo.WiFi_MAC, postJson);
-                    AddKeyJson(keyinfo.BT_MAC, postJson);
-                    AddKeyJson(keyinfo.LEK, postJson);
-                    AddKeyJson(keyinfo.PEK, postJson);
-                    AddKeyJson(keyinfo.Playready, postJson);
-                    AddKeyJson(keyinfo.Hashkey, postJson);
-                    AddKeyJson(keyinfo.ECP, postJson);
-                    AddKeyJson(keyinfo.YouTube_KEY, postJson);
-                    AddKeyJson(keyinfo.EDIDPid, postJson);
-                    AddKeyJson(keyinfo.EDIDModelName, postJson);
-                    AddKeyJson(keyinfo.ACASKey_Data, postJson);
-                    //AddKeyJson(keyinfo.ACASKey_Tool, postJson);//内置
-                    AddKeyJson(keyinfo.DAK, postJson);
-                    //AddKeyJson(keyinfo.FVP, postJson);
+                    AddKeyJson2(keyinfo.DID, postJson, "deviceid");
+                    AddKeyJson2(keyinfo.Mac, postJson, "mac");
+                    AddKeyJson2(keyinfo.HDCP, postJson, "hdcpkey");
+                    AddKeyJson2(keyinfo.HDCP22, postJson, "hdcpkey2");
+                    AddKeyJson2(keyinfo.ESN, postJson, "netfilxesn");
+                    AddKeyJson2(keyinfo.Widevine, postJson, "widevine");
+                    AddKeyJson2(keyinfo.CI_plus, postJson, "cikey");
+                    AddKeyJson2(keyinfo.Attestation, postJson, "attestation");
+                    AddKeyJson2(keyinfo.MGK, postJson, "mgk");
+                    AddKeyJson2(keyinfo.Fairplay, postJson, "fairplay");
+                    AddKeyJson2(keyinfo.DSN, postJson, "dsn");
+                    AddKeyJson2(keyinfo.WiFi_MAC, postJson, "wifimac");
+                    AddKeyJson2(keyinfo.BT_MAC, postJson, "btmac");
+                    AddKeyJson2(keyinfo.LEK, postJson, "lek");
+                    AddKeyJson2(keyinfo.PEK, postJson, "pek");
+                    AddKeyJson2(keyinfo.Playready, postJson, "playready");
+                    AddKeyJson2(keyinfo.Hashkey, postJson, "hash");
+                    AddKeyJson2(keyinfo.ECP, postJson, "ecp");
+                    AddKeyJson2(keyinfo.YouTube_KEY, postJson, "youtubekey");
+                    AddKeyJson2(keyinfo.ACASKey_Data, postJson, "acas_data");
+                    AddKeyJson2(keyinfo.DAK, postJson, "dak");
                 }
 
                 return postJson.ToString();

+ 11 - 1
FactoryTool_CShare/MOKA Factory Tools.csproj

@@ -36,7 +36,7 @@
     <DebugType>full</DebugType>
     <Optimize>false</Optimize>
     <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DefineConstants>TRACE;DEBUG</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
     <Prefer32Bit>true</Prefer32Bit>
@@ -60,6 +60,16 @@
   <PropertyGroup>
     <ApplicationManifest>app.manifest</ApplicationManifest>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Simulation|AnyCPU'">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\Simulation\</OutputPath>
+    <DefineConstants>TRACE;DEBUG;SIMULATION</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <LangVersion>8.0</LangVersion>
+    <ErrorReport>prompt</ErrorReport>
+    <Prefer32Bit>true</Prefer32Bit>
+  </PropertyGroup>
   <ItemGroup>
     <Reference Include="CSkin, Version=16.1.14.3, Culture=neutral, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>

+ 5 - 2
FactoryTool_CShare/SCBC Factory Tools.sln

@@ -1,7 +1,7 @@
 
 Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 16
-VisualStudioVersion = 16.0.29324.140
+# Visual Studio Version 17
+VisualStudioVersion = 17.1.32328.378
 MinimumVisualStudioVersion = 10.0.40219.1
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MOKA Factory Tools", "MOKA Factory Tools.csproj", "{865D604D-3E42-401A-9E5D-AAC9D517A04C}"
 EndProject
@@ -9,12 +9,15 @@ Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
 		Release|Any CPU = Release|Any CPU
+		Simulation|Any CPU = Simulation|Any CPU
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
 		{865D604D-3E42-401A-9E5D-AAC9D517A04C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{865D604D-3E42-401A-9E5D-AAC9D517A04C}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{865D604D-3E42-401A-9E5D-AAC9D517A04C}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{865D604D-3E42-401A-9E5D-AAC9D517A04C}.Release|Any CPU.Build.0 = Release|Any CPU
+		{865D604D-3E42-401A-9E5D-AAC9D517A04C}.Simulation|Any CPU.ActiveCfg = Simulation|Any CPU
+		{865D604D-3E42-401A-9E5D-AAC9D517A04C}.Simulation|Any CPU.Build.0 = Simulation|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

+ 29 - 18
FactoryTool_CShare/Views/OperationPanel.cs

@@ -692,6 +692,9 @@ namespace MOKA_Factory_Tools
                 ProjectIDText.Text = MidAddressNow.pid;
             }
             SNText.Text = "";
+#if SIMULATION
+            SNText.Text = "test0205002yi";
+#endif
             SNTextFocus = new Thread(TextBoxFocus);
             SNTextFocus.Start();
             SNText.Focus();
@@ -1714,6 +1717,7 @@ namespace MOKA_Factory_Tools
             string ErrMsg = "";
             string psn = "";
             string devicecode = "";
+#if !SIMULATION
             //进工厂
             if (!TVPort.IsOpen)
             {
@@ -1746,6 +1750,7 @@ namespace MOKA_Factory_Tools
                 ShowVerifyDelegate(ErrMsg);
                 goto stop;
             }
+#endif
 
             //烧录SN
             if (WritePSN.Checked)
@@ -2163,6 +2168,7 @@ namespace MOKA_Factory_Tools
                 // 只用一个接口获取所有Key;             
                 if ( midListNow.keytype.ContainsKey("DSN") )
                 {
+#if !SIMULATION
                     // 读取dvicecode
                     if (SerialCMD.GetFireTVDevcieCode(TVPort, out result, out data, out error, SerailDelay))
                     {
@@ -2192,6 +2198,10 @@ namespace MOKA_Factory_Tools
                         Log.WriteErrorLog(ErrMsg);
                         goto end;
                     }
+#else
+                    devicecode = "G9V2GV0123260000";
+                    psn = keyInfo._PSN.data = "B22013921-0B00018";
+#endif
                 }
 
                 // 部分订单无key,只有Roku信息;
@@ -2221,7 +2231,7 @@ namespace MOKA_Factory_Tools
                     }
                 }
 
-                #region EDID屏抄写是从MID中获取值;
+#region EDID屏抄写是从MID中获取值;
                 if (WriteEDIDPID.Checked)
                 {
                     keyInfo.EDIDPid.data = midListNow.keytype["edid_pid"];
@@ -2230,12 +2240,12 @@ namespace MOKA_Factory_Tools
                 {
                     keyInfo.EDIDModelName.data = midListNow.keytype["edid_model_name"];
                 }
-                #endregion
+#endregion
                 watch.Stop();
                 Log.WriteInfoLog(string.Format("Get All Keys Elapsed={0}", watch.Elapsed.TotalMilliseconds));
             }
 
-            #region 小米FireTV功能启用;
+#region 小米FireTV功能启用;
             if (FunctionSettingNow.MITVEnable)
             {
                 // 获取Key;
@@ -2291,9 +2301,10 @@ namespace MOKA_Factory_Tools
                     SetCheckboxStatus(WriteWifiMac, false);
                 }
             }
-            #endregion
+#endregion
 
-            #region 开始抄写;
+#if !SIMULATION
+#region 开始抄写;
             // 如果是抄写EDID,则不获取白平衡数据;
             if (CommonMethod.IsEDIDCopy(midListNow))
             {
@@ -3501,7 +3512,7 @@ namespace MOKA_Factory_Tools
             }
 
 
-            #region FVP激活-放在Hash key抄写之后,应用于所有FireTV项目-已通过郁沛确认;
+#region FVP激活-放在Hash key抄写之后,应用于所有FireTV项目-已通过郁沛确认;
             if (WriteFVP.Checked)
             {
                 Log.WriteInfoLog("Activate FVP...");
@@ -3533,7 +3544,7 @@ namespace MOKA_Factory_Tools
                 // fvp没key内容;
                 //keyInfo.Hashkey.result = true;
             }
-            #endregion
+#endregion
 
             // Dolby Key抄写;
             if ( cfg_writecheck.DolbyCheckcheck )
@@ -4548,7 +4559,7 @@ namespace MOKA_Factory_Tools
                 keyInfo.DSN.result = true;
             }
 
-            #region 小米FireTV功能;
+#region 小米FireTV功能;
             if (FunctionSettingNow.MITVEnable)
             {
 #if true
@@ -4638,7 +4649,7 @@ namespace MOKA_Factory_Tools
                     }
                 }                
             }
-            #endregion
+#endregion
 
             // 生成IDM报文;
             keycontent = GenerateReportInfo();
@@ -4657,7 +4668,7 @@ namespace MOKA_Factory_Tools
                 }
             }
 
-            #region 波兰工厂DHA功能-抄写所有Key后执行Trigger和Check指令;
+#region 波兰工厂DHA功能-抄写所有Key后执行Trigger和Check指令;
             if (FunctionSettingNow.DHA == true)
             {
                 Log.WriteInfoLog("Start to Trigger DHA...");
@@ -4679,9 +4690,9 @@ namespace MOKA_Factory_Tools
                     goto end;
                 }
             }
-            #endregion
-            #endregion
-
+#endregion
+#endregion
+#endif
             //数据上传
             if (midListNow.host == "LocalPC" && !preloadNow)
             {// 离线抄写
@@ -4810,7 +4821,7 @@ namespace MOKA_Factory_Tools
                 }
             }
 
-            #region 小米FireTV功能;
+#region 小米FireTV功能;
             if (FunctionSettingNow.MITVEnable)
             {
                 if (!ReportMIInfo(out error))
@@ -4821,7 +4832,7 @@ namespace MOKA_Factory_Tools
                     goto end;
                 }
             }
-            #endregion
+#endregion
 
             Thread.Sleep(FunctionSettingNow.Wait_after_completion);
             SetsuccessStatus(ResultStatus);
@@ -4833,7 +4844,7 @@ namespace MOKA_Factory_Tools
                 Log.WriteErrorLog(ErrMsg);
             }
 
-            #region 只有惠州工厂才启用G客户防呆措施;
+#region 只有惠州工厂才启用G客户防呆措施;
             if (FunctionSettingNow.NTF)
             {
                 string strLastResult = "";
@@ -4919,7 +4930,7 @@ namespace MOKA_Factory_Tools
                     GMethod.GeneratKaylaData(FunctionSettingNow.Line, FunctionSettingNow.Station, OrderText.Text, SN, startTime, DateTime.Now, returnObject, keyInfo, TestResult != 0 ? true : false);
                 }
             }
-            #endregion
+#endregion
 
             if (TestResult == 0)
             {
@@ -5178,7 +5189,7 @@ namespace MOKA_Factory_Tools
             keyInfo.DAK.enable = WriteDAK.Checked = (WriteDAK.Checked && m_writeDAK.Text != LResource.Skip);
             keyInfo.FVP.enable = WriteFVP.Checked = (WriteFVP.Checked && m_writeFVP.Text != LResource.Skip);
             keyInfo.DSN.enable = WriteDSN.Checked = (WriteDSN.Checked && m_writeDSN.Text != LResource.Skip);
-            //keyInfo.Dolby.enable = WriteDolby.Checked = (WriteDolby.Checked && m_writeDolby.Text != LResource.Skip);
+            keyInfo.Fairplay.enable = WriteFairplay.Checked = (WriteFairplay.Checked && m_writeFairplay.Text != LResource.Skip);
 
             bool preloadresult = false;