using LittleCow.Core.Helpers;
using LittleCow.Server.Extensions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using Trade.Client.Helpers;
using Trade.Client.HttpExtension;
namespace Trade.Client.APIs
{
///
/// 公共基础数据Api
///
internal class CommonApi : ServerReqeustBase
{
///
/// 获取服务器时间校准时间
///
public DateTime GetServerTime()
{
HttpResult result = ServerRequest(new ServerHttpItem { URL = $"{_config.Host}/time.php", IsSign = true });
if (result.StatusCode == HttpStatusCode.OK)
{
if (DateTime.TryParse(result.Html, out DateTime dt))
{
return dt;
}
else
{
throw new Exception("连接服务器失败,将导致无法登录");
}
}
return DateTime.Now;
}
///
/// 获取签名验证配置
///
public string GetAuthConfig()
{
ServerHttpItem item = new ServerHttpItem();
item.URL = $"{_config.Host}?obj=api/config&act=auth_config";
HttpResult result = ServerRequest(item);
if (result.StatusCode == HttpStatusCode.OK)
{
return result.Html;
}
return "";
}
///
/// 获取服务器图片缓存
///
///
///
public HttpResult GetImageCache(string imgUrl)
{
long id = 123;//BaseClass.GetLong(imgUrl);
ServerHttpItem item = new ServerHttpItem();
item.Method = MethodType.Post;
item.URL = BuildObjString("add_img");
item.Postdata = "act=get&table=" + Math.Abs(id % 1024) + "&id=" + id;
item.SignUser();
return ServerRequest(item);
}
///
/// 获取缓存服务集群负载比例
///
public string GetCacheServerRatio()
{
ServerHttpItem item = new ServerHttpItem();
item.URL = BuildObjString("config&act=cache_service_mode");
item.Method = MethodType.Post;
item.SignUser();
HttpResult result = ServerRequest(item);
if (result.StatusCode == HttpStatusCode.OK)
{
return result.Html;
}
return "";
}
}
}