增加长时间保存,解决取影子以后后续请求失效问题(使用unity的请求库)
This commit is contained in:
1 parent
d498dd9148
commit
6effadc1e9
6 files changed
+1648
-1537
No files matched your search
@@ -10,6 +10,8 @@ using UnityEngine.UI;
|
||||
using Assets.Scripts.UI.Prefab.Login;
|
||||
using Newtonsoft.Json;
|
||||
using Assets.Scripts.UI.UIEffect;
|
||||
using UnityEngine.Networking;
|
||||
using Assets.Scripts.Apis;
|
||||
|
||||
public class RowerMultiModeScript : MonoBehaviour
|
||||
{
|
||||
@@ -197,49 +199,86 @@ public class RowerMultiModeScript : MonoBehaviour
|
||||
public int diff { get; set; }
|
||||
public int sumdiff { get; set; }
|
||||
}
|
||||
|
||||
public Dictionary<int, RankDiff> rankDiffDict;
|
||||
|
||||
private IEnumerator Get(string url,Action<JsonResult<List<RowerRank>>> callback)
|
||||
{
|
||||
var request = new UnityWebRequest(url, "GET");
|
||||
request.SetRequestHeader("Accept", "application/json");
|
||||
request.SetRequestHeader("User-Agent", "PowerFun UnityApp/2.1.3 Android");
|
||||
request.SetRequestHeader("Pf-User-Agent", "PowerFun UnityApp/2.1.3 Android");
|
||||
request.SetRequestHeader("Cookie", $"PowerFun.AUTH={App.CurrentUser.cookie}");
|
||||
request.SetRequestHeader("Language", App.GetLocalLanguage());
|
||||
request.SetRequestHeader("deviceUniqueIdentifier", App.DeviceUniqueIdentifier);
|
||||
request.SetRequestHeader("host", "pf.juze.pro");
|
||||
//request.SetRequestHeader("Accept-Encoding", "gzip, deflate");
|
||||
//defaultRequestHeaders.Add("deviceUniqueIdentifier", App.DeviceUniqueIdentifier);
|
||||
//defaultRequestHeaders.Remove("Language");
|
||||
//defaultRequestHeaders.Add("Language", App.GetLocalLanguage());
|
||||
request.downloadHandler = new DownloadHandlerBuffer();
|
||||
yield return request.SendWebRequest();
|
||||
if (request.isHttpError || request.isNetworkError)
|
||||
{
|
||||
Debug.LogError(request.error);
|
||||
}
|
||||
else
|
||||
{
|
||||
var res = JsonConvert.DeserializeObject<JsonResult<List<RowerRank>>>(request.downloadHandler.text, new JsonSerializerSettings
|
||||
{
|
||||
DateTimeZoneHandling = DateTimeZoneHandling.Local
|
||||
});
|
||||
callback.Invoke(res);
|
||||
//Debug.Log(request.downloadHandler.text);
|
||||
}
|
||||
}
|
||||
|
||||
public async void GetShadowList(RowerTaskPanel.RowerType rowerType, RowerResultModel reRowData)
|
||||
{
|
||||
this.rowerType = rowerType;
|
||||
currentSecond = GetComponent<RowerHomeScript>().historyTime - 1;
|
||||
//if(Application.internetReachability == NetworkReachability.NotReachable)
|
||||
var res = reRowData ==null? await ConfigHelper.rowerApi.GetShadowList(rowerType): await ConfigHelper.rowerApi.GetReRowShadowList(reRowData.Id);
|
||||
shadowList = res.data;
|
||||
|
||||
//foreach (var t in traceList)
|
||||
//{
|
||||
// t.userId = 0;
|
||||
// t.trace.gameObject.SetActive(false);
|
||||
//}
|
||||
var _tmpList = shadowList.Select(x => new TraceData
|
||||
|
||||
var url = $"{App.Host}Rower/GetShadowList?type={rowerType.type}&typeValue={rowerType.value}";
|
||||
if (reRowData != null)
|
||||
{
|
||||
list = x.list,
|
||||
NickName = x.NickName,
|
||||
Avatar = x.WxHeadImg,
|
||||
UserId = x.UserId,
|
||||
isMine = false,
|
||||
currentDistance = 0,
|
||||
Country = x.Country
|
||||
}).ToList();
|
||||
|
||||
myData = new TraceData();
|
||||
myData.list = new List<RowerChartModel>();
|
||||
myData.UserId = App.CurrentUser.Id;
|
||||
myData.NickName = App.CurrentUser.Nickname;
|
||||
myData.Avatar = App.CurrentUser.WxHeadImg;
|
||||
myData.isMine = true;
|
||||
myData.Country = App.CurrentUser.Country;
|
||||
_tmpList.Insert(_tmpList.Count / 2, myData);
|
||||
//_tmpList.Add(myData);
|
||||
userList = _tmpList.OrderByDescending(x => x.currentDistance).ToList();
|
||||
rankDiffDict = new Dictionary<int, RankDiff>();
|
||||
for (int i = 0; i < userList.Count; i++)
|
||||
{
|
||||
userList[i].currentRank = i + 1;
|
||||
rankDiffDict.Add(userList[i].UserId, new RankDiff { rank = userList[i].currentRank, diff = 0 });
|
||||
url = $"{App.Host}Rower/GetReRowShadowList?Id={reRowData.Id}";
|
||||
}
|
||||
DisplayUserRanks(true);
|
||||
DisplayTraces(true);
|
||||
StartCoroutine(Get(url, (res) =>
|
||||
{
|
||||
shadowList = res.data;
|
||||
var _tmpList = shadowList.Select(x => new TraceData
|
||||
{
|
||||
list = x.list,
|
||||
NickName = x.NickName,
|
||||
Avatar = x.WxHeadImg,
|
||||
UserId = x.UserId,
|
||||
isMine = false,
|
||||
currentDistance = 0,
|
||||
Country = x.Country
|
||||
}).ToList();
|
||||
|
||||
myData = new TraceData();
|
||||
myData.list = new List<RowerChartModel>();
|
||||
myData.UserId = App.CurrentUser.Id;
|
||||
myData.NickName = App.CurrentUser.Nickname;
|
||||
myData.Avatar = App.CurrentUser.WxHeadImg;
|
||||
myData.isMine = true;
|
||||
myData.Country = App.CurrentUser.Country;
|
||||
_tmpList.Insert(_tmpList.Count / 2, myData);
|
||||
//_tmpList.Add(myData);
|
||||
userList = _tmpList.OrderByDescending(x => x.currentDistance).ToList();
|
||||
rankDiffDict = new Dictionary<int, RankDiff>();
|
||||
for (int i = 0; i < userList.Count; i++)
|
||||
{
|
||||
userList[i].currentRank = i + 1;
|
||||
rankDiffDict.Add(userList[i].UserId, new RankDiff { rank = userList[i].currentRank, diff = 0 });
|
||||
}
|
||||
DisplayUserRanks(true);
|
||||
DisplayTraces(true);
|
||||
}));
|
||||
//App.Host + $"/Rower/GetShadowList?type={rowerType.type}&typeValue={rowerType.value}"
|
||||
//var res = reRowData == null ? await ConfigHelper.rowerApi.GetShadowList(rowerType) : await ConfigHelper.rowerApi.GetReRowShadowList(reRowData.Id);
|
||||
//return;
|
||||
}
|
||||
float GetStrokeSpeed(uint rate)
|
||||
{
|
||||
@@ -951,6 +990,7 @@ public class RowerMultiModeScript : MonoBehaviour
|
||||
}
|
||||
private void DisplayUserRanks(bool isRefresh = false)
|
||||
{
|
||||
if (!scrollRank) return;
|
||||
if (isRefresh)
|
||||
{
|
||||
scrollRank.content.DestroyChildren();
|
||||
|
||||
Reference in new issue
Block a user