602 lines
24 KiB
C#
602 lines
24 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
|
||
using System.Security;
|
||
using Thousandto.Update.Flow;
|
||
using Thousandto.Update.Log;
|
||
using MonoXmlUtils = UnityEngine.Gonbest.MagicCube.MonoXmlUtils;
|
||
using System.Xml;
|
||
|
||
namespace Thousandto.Update.Xml
|
||
{
|
||
/// <summary>
|
||
/// 服务器端配置的xml,用于资源更新
|
||
/// </summary>
|
||
public partial class ResourceVersionXml
|
||
{
|
||
string _TAG = "ResourceVersion.cs ";
|
||
|
||
//解析xml
|
||
public int parseResouceVersionXml(string path)
|
||
{
|
||
UpdateLog.INFO_LOG(_TAG + "parseResouceVersionXml(string path):" + path);
|
||
|
||
int ret = CodeDefine.RET_SUCCESS;
|
||
|
||
try
|
||
{
|
||
var sp = MonoXmlUtils.LoadXmlEx(path);
|
||
if( sp == null || sp.ToXml() == null ) {
|
||
return CodeDefine.RET_FAIL_PARSE_RES_XML_FILE;
|
||
}
|
||
|
||
var dom = sp.ToXml();
|
||
|
||
//正式流程
|
||
parse(dom, "ResourceVersion/VersionBase", NormalFollow.VersionModelBaseList);
|
||
parse(dom, "ResourceVersion/VersionPatch", NormalFollow.VersionModelPatchList);
|
||
NormalFollow.LoginIp = parse(dom, "ResourceVersion/loginSever/login_Ip");
|
||
NormalFollow.LoginPort = parse(dom, "ResourceVersion/loginSever/login_Port");
|
||
NormalFollow.AppVersion = parse(dom, "ResourceVersion/CodeVersion_last/Version");
|
||
NormalFollow.ClientUrl = parse(dom, "ResourceVersion/CodeVersion_last/url");
|
||
NormalFollow.AppSize = parse(dom, "ResourceVersion/CodeVersion_last/size");
|
||
NormalFollow.Language = parse(dom, "ResourceVersion/loginSever/language");
|
||
NormalFollow.ServerList = parse(dom, "ResourceVersion/serverListURL");
|
||
bool enable = true;
|
||
if (!Boolean.TryParse(parse(dom, "ResourceVersion/ForceUpdate"), out enable))
|
||
{
|
||
enable = true;
|
||
}
|
||
NormalFollow.EnableForceUpdate = enable;
|
||
NormalFollow.PatchVersion = GetMaxPatchVersion(NormalFollow.VersionModelPatchList);
|
||
|
||
//测试流程
|
||
parse(dom, "ResourceVersion/test_tag/VersionBase", TestFollow.VersionModelBaseList);
|
||
parse(dom, "ResourceVersion/test_tag/VersionPatch", TestFollow.VersionModelPatchList);
|
||
TestFollow.ServerIp = parse(dom, "ResourceVersion/test_tag/get_client_ip_server_ip");
|
||
TestFollow.ServerPort = parse(dom, "ResourceVersion/test_tag/get_client_ip_server_port");
|
||
TestFollow.LoginIp = parse(dom, "ResourceVersion/test_tag/login_Ip");
|
||
TestFollow.LoginPort = parse(dom, "ResourceVersion/test_tag/login_Port");
|
||
TestFollow.BigAppVersion = parse(dom, "ResourceVersion/test_tag/big_app_version");
|
||
TestFollow.SmallAppVersion = parse(dom, "ResourceVersion/test_tag/small_app_version");
|
||
TestFollow.AppVersion = parse(dom, "ResourceVersion/test_tag/app_current_version");
|
||
TestFollow.ClientUrl = parse(dom, "ResourceVersion/test_tag/app_update_url");
|
||
TestFollow.AppSize = parse(dom, "ResourceVersion/test_tag/test_size");
|
||
TestFollow.Language = parse(dom, "ResourceVersion/test_tag/language");
|
||
TestFollow.ServerList = parse(dom, "ResourceVersion/test_tag/serverListURL");
|
||
if (!Boolean.TryParse(parse(dom, "ResourceVersion/test_tag/ForceUpdate"), out enable))
|
||
{
|
||
enable = true;
|
||
}
|
||
TestFollow.EnableForceUpdate = enable;
|
||
TestFollow.PatchVersion = GetMaxPatchVersion(TestFollow.VersionModelPatchList);
|
||
|
||
//白名单 mac地址
|
||
var macList = parseNodes( dom, "ResourceVersion/test_tag/legal_client_machine_list/legal_client_machine" );
|
||
for (int i = 0; macList != null && i < macList.Length; i++) {
|
||
if( macList[i] == null ) {
|
||
continue;
|
||
}
|
||
WhiteCode.Add(macList[i].Text);
|
||
}
|
||
|
||
//白名单 用户名
|
||
var userList = parseNodes( dom, "ResourceVersion/test_tag/legal_client_user_list/legal_client_user" );
|
||
for( int i = 0; userList != null && i < userList.Length; i++ ) {
|
||
if( userList[i] == null ) {
|
||
continue;
|
||
}
|
||
WhiteUsers.Add( userList[i].Text );
|
||
}
|
||
|
||
//白名单 ip地址
|
||
var ipList = parseNodes( dom, "ResourceVersion/test_tag/legal_client_ip_list/legal_client_ip" );
|
||
for( int i = 0; ipList != null && i < ipList.Length; i++ ) {
|
||
if( ipList[i] == null ) {
|
||
continue;
|
||
}
|
||
WhiteIp.Add( ipList[i].Text );
|
||
}
|
||
}
|
||
catch (System.Exception ex)
|
||
{
|
||
ret = CodeDefine.RET_FAIL_PARSE_RES_XML_FILE;
|
||
UpdateLog.ERROR_LOG(_TAG + ex.Message + "/n" + ex.StackTrace);
|
||
UpdateLog.EXCEPTION_LOG(ex);
|
||
}
|
||
|
||
|
||
return ret;
|
||
}
|
||
|
||
public string GetMaxPatchVersion(List<VersionModel> verList)
|
||
{
|
||
int count = verList.Count;
|
||
if (count > 0)
|
||
{
|
||
return verList[count - 1].ToVersion;
|
||
}
|
||
|
||
return "";
|
||
}
|
||
|
||
//解析节点
|
||
private void parse(SecurityElement dom, string domPath, List<VersionModel> versionList)
|
||
{
|
||
var nodes = parseNodes( dom, domPath );
|
||
if( nodes == null ) {
|
||
return;
|
||
}
|
||
foreach( SecurityElement item in nodes ) {
|
||
if( item == null ) {
|
||
continue;
|
||
}
|
||
|
||
VersionModel model = new VersionModel();
|
||
var fromNode = item.SearchForChildByTag( "FromVersion" );
|
||
if( fromNode != null ) {
|
||
model.FromVersion = fromNode.Text;
|
||
}
|
||
var ToVersion = item.SearchForChildByTag( "ToVersion" );
|
||
if( ToVersion != null ) {
|
||
model.ToVersion = ToVersion.Text;
|
||
}
|
||
var PatchFile = item.SearchForChildByTag( "PatchFile" );
|
||
if( PatchFile != null ) {
|
||
model.ResourceUrl = PatchFile.Text;
|
||
}
|
||
var PatchFileMD5 = item.SearchForChildByTag( "PatchFileMD5" );
|
||
if( PatchFileMD5 != null ) {
|
||
model.Md5 = PatchFileMD5.Text;
|
||
}
|
||
var FileSize = item.SearchForChildByTag( "FileSize" );
|
||
if( FileSize != null ) {
|
||
model.FileSize = FileSize.Text;
|
||
}
|
||
model.Stage = model.ToVersion;
|
||
|
||
var mapFile = item.SearchForChildByTag( "mapFile" );
|
||
if( mapFile != null ) {
|
||
model.Map_url = mapFile.Text;
|
||
}
|
||
var mapFileMD5 = item.SearchForChildByTag( "mapFileMD5" );
|
||
if( mapFileMD5 != null ) {
|
||
model.Map_md5 = mapFileMD5.Text;
|
||
}
|
||
var mapFileSize = item.SearchForChildByTag( "mapFileSize" );
|
||
if( mapFileSize != null ) {
|
||
model.Map_size = mapFileSize.Text;
|
||
}
|
||
|
||
versionList.Add( model );
|
||
}
|
||
}
|
||
|
||
private string parse(SecurityElement dom, string domPath) {
|
||
if( dom == null || string.IsNullOrEmpty( domPath ) ) {
|
||
return string.Empty;
|
||
}
|
||
SecurityElement node = dom;
|
||
var subpaths = domPath.Split( '/' );
|
||
for( int i = 1; node != null && i < subpaths.Length; ++i ) {
|
||
var tag = subpaths[i];
|
||
node = node.SearchForChildByTag( tag );
|
||
}
|
||
return node != null ? node.Text : string.Empty;
|
||
}
|
||
|
||
private SecurityElement[] parseNodes(SecurityElement dom, string domPath) {
|
||
if( dom == null || string.IsNullOrEmpty( domPath ) ) {
|
||
return null;
|
||
}
|
||
SecurityElement node = dom;
|
||
List<SecurityElement> retval = null;
|
||
var subpaths = domPath.Split( '/' );
|
||
for( int i = 1; node != null && i < subpaths.Length; ++i ) {
|
||
var tag = subpaths[i];
|
||
if( i + 1 >= subpaths.Length &&
|
||
node != null && node.Children != null ) {
|
||
foreach( SecurityElement item in node.Children ){
|
||
if( item == null ) {
|
||
continue;
|
||
}
|
||
if( item.Tag == tag ) {
|
||
if( retval == null ) {
|
||
retval = new List<SecurityElement>();
|
||
}
|
||
retval.Add( item );
|
||
}
|
||
}
|
||
break;
|
||
}
|
||
node = node.SearchForChildByTag( tag );
|
||
}
|
||
return retval != null ? retval.ToArray() : null;
|
||
}
|
||
|
||
private void SetNodeInnerText(XmlDocument doc, XmlNode root, string nodePath, string value)
|
||
{
|
||
XmlNode xmlNode = root.SelectSingleNode(nodePath);
|
||
if (xmlNode == null)
|
||
{
|
||
xmlNode = doc.CreateElement(nodePath);
|
||
xmlNode.InnerText = value;
|
||
root.AppendChild(xmlNode);
|
||
}
|
||
else
|
||
{
|
||
xmlNode.InnerText = value;
|
||
}
|
||
}
|
||
public void saveNormalFlow(XmlDocument xmlDocument)
|
||
{
|
||
try
|
||
{
|
||
|
||
XmlNode xmlNode = xmlDocument.SelectSingleNode("ResourceVersion");
|
||
XmlNodeList xmlNodeList = xmlDocument.SelectNodes("ResourceVersion/VersionBase");
|
||
foreach (XmlNode item in xmlNodeList)
|
||
{
|
||
item.ParentNode.RemoveChild(item);
|
||
}
|
||
foreach (VersionModel item2 in NormalFollow.VersionModelBaseList)
|
||
{
|
||
XmlNode xmlNode2 = xmlDocument.CreateElement("VersionBase");
|
||
XmlNode xmlNode3 = xmlDocument.CreateElement("FromVersion");
|
||
XmlNode xmlNode4 = xmlDocument.CreateElement("ToVersion");
|
||
XmlNode xmlNode5 = xmlDocument.CreateElement("PatchFile");
|
||
XmlNode xmlNode6 = xmlDocument.CreateElement("PatchFileMD5");
|
||
XmlNode xmlNode7 = xmlDocument.CreateElement("FileSize");
|
||
xmlNode.AppendChild(xmlNode2);
|
||
xmlNode2.AppendChild(xmlNode3);
|
||
xmlNode2.AppendChild(xmlNode4);
|
||
xmlNode2.AppendChild(xmlNode5);
|
||
xmlNode2.AppendChild(xmlNode6);
|
||
xmlNode2.AppendChild(xmlNode7);
|
||
if (item2.Map_url != null && item2.Map_url != "")
|
||
{
|
||
XmlNode xmlNode8 = xmlDocument.CreateElement("mapFile");
|
||
XmlNode xmlNode9 = xmlDocument.CreateElement("mapFileMD5");
|
||
XmlNode xmlNode10 = xmlDocument.CreateElement("mapFileSize");
|
||
xmlNode8.InnerText = item2.Map_url;
|
||
xmlNode9.InnerText = item2.Map_md5;
|
||
xmlNode10.InnerText = item2.Map_size;
|
||
xmlNode2.AppendChild(xmlNode8);
|
||
xmlNode2.AppendChild(xmlNode9);
|
||
xmlNode2.AppendChild(xmlNode10);
|
||
}
|
||
xmlNode3.InnerText = item2.FromVersion;
|
||
xmlNode4.InnerText = item2.ToVersion;
|
||
xmlNode5.InnerText = item2.ResourceUrl;
|
||
xmlNode6.InnerText = item2.Md5;
|
||
xmlNode7.InnerText = item2.FileSize;
|
||
}
|
||
XmlNodeList xmlNodeList2 = xmlDocument.SelectNodes("ResourceVersion/VersionPatch");
|
||
foreach (XmlNode item3 in xmlNodeList2)
|
||
{
|
||
item3.ParentNode.RemoveChild(item3);
|
||
}
|
||
foreach (VersionModel item4 in NormalFollow.VersionModelPatchList)
|
||
{
|
||
XmlNode xmlNode2 = xmlDocument.CreateElement("VersionPatch");
|
||
XmlNode xmlNode3 = xmlDocument.CreateElement("FromVersion");
|
||
XmlNode xmlNode4 = xmlDocument.CreateElement("ToVersion");
|
||
XmlNode xmlNode5 = xmlDocument.CreateElement("PatchFile");
|
||
XmlNode xmlNode6 = xmlDocument.CreateElement("PatchFileMD5");
|
||
XmlNode xmlNode7 = xmlDocument.CreateElement("FileSize");
|
||
xmlNode.AppendChild(xmlNode2);
|
||
xmlNode2.AppendChild(xmlNode3);
|
||
xmlNode2.AppendChild(xmlNode4);
|
||
xmlNode2.AppendChild(xmlNode5);
|
||
xmlNode2.AppendChild(xmlNode6);
|
||
xmlNode2.AppendChild(xmlNode7);
|
||
xmlNode3.InnerText = item4.FromVersion;
|
||
xmlNode4.InnerText = item4.ToVersion;
|
||
xmlNode5.InnerText = item4.ResourceUrl;
|
||
xmlNode6.InnerText = item4.Md5;
|
||
xmlNode7.InnerText = item4.FileSize;
|
||
}
|
||
XmlNodeList xmlNodeList3 = xmlDocument.SelectNodes("ResourceVersion/VersionDll");
|
||
if (xmlNodeList3 != null && xmlNodeList3.Count > 0)
|
||
{
|
||
foreach (XmlNode item5 in xmlNodeList3)
|
||
{
|
||
item5.ParentNode.RemoveChild(item5);
|
||
}
|
||
}
|
||
//foreach (VersionModel item6 in NormalFollow.dllModel)
|
||
//{
|
||
// XmlNode xmlNode2 = xmlDocument.CreateElement("VersionDll");
|
||
// XmlNode xmlNode3 = xmlDocument.CreateElement("FromVersion");
|
||
// XmlNode xmlNode4 = xmlDocument.CreateElement("ToVersion");
|
||
// XmlNode xmlNode5 = xmlDocument.CreateElement("PatchFile");
|
||
// XmlNode xmlNode6 = xmlDocument.CreateElement("PatchFileMD5");
|
||
// XmlNode xmlNode7 = xmlDocument.CreateElement("FileSize");
|
||
// xmlNode.AppendChild(xmlNode2);
|
||
// xmlNode2.AppendChild(xmlNode3);
|
||
// xmlNode2.AppendChild(xmlNode4);
|
||
// xmlNode2.AppendChild(xmlNode5);
|
||
// xmlNode2.AppendChild(xmlNode6);
|
||
// xmlNode2.AppendChild(xmlNode7);
|
||
// xmlNode3.InnerText = item6.fromVersion;
|
||
// xmlNode4.InnerText = item6.toVersion;
|
||
// xmlNode5.InnerText = item6.resourceUrl;
|
||
// xmlNode6.InnerText = item6.md5;
|
||
// xmlNode7.InnerText = item6.fileSize;
|
||
//}
|
||
XmlNode xmlNode13 = xmlDocument.SelectSingleNode("ResourceVersion/CodeVersion_last/Version");
|
||
XmlNode xmlNode14 = xmlDocument.SelectSingleNode("ResourceVersion/CodeVersion_last/url");
|
||
XmlNode xmlNode15 = xmlDocument.SelectSingleNode("ResourceVersion/CodeVersion_last/size");
|
||
XmlNode xmlNode16 = xmlDocument.SelectSingleNode("ResourceVersion/loginSever/login_Ip");
|
||
XmlNode xmlNode17 = xmlDocument.SelectSingleNode("ResourceVersion/loginSever/login_Port");
|
||
SetNodeInnerText(xmlDocument, xmlNode, "ForceUpdate", string.Concat(NormalFollow.EnableForceUpdate));
|
||
XmlNode xmlNode18 = null;
|
||
try
|
||
{
|
||
xmlNode18 = xmlDocument.SelectSingleNode("ResourceVersion/loginSever/language");
|
||
if (xmlNode18 != null)
|
||
{
|
||
xmlNode18.InnerText = NormalFollow.Language;
|
||
}
|
||
else
|
||
{
|
||
xmlNode18 = xmlDocument.CreateElement("language");
|
||
xmlNode18.InnerText = NormalFollow.Language;
|
||
XmlNode xmlNode19 = xmlDocument.SelectSingleNode("ResourceVersion/loginSever");
|
||
xmlNode19.AppendChild(xmlNode18);
|
||
}
|
||
}
|
||
catch (Exception)
|
||
{
|
||
xmlNode18 = xmlDocument.CreateElement("language");
|
||
xmlNode18.InnerText = NormalFollow.Language;
|
||
XmlNode xmlNode19 = xmlDocument.SelectSingleNode("ResourceVersion/loginSever");
|
||
xmlNode19.AppendChild(xmlNode18);
|
||
}
|
||
xmlNode13.InnerText = NormalFollow.AppVersion;
|
||
xmlNode14.InnerText = NormalFollow.ClientUrl;
|
||
if (xmlNode15 != null)
|
||
{
|
||
xmlNode15.InnerText = NormalFollow.AppSize;
|
||
}
|
||
xmlNode16.InnerText = NormalFollow.LoginIp;
|
||
xmlNode17.InnerText = NormalFollow.LoginPort;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
UnityEngine.Debug.Log(ex);
|
||
}
|
||
}
|
||
|
||
public void saveTestFlow(XmlDocument xmlDocument)
|
||
{
|
||
try
|
||
{
|
||
XmlNodeList xmlNodeList = xmlDocument.SelectNodes("ResourceVersion/test_tag/VersionBase");
|
||
XmlNode xmlNode = xmlDocument.SelectSingleNode("ResourceVersion/test_tag");
|
||
SetNodeInnerText(xmlDocument, xmlNode, "ForceUpdate", string.Concat(TestFollow.EnableForceUpdate));
|
||
foreach (XmlNode item in xmlNodeList)
|
||
{
|
||
item.ParentNode.RemoveChild(item);
|
||
}
|
||
foreach (VersionModel item2 in TestFollow.VersionModelBaseList)
|
||
{
|
||
XmlNode xmlNode2 = xmlDocument.CreateElement("VersionBase");
|
||
XmlNode xmlNode3 = xmlDocument.CreateElement("FromVersion");
|
||
XmlNode xmlNode4 = xmlDocument.CreateElement("ToVersion");
|
||
XmlNode xmlNode5 = xmlDocument.CreateElement("PatchFile");
|
||
XmlNode xmlNode6 = xmlDocument.CreateElement("PatchFileMD5");
|
||
XmlNode xmlNode7 = xmlDocument.CreateElement("FileSize");
|
||
xmlNode.AppendChild(xmlNode2);
|
||
xmlNode2.AppendChild(xmlNode3);
|
||
xmlNode2.AppendChild(xmlNode4);
|
||
xmlNode2.AppendChild(xmlNode5);
|
||
xmlNode2.AppendChild(xmlNode6);
|
||
xmlNode2.AppendChild(xmlNode7);
|
||
if (item2.Map_url != null && item2.Map_url != "")
|
||
{
|
||
XmlNode xmlNode8 = xmlDocument.CreateElement("mapFile");
|
||
XmlNode xmlNode9 = xmlDocument.CreateElement("mapFileMD5");
|
||
XmlNode xmlNode10 = xmlDocument.CreateElement("mapFileSize");
|
||
xmlNode8.InnerText = item2.Map_url;
|
||
xmlNode9.InnerText = item2.Map_md5;
|
||
xmlNode10.InnerText = item2.Map_size;
|
||
xmlNode2.AppendChild(xmlNode8);
|
||
xmlNode2.AppendChild(xmlNode9);
|
||
xmlNode2.AppendChild(xmlNode10);
|
||
}
|
||
xmlNode3.InnerText = item2.FromVersion;
|
||
xmlNode4.InnerText = item2.ToVersion;
|
||
xmlNode5.InnerText = item2.ResourceUrl;
|
||
xmlNode6.InnerText = item2.Md5;
|
||
xmlNode7.InnerText = item2.FileSize;
|
||
}
|
||
XmlNodeList xmlNodeList2 = xmlDocument.SelectNodes("ResourceVersion/test_tag/VersionPatch");
|
||
foreach (XmlNode item3 in xmlNodeList2)
|
||
{
|
||
item3.ParentNode.RemoveChild(item3);
|
||
}
|
||
foreach (VersionModel item4 in TestFollow.VersionModelPatchList)
|
||
{
|
||
XmlNode xmlNode2 = xmlDocument.CreateElement("VersionPatch");
|
||
XmlNode xmlNode3 = xmlDocument.CreateElement("FromVersion");
|
||
XmlNode xmlNode4 = xmlDocument.CreateElement("ToVersion");
|
||
XmlNode xmlNode5 = xmlDocument.CreateElement("PatchFile");
|
||
XmlNode xmlNode6 = xmlDocument.CreateElement("PatchFileMD5");
|
||
XmlNode xmlNode7 = xmlDocument.CreateElement("FileSize");
|
||
xmlNode.AppendChild(xmlNode2);
|
||
xmlNode2.AppendChild(xmlNode3);
|
||
xmlNode2.AppendChild(xmlNode4);
|
||
xmlNode2.AppendChild(xmlNode5);
|
||
xmlNode2.AppendChild(xmlNode6);
|
||
xmlNode2.AppendChild(xmlNode7);
|
||
xmlNode3.InnerText = item4.FromVersion;
|
||
xmlNode4.InnerText = item4.ToVersion;
|
||
xmlNode5.InnerText = item4.ResourceUrl;
|
||
xmlNode6.InnerText = item4.Md5;
|
||
xmlNode7.InnerText = item4.FileSize;
|
||
}
|
||
XmlNodeList xmlNodeList3 = xmlDocument.SelectNodes("ResourceVersion/test_tag/VersionDll");
|
||
if (xmlNodeList3 != null && xmlNodeList3.Count > 0)
|
||
{
|
||
foreach (XmlNode item5 in xmlNodeList3)
|
||
{
|
||
item5.ParentNode.RemoveChild(item5);
|
||
}
|
||
}
|
||
|
||
XmlNode xmlNode13 = xmlDocument.SelectSingleNode("ResourceVersion/test_tag/big_app_version");
|
||
XmlNode xmlNode14 = xmlDocument.SelectSingleNode("ResourceVersion/test_tag/small_app_version");
|
||
XmlNode xmlNode15 = xmlDocument.SelectSingleNode("ResourceVersion/test_tag/login_Ip");
|
||
XmlNode xmlNode16 = xmlDocument.SelectSingleNode("ResourceVersion/test_tag/login_Port");
|
||
XmlNode xmlNode17 = xmlDocument.SelectSingleNode("ResourceVersion/test_tag/get_client_ip_server_ip");
|
||
XmlNode xmlNode18 = xmlDocument.SelectSingleNode("ResourceVersion/test_tag/get_client_ip_server_port");
|
||
XmlNode xmlNode19 = xmlDocument.SelectSingleNode("ResourceVersion/test_tag/app_current_version");
|
||
XmlNode xmlNode20 = xmlDocument.SelectSingleNode("ResourceVersion/test_tag/app_update_url");
|
||
XmlNode xmlNode21 = xmlDocument.SelectSingleNode("ResourceVersion/test_tag/test_size");
|
||
XmlNode xmlNode22 = null;
|
||
try
|
||
{
|
||
xmlNode22 = xmlDocument.SelectSingleNode("ResourceVersion/test_tag/language");
|
||
if (xmlNode22 != null)
|
||
{
|
||
xmlNode22.InnerText = TestFollow.Language;
|
||
}
|
||
else
|
||
{
|
||
xmlNode22 = xmlDocument.CreateElement("language");
|
||
xmlNode22.InnerText = TestFollow.Language;
|
||
xmlNode.AppendChild(xmlNode22);
|
||
}
|
||
}
|
||
catch (Exception)
|
||
{
|
||
xmlNode22 = xmlDocument.CreateElement("language");
|
||
xmlNode22.InnerText = TestFollow.Language;
|
||
xmlNode.AppendChild(xmlNode22);
|
||
}
|
||
xmlNode15.InnerText = TestFollow.LoginIp;
|
||
xmlNode16.InnerText = TestFollow.LoginPort;
|
||
xmlNode20.InnerText = TestFollow.ClientUrl;
|
||
if (xmlNode21 != null)
|
||
{
|
||
xmlNode21.InnerText = TestFollow.AppSize;
|
||
}
|
||
xmlNode19.InnerText = TestFollow.AppVersion;
|
||
xmlNode13.InnerText = TestFollow.BigAppVersion;
|
||
xmlNode14.InnerText = TestFollow.SmallAppVersion;
|
||
xmlNode17.InnerText = TestFollow.ServerIp;
|
||
xmlNode18.InnerText = TestFollow.ServerPort;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
UnityEngine.Debug.Log(ex);
|
||
}
|
||
}
|
||
|
||
public void saveNoticeFlow()
|
||
{
|
||
//try
|
||
//{
|
||
// XmlDocument xmlDocument = new XmlDocument();
|
||
// xmlDocument.Load(m_TempManifestPath);
|
||
// XmlNode xmlNode = xmlDocument.SelectSingleNode("ResourceVersion");
|
||
// XmlNode xmlNode2 = xmlDocument.SelectSingleNode("ResourceVersion/game_notice_title");
|
||
// XmlNode xmlNode3 = xmlDocument.SelectSingleNode("ResourceVersion/game_notice_message");
|
||
// XmlNodeList xmlNodeList = xmlDocument.SelectNodes("ResourceVersion/notice");
|
||
// xmlNode2.InnerText = m_NoticeModel.m_NoticeTitle;
|
||
// xmlNode3.InnerText = m_NoticeModel.m_NoticeContent;
|
||
// XmlNodeList xmlNodeList2 = xmlDocument.SelectNodes("ResourceVersion/notice");
|
||
// foreach (XmlNode item in xmlNodeList2)
|
||
// {
|
||
// item.ParentNode.RemoveChild(item);
|
||
// }
|
||
// foreach (TextBox notice in m_NoticeModel.NoticeList)
|
||
// {
|
||
// string text = notice.Text;
|
||
// if (!(text.Trim() == ""))
|
||
// {
|
||
// XmlNode xmlNode5 = xmlDocument.CreateElement("notice");
|
||
// XmlNode xmlNode6 = xmlDocument.CreateElement("message");
|
||
// xmlNode5.AppendChild(xmlNode6);
|
||
// xmlNode.AppendChild(xmlNode5);
|
||
// xmlNode6.InnerText = notice.Text;
|
||
// }
|
||
// }
|
||
// xmlDocument.Save(m_TempManifestPath);
|
||
//}
|
||
//catch (Exception ex)
|
||
//{
|
||
// Form1.g_Context.ErrorMsg.Text = ex.Message;
|
||
//}
|
||
}
|
||
|
||
public void saveWhiteListModel(XmlDocument xmlDocument)
|
||
{
|
||
try
|
||
{
|
||
|
||
XmlNode xmlNode = xmlDocument.SelectSingleNode("ResourceVersion");
|
||
XmlNodeList xmlNodeList = xmlDocument.SelectNodes("ResourceVersion/test_tag/legal_client_ip_list/legal_client_ip");
|
||
foreach (XmlNode item in xmlNodeList)
|
||
{
|
||
item.ParentNode.RemoveChild(item);
|
||
}
|
||
xmlNodeList = xmlDocument.SelectNodes("ResourceVersion/test_tag/legal_client_user_list/legal_client_user");
|
||
foreach (XmlNode item2 in xmlNodeList)
|
||
{
|
||
item2.ParentNode.RemoveChild(item2);
|
||
}
|
||
xmlNodeList = xmlDocument.SelectNodes("ResourceVersion/test_tag/legal_client_machine_list/legal_client_machine");
|
||
foreach (XmlNode item3 in xmlNodeList)
|
||
{
|
||
item3.ParentNode.RemoveChild(item3);
|
||
}
|
||
XmlNode xmlNode3 = xmlDocument.SelectSingleNode("ResourceVersion/test_tag/legal_client_ip_list");
|
||
XmlNode xmlNode4 = xmlDocument.SelectSingleNode("ResourceVersion/test_tag/legal_client_machine_list");
|
||
XmlNode xmlNode5 = xmlDocument.SelectSingleNode("ResourceVersion/test_tag/legal_client_user_list");
|
||
foreach (string mac in WhiteIp)
|
||
{
|
||
if (!(mac.Trim() == ""))
|
||
{
|
||
XmlNode xmlNode6 = xmlDocument.CreateElement("legal_client_ip");
|
||
xmlNode6.InnerText = mac;
|
||
xmlNode3.AppendChild(xmlNode6);
|
||
}
|
||
}
|
||
foreach (string account in WhiteUsers)
|
||
{
|
||
if (!(account.Trim() == ""))
|
||
{
|
||
XmlNode xmlNode6 = xmlDocument.CreateElement("legal_client_user");
|
||
xmlNode6.InnerText = account;
|
||
xmlNode5.AppendChild(xmlNode6);
|
||
}
|
||
}
|
||
foreach (string imei in WhiteCode)
|
||
{
|
||
if (!(imei.Trim() == ""))
|
||
{
|
||
XmlNode xmlNode6 = xmlDocument.CreateElement("legal_client_machine");
|
||
xmlNode6.InnerText = imei;
|
||
xmlNode4.AppendChild(xmlNode6);
|
||
}
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
UnityEngine.Debug.Log(ex);
|
||
}
|
||
}
|
||
public void saveAll(string path)
|
||
{
|
||
XmlDocument xmlDocument = new XmlDocument();
|
||
xmlDocument.Load(path);
|
||
saveNormalFlow(xmlDocument);
|
||
saveTestFlow(xmlDocument);
|
||
saveWhiteListModel(xmlDocument);
|
||
xmlDocument.Save(path);
|
||
}
|
||
}
|
||
}
|