using Assets.Scripts.Apis.Models; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using UnityEngine; namespace Assets.Scripts.Apis { internal class MapCompetitionApi : ApiBase { /// /// 比赛实体 /// /// /// public JsonResult GetById(int id) { return Get>("/MapCompetition/GetDetail?id=" + id); } /// /// 获取当前比赛排名 /// /// /// public JsonResult> GetRankingListAsync(int id) { var list = Get>($"/MapRecord/GetCompetitionRanking?id={ id }&pageIndex=0&pageSize=999"); return new JsonResult> { result = list.result, errMsg = list.errMsg, data = Newtonsoft.Json.JsonConvert.DeserializeObject>(JsonConvert.SerializeObject(list.data.list)) }; } //查询我参与的比赛列表 public JsonResult> GetMyCompetitionList() { var list = Get>>($"/MapCompetition/v0/GetMyList"); return new JsonResult> { result = list.result, errMsg = list.errMsg, data = Newtonsoft.Json.JsonConvert.DeserializeObject>(JsonConvert.SerializeObject(list.data)) }; } //查询比赛列表 public JsonResult> GetCompetitionList(string name,int pageIndex,int pageSize,int status=0) { var list = Get>>($"/MapCompetition/v1/GetList?pageIndex={ pageIndex }&pageSize={ pageSize }&name={ name }&status={ status }"); return new JsonResult> { result = list.result, errMsg = list.errMsg, data = Newtonsoft.Json.JsonConvert.DeserializeObject>(JsonConvert.SerializeObject(list.data)) }; } public async Task>> GetCompetitionListV2(string name, int pageIndex, int pageSize, string status = "", int order = 1, bool self = false, int activity = 0) { var list = await GetAsync>>($"/MapCompetition/v2/GetList?pageIndex={ pageIndex }&pageSize={ pageSize }&name={ name }&status={ status }&order={order}&self={self}&activity={activity}"); Debug.Log("67"); return new JsonResult> { result = list.result, errMsg = list.errMsg, data = Newtonsoft.Json.JsonConvert.DeserializeObject>(JsonConvert.SerializeObject(list.data)) }; } //查询比赛详情 public JsonResult GetCompetitionDetail(int id) { var list = Get>($"/MapRouteGlobalCycling/Get?id={ id }"); return new JsonResult { result = list.result, errMsg = list.errMsg, data = Newtonsoft.Json.JsonConvert.DeserializeObject(JsonConvert.SerializeObject(list.data)) }; } //报名比赛 public JsonResult ApplyMapCompetition(int id) { var param = new { id = id, }; return Post($"/MapCompetition/ApplyMapCompetition", param); } //取消报名比赛 public JsonResult CancelMapCompetition(int id) { var param = new { id = id, }; return Post($"/MapCompetition/CancelMapCompetition", param); } } }