From 452c75675679c44cc39b04bdb7d330d7c5c14d5c Mon Sep 17 00:00:00 2001
From: wangguan <wangguan@kt007.com>
Date: Tue, 29 Dec 2020 10:48:06 +0800
Subject: [PATCH] 增加多SDK支持。常规使用SDKChannel.KTGM 偶哈游的是空SDK

---
 Assets/Scripts/UI/FinalPanel/FinalHttp.cs |   96 +++++++++++++++++++++++++++++++++++-------------
 1 files changed, 70 insertions(+), 26 deletions(-)

diff --git a/Assets/Scripts/UI/FinalPanel/FinalHttp.cs b/Assets/Scripts/UI/FinalPanel/FinalHttp.cs
index 81a9370..505010e 100644
--- a/Assets/Scripts/UI/FinalPanel/FinalHttp.cs
+++ b/Assets/Scripts/UI/FinalPanel/FinalHttp.cs
@@ -7,9 +7,9 @@
 
 public class FinalHttp : MonoBehaviour
 {
-    Action<List<HttpGetInfo>, int> callBack;
+    Action<List<HttpGetInfo>, int, HttpGetInfo> callBack;
     int _limit;
-    public void Init(Action<List<HttpGetInfo>, int> ac, int limit)
+    public void Init(Action<List<HttpGetInfo>, int, HttpGetInfo> ac, int limit)
     {
         isSending = false;
         callBack = ac;
@@ -25,10 +25,13 @@
 
             GameConfig.Imei = TDAA_SDKManager.Ins.GetDeviceId();//使用设备ID
         }
-        else if (Application.platform == RuntimePlatform.WindowsEditor)
+        else if (Application.platform == RuntimePlatform.WindowsEditor || Application.platform == RuntimePlatform.WindowsPlayer)
         {
-            GameConfig.Imei = "MyTestGemBattle1233333";
+            //为了方便测试
+            GameConfig.Imei = PlayerPrefs.GetString("GemBattlePlayerNickName");
+            Debug.Log("这里是电脑版,直接设置Imei为昵称" + GameConfig.Imei);
         }
+
         Debug.Log("设置imei0:" + GameConfig.Imei);
     }
 
@@ -41,16 +44,20 @@
     /// <param name="level"></param>
     public void SendPost(string nickname, int score, int level, string waveInfo)
     {
-        LoadImei();
+        if (!GameConfig.useSDK)
+            LoadImei();
         Debug.Log("开始Post" + nickname);
+
         string url = "http://9377-big-data.sbk-h5.com:8600/users/addrank";
         Dictionary<string, object> keyValues = new Dictionary<string, object>();
-        keyValues.Add("username", GameConfig.Imei);
-        keyValues.Add("nickname", nickname);
-        keyValues.Add("score", score);
-        keyValues.Add("level", level);
+        keyValues.Add("username", GameConfig.Imei);//唯一ID
+        keyValues.Add("nickname", nickname);//昵称
+        keyValues.Add("score", score);//分数
+        keyValues.Add("level", level);//等级,默认1就行
+        keyValues.Add("extra", waveInfo);//1关 1波
+        keyValues.Add("rank_id", (int)SDKConfig.sdkChannel);//渠道ID
 
-        keyValues.Add("extra", waveInfo);
+
 
         HttpHelper.Request(this, url, HttpHelper.MethodType.POST, keyValues, delegate (object value)
         {
@@ -59,12 +66,13 @@
             else
             {
                 Debug.LogError("连接错误");
-                callBack?.Invoke(null, 0);
+                callBack?.Invoke(null, 0, null);
             }
 
         }, HttpHelper.DownloadHanlderType.kHttpTEXT);
 
     }
+    string playerPrefs_NickName = "GemBattlePlayerNickName";
 
     private void LoadPostTxt(string value)
     {
@@ -72,7 +80,9 @@
         loginData = JsonMapper.ToObject(value);
         if (loginData["error"].ToString() != "0")
         {
-            Debug.Log("失败了");
+            Debug.LogError("失败了,这里是否需要重置名字???");
+            //PlayerPrefs.SetString(playerPrefs_NickName, "");
+            callBack?.Invoke(null, 0, null);
         }
         else if (loginData["msg"].ToString() == "OK")
         {
@@ -90,6 +100,7 @@
         Dictionary<string, object> keyValues = new Dictionary<string, object>();
         keyValues.Add("username", GameConfig.Imei);
         keyValues.Add("limit", _limit);
+        keyValues.Add("rank_id", (int)SDKConfig.sdkChannel);//渠道ID
 
         HttpHelper.Request(this, url, HttpHelper.MethodType.GET, keyValues, delegate (object value)
         {
@@ -98,7 +109,7 @@
             else
             {
                 Debug.LogError("连接错误");
-                callBack?.Invoke(null, 0);
+                callBack?.Invoke(null, 0, null);
             }
         }, HttpHelper.DownloadHanlderType.kHttpTEXT);
 
@@ -110,32 +121,65 @@
         int myrank = int.Parse(getData["myrank"].ToString());
         Debug.Log("当前排名:" + myrank);
 
+        JsonData mydata = getData["mydata"];
+        HttpGetInfo mydataHttpInfo = new HttpGetInfo(mydata);
+
         JsonData rank = getData["rank"];
         List<HttpGetInfo> allHttpGetInfoLis = new List<HttpGetInfo>();
         HttpGetInfo info;
-        string tmpStr;
+        //string tmpStr;
         foreach (JsonData item in rank)
         {
-            info = new HttpGetInfo();
-            info.id = int.Parse(item["id"].ToString());
-            info.username = item["username"].ToString();
-            info.nickname = item["nickname"].ToString();
-            info.score = int.Parse(item["score"].ToString());
-            info.level = int.Parse(item["level"].ToString());
+            info = new HttpGetInfo(item);
+            // info.id = int.Parse(item["id"].ToString());
+            // info.username = item["username"].ToString();
+            // info.nickname = item["nickname"].ToString();
+            // info.score = int.Parse(item["score"].ToString());
+            // info.level = int.Parse(item["level"].ToString());
 
-            tmpStr = item["extra"].ToString();
-            tmpStr = tmpStr.Remove(0, 1);
-            tmpStr = tmpStr.Remove(tmpStr.Length - 1, 1);
+            // tmpStr = item["extra"].ToString();
+            // tmpStr = tmpStr.Remove(0, 1);
+            // tmpStr = tmpStr.Remove(tmpStr.Length - 1, 1);
 
-            info.waveInfo = tmpStr;
-            info.create_time = int.Parse(item["create_time"].ToString());
+            // info.waveInfo = tmpStr;
+            // info.create_time = int.Parse(item["create_time"].ToString());
             allHttpGetInfoLis.Add(info);
         }
 
         if (callBack != null)
         {
-            callBack(allHttpGetInfoLis, myrank);
+            Debug.Log($"下载到的列表个数:{allHttpGetInfoLis.Count}");
+            callBack(allHttpGetInfoLis, myrank, mydataHttpInfo);
         }
     }
 
 }
+
+public class HttpGetInfo
+{
+    public int id;
+    public string username;
+    public string nickname;
+    public int score;
+    public int level;
+    public JsonData extra;
+    public string waveInfo;
+    public int create_time;
+
+    public HttpGetInfo(JsonData data)
+    {
+        string tmpStr;
+        id = int.Parse(data["id"].ToString());
+        username = data["username"].ToString();
+        nickname = data["nickname"].ToString();
+        score = int.Parse(data["score"].ToString());
+        level = int.Parse(data["level"].ToString());
+
+        tmpStr = data["extra"].ToString();
+        tmpStr = tmpStr.Remove(0, 1);
+        tmpStr = tmpStr.Remove(tmpStr.Length - 1, 1);
+
+        waveInfo = tmpStr;
+        create_time = int.Parse(data["create_time"].ToString());
+    }
+}

--
Gitblit v1.9.1