using Assets.Scenes.Ride.Scripts.Model;
using Assets.Scripts.Apis.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Assets.Scripts.Apis
{
public class MapApi :ApiBase
{
public string GetMapToken(string name)
{
return Get($"Map/GetMapToken?name={name}");
}
///
/// 获取路线数据
///
///
///
public MapDataModel GetData(int id)
{
return Newtonsoft.Json.JsonConvert.DeserializeObject(Get("Map/GetData?routeId="+id));
}
///
/// 从服务端获取记录信息
///
///
public List GetRecordFileFromServer(List id)
{
return Post>>("Map/GetCyclingRecordsById", id).data;
}
///
/// 通过Id获取路书
///
///
///
public JsonResult GetById(int id)
{
return Get>($"Map/GetMapRouteById?id={id}");
}
///
///
///
///
///
/// 名称,地址,编号
/// 距离,格式0-10
///
/// hot, distance
/// asc
///
public Task>> GetList(int pageIndex, int pageSize, string name, string distance="", string hands="", bool is3D=false, string sort="", string sortDire = "", bool isFav = false)
{
var url = $"Map/GetRoute?pageIndex={ pageIndex }&pageSize={ pageSize }&name={ name }&distance={ distance }&hands={ hands }&is3D={ is3D }&sort={ sort }&sortDire={ sortDire }&isFav={isFav}";
return GetAsync>>(url);
}
///
/// 从服务端获取Key
///
///
public Dictionary GetServiceKeyFromServer()
{
return Get>>($"Map/GetServiceKey").data;
}
///
/// 获取在线用户的数据
///
///
///
public JsonResult> GetOnlineUserInfo(IEnumerable ids)
{
//var result = PostAsync>>("Map/GetUserInfoByIds", ids).ConfigureAwait(false).GetAwaiter().GetResult();
var result = Newtonsoft.Json.JsonConvert.DeserializeObject>>(Post("Map/GetUserInfoByIds", ids));
if (result.result)
{
return result;
}
return null;
}
public async Task>> GetNearRouteAsync(float lat, float lng, float zoom, string bounds)
{
var res = await GetAsync>>($"/Map/GetNearRoute?lat={ lat }&lng={ lng }&zoom={zoom}&bounds={ bounds }");
//var result = System.Text.Encoding.UTF8.GetString(res);
return res;
}
public async Task GetDetailsAsync(int[] ids)
{
var res = await GetAsync("/Map/GetDetails?ids=" + string.Join(",", ids));
return Encoding.UTF8.GetString(res);
}
///
/// 添加收藏
///
///
public async Task> AddFav(string routeId)
{
return await PostAsync>("/MemberFavoriteMap/Add",new { routeId });
}
///
/// 取消收藏
///
///
public async Task> CancelFav(string routeId)
{
return await PostAsync>("/MemberFavoriteMap/Cancel", new { routeId });
}
public async Task> DeleteRecord(string id)
{
return await PostAsync>("/MapRecord/Delete", new { id });
}
public JsonResult GetRouteRanking(int id,string type, int pageIndex,int pageSize,string name)
{
var url = $"Map/v1/GetRouteRanking?pageIndex={ 0 }&pageSize={ pageSize }&name={ name }&id={ id }&type={ type }&filterSelf={ true }";
return Get>(url);
}
public async Task> GetEarthData(double lat, double lon)
{
var result = await GetAsync>($"Map/GetEarthData?lat={ lat }&lon={ lon }");
return result;
}
}
}