From bd0ba263761a866ca0d698169d2d83b6a11c35e7 Mon Sep 17 00:00:00 2001 From: CoderM <coderm@qq.com> Date: Thu, 10 Dec 2020 17:04:37 +0800 Subject: [PATCH] CoderM: 增加SDKJSON处理 --- Assets/Scripts/Guide/TestButton.cs | 141 ++++++++++++++++++++++++++++++++--------------- 1 files changed, 96 insertions(+), 45 deletions(-) diff --git a/Assets/Scripts/Guide/TestButton.cs b/Assets/Scripts/Guide/TestButton.cs index 1156209..4f0fd8a 100644 --- a/Assets/Scripts/Guide/TestButton.cs +++ b/Assets/Scripts/Guide/TestButton.cs @@ -25,23 +25,35 @@ // string s="<color=red>范围伤害</color>"; // t.text=s; // Debug.Log(s.Length); - //TestFinalPanel(); - isSending = false; - TestHttp(); + 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); - SendPost("aaa", 7890, 1); - + score += 10; + SendPost(score.ToString(), score, 1, "25关 3波"); } + if (GUILayout.Button("SendGet", GUILayout.Width(150), GUILayout.Height(70))) { SendGet(); + + } + + if (GUILayout.Button("清理本地存储", GUILayout.Width(150), GUILayout.Height(70))) + { + PlayerPrefs.DeleteAll(); + Debug.Log("清理本地存储"); } GUILayout.EndArea(); @@ -72,15 +84,26 @@ /// <param name="nickname"></param> /// <param name="score"></param> /// <param name="level"></param> - private void SendPost(string nickname, int score, int level) + 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", imei0); + 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) @@ -88,6 +111,24 @@ }, 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) @@ -100,9 +141,11 @@ } else if (loginData["msg"].ToString() == "OK") { - Debug.Log("成功了"); - SendGet(); + Debug.Log("成功了当前score:" + score); + //SendGet(); } + + isSending = false; } /// <summary> @@ -110,6 +153,7 @@ /// </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); @@ -129,25 +173,40 @@ int myrank = int.Parse(getData["myrank"].ToString()); JsonData rank = getData["rank"]; + List<HttpGetInfo> allHttpGetInfoLis = new List<HttpGetInfo>(); + HttpGetInfo info; 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["extra"], - create_time = int.Parse(item["create_time"].ToString()), - } - ); + info = new HttpGetInfo(item); + allHttpGetInfoLis.Add(info); } 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}"); } } @@ -155,24 +214,25 @@ void TestFinalPanel() { - GameObject go = Instantiate(Resources.Load<GameObject>("UI/Final/FinalPanel"), transform); + GameObject a = Resources.Load<GameObject>("UI/Final/FinalPanel"); + GameObject go = Instantiate(a, transform); FinalPanel panelUI = go.GetComponent<FinalPanel>(); - panelUI.SetData("成绩 25关 3波", 789220); - panelUI.SetPlayEffectAC(null); + panelUI.SetData("1关 1波", 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); } @@ -206,7 +266,7 @@ Debug.Log("出怪完毕,等待火元素完成第一次充能"); yield return new WaitForSeconds(1f); Debug.Log("火元素充能效果结束,暂停出怪"); - EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.ChargingEnd); + //EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.ChargingEnd); } @@ -236,7 +296,7 @@ private void GetOneTowerPos() { Debug.Log("解锁了第一排第二个塔位"); - EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.GetOneTowerPos); + //EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.GetOneTowerPos); } @@ -285,13 +345,4 @@ } -public class HttpGetInfo -{ - public int id; - public string username; - public string nickname; - public int score; - public int level; - public JsonData extra; - public int create_time; -} + -- Gitblit v1.9.1