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);
}
}
}