From 6b8ba055b521fba22f372db534f5a6180b1b2aa8 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期日, 21 十二月 2025 14:34:34 +0800
Subject: [PATCH] 0312 增加战场bug汇报后台

---
 Main/System/Battle/BattleManager.cs      |    1 
 Main/Utility/OperationLogCollect.cs      |  216 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Main/Utility/OperationLogCollect.cs.meta |   11 ++
 3 files changed, 228 insertions(+), 0 deletions(-)

diff --git a/Main/System/Battle/BattleManager.cs b/Main/System/Battle/BattleManager.cs
index 8416bd5..7ecc18a 100644
--- a/Main/System/Battle/BattleManager.cs
+++ b/Main/System/Battle/BattleManager.cs
@@ -616,6 +616,7 @@
                     battleField?.CleanBattle();
                 }
                 Debug.LogError(ex);
+                OperationLogCollect.Instance.BugReportSys(ex.ToString());
             }
         }
 
diff --git a/Main/Utility/OperationLogCollect.cs b/Main/Utility/OperationLogCollect.cs
new file mode 100644
index 0000000..f5f6242
--- /dev/null
+++ b/Main/Utility/OperationLogCollect.cs
@@ -0,0 +1,216 @@
+锘縰sing System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using System;
+using LitJson;
+
+
+public class OperationLogCollect : Singleton<OperationLogCollect>
+
+{
+//     const string url = "http://xssgcenter.secondworld.net.cn:11000/event_receiver?";
+
+//     public void RecordLauchEvent(int _step)
+//     {
+//         return;
+// #if !UNITY_EDITOR
+//         if (VersionConfig.Get().versionAuthority == VersionAuthority.Release)
+//         {
+//             var tables = new Dictionary<string, string>();
+//             tables["OperatorID"] = VersionConfig.Get().appId;
+//             tables["RegionName"] = "data";
+//             tables["EventID"] = 9001.ToString();
+//             tables["ProductID"] = VersionConfig.Get().gameId;
+//             tables["Device"] = SystemInfo.deviceName;
+//             tables["DeviceFlag"] = ynmbxxjUtil.Instance.Device.uniqueID;
+//             tables["IP"] = DeviceUtility.GetIp();
+//             tables["DeviceFlag"] = DeviceUtility.GetDeviceUniquenessIdentify();
+//             tables["Flag"] = "1001";
+//             tables["Time"] = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+//             tables["Step"] = _step.ToString();
+
+//             HttpRequest.Instance.RequestHttpGet(StringUtility.Concat(url, HttpRequest.HashtablaToString(tables)), HttpRequest.defaultHttpContentType);
+//         }
+// #endif
+//     }
+
+//     public void RecordEvent(int _step, uint coin = 0)
+//     {
+//         return;
+// #if !UNITY_EDITOR
+//         if (VersionConfig.Get().versionAuthority == VersionAuthority.Release)
+//         {
+//             var tables = new Dictionary<string, string>();
+//             tables["OperatorID"] = VersionConfig.Get().appId;
+//             tables["RegionName"] = "data";
+//             tables["AccountID"] = ynmbxxjUtil.Instance.FreePlatformInfo == null ? "" : ynmbxxjUtil.Instance.FreePlatformInfo.account;
+//             tables["EventID"] = 9001.ToString();
+//             tables["ProductID"] = VersionConfig.Get().gameId;
+//             tables["Device"] = SystemInfo.deviceName;
+//             tables["IP"] = DeviceUtility.GetIp();
+//             tables["DeviceFlag"] = ynmbxxjUtil.Instance.Device.uniqueID;
+//             tables["Flag"] = VersionConfig.Get().clientPackageFlag;
+//             tables["Time"] = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+//             tables["Step"] = _step.ToString();
+
+//             if (coin != 0)
+//             {
+//                 tables["Level"] = coin.ToString();
+//             }
+
+//             string _content = StringUtility.Concat(url, HttpRequest.HashtablaToString(tables));
+//             HttpRequest.Instance.RequestHttpGet(_content, HttpRequest.defaultHttpContentType);
+//         }
+// #endif
+//     }
+
+//     bool recordedDeviceDetail = false;
+//     public void RecordDeviceDetails()
+//     {
+//         return;
+// #if !UNITY_EDITOR
+//         if (VersionConfig.Get().versionAuthority != VersionAuthority.Release)
+//         {
+//             return;
+//         }
+
+//         if (!recordedDeviceDetail)
+//         {
+//             var tables = new Dictionary<string, string>();
+//             tables["OperatorID"] = VersionConfig.Get().appId;
+//             tables["RegionName"] = StringUtility.Concat("s" + ServerListCenter.Instance.currentServer.region_flag);
+//             tables["EventID"] = 1102.ToString();
+//             tables["ProductID"] = VersionConfig.Get().gameId;
+//             tables["Time"] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+//             tables["IP"] = DeviceUtility.GetIp();
+//             tables["AccountID"] = ModelCenter.Instance.GetModel<LoginModel>().sdkLoginResult.account;
+//             tables["SessionID"] = "";
+
+//             var device = new Dictionary<string, string>();
+//             device["IMEI"] = DeviceUtility.GetDeviceUniquenessIdentify();
+//             device["DeviceFlag"] = ynmbxxjUtil.Instance.Device.uniqueID;
+// #if UNITY_ANDROID
+//             device["IMEI2"] = ynmbxxjUtil.Instance.Device.uniqueID;
+// #endif
+//             device["Brand"] = DeviceUtility.GetDeviceName();
+//             device["MI5"] = DeviceUtility.GetDeviceModel();
+//             tables["Device"] = JsonMapper.ToJson(device);
+
+//             var runtime = new Dictionary<string, string>();
+//             runtime["os_version"] = DeviceUtility.GetDeviceOSLevel();
+//             tables["Runtime"] = JsonMapper.ToJson(runtime);
+//             tables["Version"] = StringUtility.Concat(VersionConfig.Get().version, "_", VersionConfig.Get().buildIndex);
+
+//             HttpRequest.Instance.RequestHttpGet(StringUtility.Concat(url, HttpRequest.HashtablaToString(tables)), HttpRequest.defaultHttpContentType);
+//         }
+
+//         recordedDeviceDetail = true;
+// #endif
+//     }
+
+
+    const string bugReportUrl = "http://xssgcenter.secondworld.net.cn:11000/center/eventreport.php?";
+
+    public void BugReport(string _title, string _content)
+    {
+        var tables = new Dictionary<string, string>();
+        tables["OperatorID"] = VersionConfig.Get().appId;
+        tables["RegionName"] = "data";
+        tables["RegionID"] = ServerListCenter.Instance.currentServer.region_flag.ToString();
+        tables["EventID"] = 9002.ToString();
+        tables["ProductID"] = VersionConfig.Get().gameId;
+        tables["Time"] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+        tables["IP"] = DeviceUtility.GetIp();
+        tables["AccountID"] = LoginManager.Instance.sdkLoginResult.account;
+        tables["Level"] = PlayerDatas.Instance.baseData.LV.ToString();
+        tables["RoleID"] = PlayerDatas.Instance.baseData.PlayerName;
+        tables["VIPLevel"] = PlayerDatas.Instance.baseData.VIPLv.ToString();
+        tables["DeviceFlag"] = SDKUtils.Instance.Device.uniqueID;
+
+        var contentPrefix = StringUtility.Concat("IMEI:", DeviceUtility.GetDeviceUniquenessIdentify(), ";");
+        contentPrefix = StringUtility.Concat(contentPrefix, "Version:", StringUtility.Concat(VersionConfig.Get().version, "_", 
+            VersionConfig.Get().buildIndex.ToString()), Language.Id, ";");
+        contentPrefix = StringUtility.Concat(contentPrefix, "Brand:", DeviceUtility.GetDeviceName(), ";");
+        contentPrefix = StringUtility.Concat(contentPrefix, "MI5:", DeviceUtility.GetDeviceModel(), ";");
+        contentPrefix = StringUtility.Concat(contentPrefix, "os_version:", DeviceUtility.GetDeviceOSLevel(), ";");
+
+        tables["Title"] = _title;
+        tables["Content"] = _content;
+        tables["ClientInfo"] = contentPrefix;
+
+        HttpRequest.Instance.RequestHttpGet(StringUtility.Concat(bugReportUrl, HttpRequest.HashtablaToString(tables)), HttpRequest.defaultHttpContentType);
+
+    }
+
+    public void BugReportSys( string _content)
+    {
+        try
+        {
+            var tables = new Dictionary<string, string>();
+            tables["OperatorID"] = VersionConfig.Get().appId;
+            tables["RegionName"] = "data";
+            tables["RegionID"] = "10000";
+            tables["EventID"] = 9002.ToString();
+            tables["ProductID"] = VersionConfig.Get().gameId;
+            tables["Time"] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+            tables["IP"] = DeviceUtility.GetIp();
+            tables["AccountID"] = "system";
+            tables["Level"] = "1";
+            tables["RoleID"] = "system";
+            tables["VIPLevel"] = "1";
+            tables["DeviceFlag"] = SDKUtils.Instance.Device.uniqueID;
+
+            var contentPrefix = StringUtility.Concat("IMEI:", DeviceUtility.GetDeviceUniquenessIdentify(), ";");
+            contentPrefix = StringUtility.Concat(contentPrefix, "Version:", StringUtility.Concat(VersionConfig.Get().version, "_",
+                VersionConfig.Get().buildIndex.ToString()), Language.Id, ";");
+            contentPrefix = StringUtility.Concat(contentPrefix, "Brand:", DeviceUtility.GetDeviceName(), ";");
+            contentPrefix = StringUtility.Concat(contentPrefix, "MI5:", DeviceUtility.GetDeviceModel(), ";");
+            contentPrefix = StringUtility.Concat(contentPrefix, "os_version:", DeviceUtility.GetDeviceOSLevel(), ";");
+
+            tables["Title"] = "system";
+            _content = _content.Replace("0000", "");
+            if (ConfigManager.Instance.isLoadFinished && DTC0102_tagCDBPlayer.playerIdBuf != 0 && LoginManager.Instance.sdkLoginResult != null && !string.IsNullOrEmpty(LoginManager.Instance.sdkLoginResult.account))
+                _content = LoginManager.Instance.sdkLoginResult.account + _content;
+            tables["Content"] = _content.Substring(0, Math.Min(800, _content.Length));
+            tables["ClientInfo"] = contentPrefix;
+
+            HttpRequest.Instance.RequestHttpGet(StringUtility.Concat(bugReportUrl, HttpRequest.HashtablaToString(tables)), HttpRequest.defaultHttpContentType);
+        }
+        catch (System.Exception ex)
+        {
+            Debug.LogError("BugReportSys error" + ex);
+        }
+
+    }
+
+
+    const string chatReportUrl = "http://xssgcenter.secondworld.net.cn:11000/center/eventreport.php?";
+    public void ChatReport(string content, string channelName, string toPlayer, int chatType)
+    {
+#if !UNITY_EDITOR
+        bool isFairy = false; //chatType == ChatInfoType.Fairy;
+        var tables = new Dictionary<string, string>();
+        tables["ProductID"] = VersionConfig.Get().gameId;
+        tables["OperatorID"] = VersionConfig.Get().appId;
+        tables["OperatorName"] = string.Empty;
+        tables["RegionName"] = StringUtility.Concat("s", ServerListCenter.Instance.currentServer.region_flag);
+        tables["RegionID"] = ServerListCenter.Instance.currentServer.region_flag.ToString();
+        tables["EventID"] = 9003.ToString();
+        tables["Time"] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+        tables["IP"] = DeviceUtility.GetIp();
+        tables["ChatChannel"] = channelName;
+        var sdkLoginResult = ModelCenter.Instance.GetModel<LoginModel>().sdkLoginResult;
+        tables["AccountID"] = sdkLoginResult == null ? string.Empty : sdkLoginResult.account;
+        tables["RoleID"] = StringUtility.Concat(isFairy ? UIHelper.ServerStringTrim(PlayerDatas.Instance.baseData.FamilyName) : string.Empty,
+           isFairy ? "-" : string.Empty, UIHelper.ServerStringTrim(PlayerDatas.Instance.baseData.PlayerName));
+        tables["ToRoleID"] = UIHelper.ServerStringTrim(toPlayer);
+        tables["Level"] = PlayerDatas.Instance.baseData.LV.ToString();
+        tables["VIPLevel"] = PlayerDatas.Instance.baseData.VIPLv.ToString();
+        tables["Content"] = WWW.EscapeURL(UIHelper.TrimContentToServer(content));
+        tables["DeviceFlag"] = ynmbxxjUtil.Instance.Device == null ? string.Empty : ynmbxxjUtil.Instance.Device.uniqueID;
+
+        HttpRequest.Instance.RequestHttpGet(StringUtility.Concat(chatReportUrl, HttpRequest.HashtablaToString(tables)), HttpRequest.defaultHttpContentType);
+#endif
+    }
+
+}
diff --git a/Main/Utility/OperationLogCollect.cs.meta b/Main/Utility/OperationLogCollect.cs.meta
new file mode 100644
index 0000000..7d15ae8
--- /dev/null
+++ b/Main/Utility/OperationLogCollect.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a7570c85711df6d4ca0a3549a88cdeb2
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

--
Gitblit v1.8.0