From 19a439d778c8ddc0cefb71d341da4e7329911d57 Mon Sep 17 00:00:00 2001 From: wangguan <wangguan@kt007.com> Date: Thu, 03 Dec 2020 20:46:53 +0800 Subject: [PATCH] 修改排行榜 --- Assets/Scripts/Guide/TestButton.cs | 230 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 218 insertions(+), 12 deletions(-) diff --git a/Assets/Scripts/Guide/TestButton.cs b/Assets/Scripts/Guide/TestButton.cs index 80e590c..735f3e2 100644 --- a/Assets/Scripts/Guide/TestButton.cs +++ b/Assets/Scripts/Guide/TestButton.cs @@ -3,6 +3,12 @@ using UnityEngine; using UnityEngine.UI; using KTGMGemClient; +using LitJson; +using UnityEngine.Networking; +using System.Net; +using System.IO; +using System.Collections.Generic; + public class TestButton : MonoBehaviour { //public Text t; @@ -20,28 +26,216 @@ // t.text=s; // Debug.Log(s.Length); TestFinalPanel(); + // isSending = false; + // score = 0; + + // TestHttp(); + } + + int score; + private void OnGUI() + { + GUILayout.BeginArea(new Rect(5, 330, 150, 300)); + if (GUILayout.Button("SendRequest", GUILayout.Width(150), GUILayout.Height(70))) + { + //SendRequest("aa", 4700, 28); + score += 100; + SendPost(score.ToString(), score, 1, "成绩 25关 3波"); + } + + if (GUILayout.Button("SendGet", GUILayout.Width(150), GUILayout.Height(70))) + { + SendGet(); + + } + GUILayout.EndArea(); + + } + private JsonData loginData; + + public string imei0 = "";//设备信息唯一ID + private bool isSending = false; + void TestHttp() + { + if (Application.platform == RuntimePlatform.Android) + { + //GetetDeviceIMEI();//获取安卓手机IMEI + imei0 = TDAA_SDKManager.Ins.GetDeviceId();//使用设备ID + } + else if (Application.platform == RuntimePlatform.WindowsEditor) + { + imei0 = "MyTestGemBattle123"; + } + Debug.Log("设置imei0:" + imei0); + } + + + /// <summary> + /// + /// </summary> + /// <param name="nickname"></param> + /// <param name="score"></param> + /// <param name="level"></param> + private void SendPost(string nickname, int score, int level, string waveInfo) + { + Debug.Log("开始Post"); + if (isSending) return; + isSending = true; + string url = "http://9377-big-data.sbk-h5.com:8600/users/addrank"; + + Dictionary<string, object> keyValues = new Dictionary<string, object>(); + keyValues.Add("username", nickname); + keyValues.Add("nickname", nickname); + keyValues.Add("score", score); + keyValues.Add("level", level); + keyValues.Add("extra", waveInfo); + + //string v = PostWebRequest(url, data.ToJson()); + //LoadPostTxt(v); + //Debug.Log(v); + //byte[] postBytes = System.Text.Encoding.Default.GetBytes(data.ToJson()); + //StartCoroutine(Post(url, postBytes)); + + HttpHelper.Request(this, url, HttpHelper.MethodType.POST, keyValues, delegate (object value) + { + if (value != null) + LoadPostTxt(value.ToString()); + + }, HttpHelper.DownloadHanlderType.kHttpTEXT); + + } + + IEnumerator Post(string url, byte[] postBytes) + { + UnityWebRequest request = UnityWebRequest.Post(url, "POST"); + request.uploadHandler = new UploadHandlerRaw(postBytes); + request.downloadHandler = new DownloadHandlerBuffer(); + request.SetRequestHeader("Content-Type", "application/json"); + yield return request.SendWebRequest(); + + if (request.isDone) + { + LoadPostTxt(request.downloadHandler.text); + } + else + { + + } + } + + private void LoadPostTxt(string value) + { + Debug.Log(value); + loginData = JsonMapper.ToObject(value); + if (loginData["error"].ToString() != "0") + { + Debug.Log("失败了"); + } + else if (loginData["msg"].ToString() == "OK") + { + Debug.Log("成功了当前score:" + score); + //SendGet(); + } + + isSending = false; + } + + /// <summary> + /// 下载排行榜 + /// </summary> + private void SendGet() + { + Debug.Log("开始下载排行榜"); + string url = "http://9377-big-data.sbk-h5.com:8600/users/getrank";//9377-big-data.sbk-h5.com:8600/users/getrank?username=0001&limit=100 + Dictionary<string, object> keyValues = new Dictionary<string, object>(); + keyValues.Add("username", imei0); + keyValues.Add("limit", 100); + + HttpHelper.Request(this, url, HttpHelper.MethodType.GET, keyValues, delegate (object value) + { + if (value != null) + LoadGetTxt(value.ToString()); + }, HttpHelper.DownloadHanlderType.kHttpTEXT); + + } + + private void LoadGetTxt(string value) + { + JsonData getData = JsonMapper.ToObject(value); + int myrank = int.Parse(getData["myrank"].ToString()); + + JsonData rank = getData["rank"]; + + List<HttpGetInfo> allHttpGetInfoLis = new List<HttpGetInfo>(); + foreach (JsonData item in rank) + { + allHttpGetInfoLis.Add( + new HttpGetInfo + { + id = int.Parse(item["id"].ToString()), + username = item["username"].ToString(), + + nickname = item["nickname"].ToString(), + score = int.Parse(item["score"].ToString()), + level = int.Parse(item["level"].ToString()), + extra = item["nickname"], + waveInfo = item["extra"].ToString(), + create_time = int.Parse(item["create_time"].ToString()), + } + ); + } + + foreach (HttpGetInfo item in allHttpGetInfoLis) + { + + Debug.LogError(item.extra); + Debug.LogError(item.nickname); + Debug.LogError(item.waveInfo); + + // if (item.extra.ContainsKey("waveInfo")) + // { + // Debug.LogError(item.extra["waveInfo"]); + // } + // string a = item.extra.ToJson(); + // Debug.LogError(a); + // JsonData tmpData = JsonMapper.ToObject(a); + // Debug.LogError(tmpData); + + // JsonData tmpData = item.extra; + // if (tmpData != null) + // { + // if (tmpData.Count > 0) + // } + // if (item.extra.ContainsKey("waveInfo")) + // { + // Debug.LogError(item.extra["waveInfo"].ToString()); + // } + Debug.Log($"item.username:{item.username} item.nickname:{item.nickname} item.score:{item.score} item.create_time:{item.create_time}"); + } + } + void TestFinalPanel() { GameObject go = Instantiate(Resources.Load<GameObject>("UI/Final/FinalPanel"), transform); FinalPanel panelUI = go.GetComponent<FinalPanel>(); - panelUI.SetData("成绩 25关 3波", 789220); + panelUI.SetData("25关 3波", 101); panelUI.SetPlayEffectAC(null); } private void OnEnable() { - EventCenter.Ins.Add((int)KTGMGemClient.EventType.AddCard, AddCard); - EventCenter.Ins.Add((int)KTGMGemClient.EventType.CreateFireLv2, CreateFireLv2); - EventCenter.Ins.Add((int)KTGMGemClient.EventType.CreateFirstWave, CreateFirstWave); - EventCenter.Ins.Add((int)KTGMGemClient.EventType.RestartWave, RestartWave); - EventCenter.Ins.Add<int>((int)KTGMGemClient.EventType.AddGold, AddGold); - EventCenter.Ins.Add((int)KTGMGemClient.EventType.CreateWaterLv1, CreateWaterLv1); - EventCenter.Ins.Add((int)KTGMGemClient.EventType.CreateSecondWave, CreateSecondWave); - EventCenter.Ins.Add((int)KTGMGemClient.EventType.SkillRelease, SkillRelease); - EventCenter.Ins.Add((int)KTGMGemClient.EventType.GuideFinish, GuideFinish); + //EventCenter.Ins.Add((int)KTGMGemClient.EventType.AddCard, AddCard); + // EventCenter.Ins.Add((int)KTGMGemClient.EventType.CreateFireLv2, CreateFireLv2); + // EventCenter.Ins.Add((int)KTGMGemClient.EventType.CreateFirstWave, CreateFirstWave); + // EventCenter.Ins.Add((int)KTGMGemClient.EventType.RestartWave, RestartWave); + // EventCenter.Ins.Add<int>((int)KTGMGemClient.EventType.AddGold, AddGold); + // EventCenter.Ins.Add((int)KTGMGemClient.EventType.CreateWaterLv1, CreateWaterLv1); + // EventCenter.Ins.Add((int)KTGMGemClient.EventType.CreateSecondWave, CreateSecondWave); + // EventCenter.Ins.Add((int)KTGMGemClient.EventType.SkillRelease, SkillRelease); + // EventCenter.Ins.Add((int)KTGMGemClient.EventType.GuideFinish, GuideFinish); } @@ -75,7 +269,7 @@ Debug.Log("出怪完毕,等待火元素完成第一次充能"); yield return new WaitForSeconds(1f); Debug.Log("火元素充能效果结束,暂停出怪"); - EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.ChargingEnd); + //EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.ChargingEnd); } @@ -105,7 +299,7 @@ private void GetOneTowerPos() { Debug.Log("解锁了第一排第二个塔位"); - EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.GetOneTowerPos); + //EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.GetOneTowerPos); } @@ -153,3 +347,15 @@ } } + +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; +} -- Gitblit v1.9.1