wangguan
2020-12-08 3d13f2e8a23602aedb8adf5d2d02e377a330a61b
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);
    }
@@ -43,14 +46,14 @@
    {
        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("extra", waveInfo);
        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波
        HttpHelper.Request(this, url, HttpHelper.MethodType.POST, keyValues, delegate (object value)
        {
@@ -59,12 +62,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 +76,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")
        {
@@ -98,7 +104,7 @@
            else
            {
                Debug.LogError("连接错误");
                callBack?.Invoke(null, 0);
                callBack?.Invoke(null, 0, null);
            }
        }, HttpHelper.DownloadHanlderType.kHttpTEXT);
@@ -110,32 +116,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());
    }
}