Jelajahi Sumber

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

JeffWang 2 tahun lalu
induk
melakukan
161a31e77b

+ 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

+ 30 - 158
FactoryTool_CShare/Views/OperationPanel.cs

@@ -696,6 +696,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();
@@ -1703,6 +1706,9 @@ namespace MOKA_Factory_Tools
             string error = "";
             // 报错信息;
             string ErrMsg = "";
+            string psn = "";
+            string devicecode = "";
+#if !SIMULATION
             //进工厂
             if (!TVPort.IsOpen)
             {
@@ -1735,6 +1741,7 @@ namespace MOKA_Factory_Tools
                 ShowVerifyDelegate(ErrMsg);
                 goto stop;
             }
+#endif
 
             //烧录SN
             if (WritePSN.Checked)
@@ -2151,7 +2158,9 @@ namespace MOKA_Factory_Tools
                 watch.Start();
                 if (WriteDID.Checked)
                 {
-                    if (CommonMethod.GetKeys(midListNow.host, "DeviceID", SN, "devicetype=tcl_unknown_model", errorDBNow, out string did, out error, orderNow, out string md5))
+#if !SIMULATION
+                    // 读取dvicecode
+                    if (SerialCMD.GetFireTVDevcieCode(TVPort, out result, out data, out error, SerailDelay))
                     {
                         keyInfo.DID.data = did;
                         Log.WriteGetKeyLog("\r\nDeviceID=" + keyInfo.DID);
@@ -2277,6 +2286,10 @@ namespace MOKA_Factory_Tools
                         Log.WriteErrorLog(ErrMsg);
                         goto end;
                     }
+#else
+                    devicecode = "G9V2GV0123260000";
+                    psn = keyInfo._PSN.data = "B22013921-0B00018";
+#endif
                 }
                 if (WriteMGK.Checked && midListNow.keytype.ContainsKey("MGK_KEY"))
                 {
@@ -2307,119 +2320,9 @@ namespace MOKA_Factory_Tools
                         goto end;
                     }
                 }
-                if (WriteWifiMac.Checked && midListNow.keytype.ContainsKey("MAC"))
-                {
-                    if (CommonMethod.GetKeys(midListNow.host, "MAC", "WiFi_MAC" + SN, midListNow.keytype["MAC"], errorDBNow, out string mac, out error, orderNow, out string md5))
-                    {
-                        keyInfo.WiFi_MAC.data = mac;
-                        Log.WriteGetKeyLog("\r\nWiFi_MAC=" + keyInfo.WiFi_MAC);
-                    }
-                    else
-                    {
-                        ErrMsg = String.Format("{0}\r\n{1}", LResource.GetMacError, error);
-                        Log.WriteErrorLog(ErrMsg);
-                        goto end;
-                    }
-                }
-                if (WriteBTMac.Checked && midListNow.keytype.ContainsKey("MAC"))
-                {
-                    if (CommonMethod.GetKeys(midListNow.host, "MAC", "BT_MAC" + SN, midListNow.keytype["MAC"], errorDBNow, out string mac, out error, orderNow, out string md5))
-                    {
-                        keyInfo.BT_MAC.data = mac;
-                        Log.WriteGetKeyLog("\r\nBT_MAC=" + keyInfo.BT_MAC);
-                    }
-                    else
-                    {
-                        ErrMsg = String.Format("{0}\r\n{1}", LResource.GetMacError, error);
-                        Log.WriteErrorLog(ErrMsg);
-                        goto end;
-                    }
-                }
-                if (WriteECP.Checked && midListNow.keytype.ContainsKey("ECP_KEY"))
-                {
-                    if (CommonMethod.GetKeys(midListNow.host, "ECP_KEY", SN, midListNow.keytype["ECP_KEY"], errorDBNow, out string ecp, out error, orderNow, out string md5))
-                    {
-                        keyInfo.ECP.data = ecp;
-                        Log.WriteGetKeyLog("\r\nECP_KEY=" + keyInfo.ECP);
-                    }
-                    else
-                    {
-                        ErrMsg = String.Format("{0}\r\n{1}", LResource.GetECPError, error);
-                        Log.WriteErrorLog(ErrMsg);
-                        goto end;
-                    }
-                }
-                if (WriteLEK.Checked && midListNow.keytype.ContainsKey("LEK"))
-                {
-                    if (CommonMethod.GetKeys(midListNow.host, "LEK", SN, midListNow.keytype["LEK"], errorDBNow, out string lek, out error, orderNow, out string md5))
-                    {
-                        keyInfo.LEK.data = lek;
-                        Log.WriteGetKeyLog("\r\nLEK=" + keyInfo.LEK);
-                    }
-                    else
-                    {
-                        ErrMsg = String.Format("{0}\r\n{1}", LResource.GetLEKError, error);
-                        Log.WriteErrorLog(ErrMsg);
-                        goto end;
-                    }
-                }
-                if (WritePEK.Checked && midListNow.keytype.ContainsKey("PEK"))
-                {
-                    if (CommonMethod.GetKeys(midListNow.host, "PEK", SN, midListNow.keytype["PEK"], errorDBNow, out string pek, out error, orderNow, out string md5))
-                    {
-                        keyInfo.PEK.data = pek;
-                        Log.WriteGetKeyLog("\r\nPEK=" + keyInfo.PEK);
-                    }
-                    else
-                    {
-                        ErrMsg = String.Format("{0}\r\n{1}", LResource.GetPEKError, error);
-                        Log.WriteErrorLog(ErrMsg);
-                        goto end;
-                    }
-                }
-                if (WritePlayready.Checked && midListNow.keytype.ContainsKey("PlayReady_key"))
-                {
-                    if (CommonMethod.GetKeys(midListNow.host, "PlayReady_key", SN, midListNow.keytype["PlayReady_key"], errorDBNow, out string playready, out error, orderNow, out string md5))
-                    {
-                        keyInfo.Playready.data = playready;
-                        Log.WriteGetKeyLog("\r\nPlayReady_key=" + keyInfo.Playready);
-                    }
-                    else
-                    {
-                        ErrMsg = String.Format("{0}\r\n{1}", LResource.GetPlayreadyError, error);
-                        Log.WriteErrorLog(ErrMsg);
-                        goto end;
-                    }
-                }
-                if (WriteHash.Checked && midListNow.keytype.ContainsKey("Hashkey"))
-                {
-                    if (CommonMethod.GetKeys(midListNow.host, "Hashkey", SN, midListNow.keytype["Hashkey"], errorDBNow, out string hash, out error, orderNow, out string md5))
-                    {
-                        keyInfo.Hashkey.data = hash;
-                        Log.WriteGetKeyLog("\r\nHashkey=" + keyInfo.Hashkey);
-                    }
-                    else
-                    {
-                        ErrMsg = String.Format("{0}\r\n{1}", LResource.GetHashkeyError, error);
-                        Log.WriteErrorLog(ErrMsg);
-                        goto end;
-                    }
-                }
-                if (WriteYouTube.Checked && midListNow.keytype.ContainsKey("YouTube_KEY"))
-                {
-                    if (CommonMethod.GetKeys(midListNow.host, "YouTube_KEY", SN, midListNow.keytype["YouTube_KEY"], errorDBNow, out string youtube, out error, orderNow, out string md5))
-                    {
-                        keyInfo.YouTube_KEY.data = youtube;
-                        Log.WriteGetKeyLog("\r\nYouTube_KEY=" + keyInfo.YouTube_KEY);
-                    }
-                    else
-                    {
-                        ErrMsg = String.Format("{0}\r\n{1}", LResource.GetYouTubekeyError, error);
-                        Log.WriteErrorLog(ErrMsg);
-                        goto end;
-                    }
-                }
-                if (WriteEDIDPID.Checked && midListNow.keytype.ContainsKey("edid_pid"))
+
+#region EDID屏抄写是从MID中获取值;
+                if (WriteEDIDPID.Checked)
                 {
                     keyInfo.EDIDPid.data = midListNow.keytype["edid_pid"];
                 }
@@ -2427,45 +2330,12 @@ namespace MOKA_Factory_Tools
                 {
                     keyInfo.EDIDModelName.data = midListNow.keytype["edid_model_name"];
                 }
-                if (WriteACASKey.Checked && midListNow.keytype.ContainsKey("ACAS_KEY"))
-                {
-                    if (CommonMethod.GetAcasKey(midListNow.host, "ACAS_KEY", SN, midListNow.keytype["ACAS_KEY"], errorDBNow, orderNow, out string acaskey_data, out string acaskey_datamd5, out string acaskey_tool, out string acaskey_toolmd5, out error))
-                    {
-                        keyInfo.ACASKey_Data.data = acaskey_data;
-                        keyInfo.ACASKey_DataMd5.data = acaskey_datamd5;
-
-                        keyInfo.ACASKey_Tool.data = acaskey_tool;
-                        keyInfo.ACASKey_ToolMd5.data = acaskey_toolmd5;
-
-                        Log.WriteGetKeyLog("\r\nACAS_KEY_DATA=" + keyInfo.ACASKey_Data.data + "\r\nACAS_KEY_MD5=" + keyInfo.ACASKey_DataMd5);
-                        Log.WriteGetKeyLog("\r\nACAS_KEY_TOOL=" + keyInfo.ACASKey_Tool.data + "\r\nACAS_KEY_TOOLMD5=" + keyInfo.ACASKey_ToolMd5);
-                    }
-                    else
-                    {
-                        ErrMsg = String.Format("{0}\r\n{1}", LResource.GetACASKeyError, error);
-                        Log.WriteErrorLog(ErrMsg);
-                        goto end;
-                    }
-                }
-                if (WriteDAK.Checked && midListNow.keytype.ContainsKey("DAK"))
-                {
-                    if (CommonMethod.GetKeys(midListNow.host, "DAK", SN, midListNow.keytype["DAK"], errorDBNow, out string hash, out error, orderNow, out string md5))
-                    {
-                        keyInfo.DAK.data = hash;
-                        Log.WriteGetKeyLog("\r\nDAK=" + keyInfo.DAK);
-                    }
-                    else
-                    {
-                        ErrMsg = String.Format("{0}\r\n{1}", LResource.GetDAKKeyError, error);
-                        Log.WriteErrorLog(ErrMsg);
-                        goto end;
-                    }
-                }
+#endregion
                 watch.Stop();
                 Log.WriteInfoLog(string.Format("Get All Keys Elapsed={0}", watch.Elapsed.TotalMilliseconds));
             }
 
-            #region 小米FireTV功能启用;
+#region 小米FireTV功能启用;
             if (FunctionSettingNow.MITVEnable)
             {
                 // 获取Key;
@@ -2521,9 +2391,10 @@ namespace MOKA_Factory_Tools
                     SetCheckboxStatus(WriteWifiMac, false);
                 }
             }
-            #endregion
+#endregion
 
-            #region 开始抄写;
+#if !SIMULATION
+#region 开始抄写;
             // 如果是抄写EDID,则不获取白平衡数据;
             if (CommonMethod.IsEDIDCopy(midListNow))
             {
@@ -3732,7 +3603,8 @@ namespace MOKA_Factory_Tools
                 keyInfo.Playready.result = true;
             }
 
-            #region FVP激活-放在Hash key抄写之后,应用于所有FireTV项目-已通过郁沛确认;
+
+#region FVP激活-放在Hash key抄写之后,应用于所有FireTV项目-已通过郁沛确认;
             if (WriteFVP.Checked)
             {
                 Log.WriteInfoLog("Activate FVP...");
@@ -3764,7 +3636,7 @@ namespace MOKA_Factory_Tools
                 // fvp没key内容;
                 //keyInfo.Hashkey.result = true;
             }
-            #endregion
+#endregion
 
             // Dolby Key抄写;
             if ( cfg_writecheck.DolbyCheckcheck )
@@ -4781,7 +4653,7 @@ namespace MOKA_Factory_Tools
                 keyInfo.DSN.result = true;
             }
 
-            #region 小米FireTV功能;
+#region 小米FireTV功能;
             if (FunctionSettingNow.MITVEnable)
             {
 #if true
@@ -4912,9 +4784,9 @@ namespace MOKA_Factory_Tools
                     goto end;
                 }
             }
-            #endregion
-            #endregion
-
+#endregion
+#endregion
+#endif
             //数据上传
             if (midListNow.host == "LocalPC" && !preloadNow)
             {// 离线抄写
@@ -6306,7 +6178,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;