using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IStation.DataDockingApi
{
///
/// Token
///
internal class TokenHelper
{
private static DateTime _lastTokenTime ;
private static string _token = null;
//获取Token
private static string GetToken()
{
var appParas = AppParasHelper.Get();
var data =JsonHelper.Object2Json(appParas.account);
var responseText = HttpRequestHelper.Post(appParas.url.token, data);
var result = JsonHelper.Json2Object>(responseText);
if (!result.success)
return default;
return result.data;
}
//验证过期时间
private static bool Verify()
{
var appParas = AppParasHelper.Get();
if (_lastTokenTime.AddHours(appParas.expire) <= DateTime.Now)
{
return false;
}
return true;
}
/// 获取
public static string Get()
{
if (string.IsNullOrEmpty(_token))
{
_token = GetToken();
_lastTokenTime = DateTime.Now;
}
if (!Verify())
{
_token = GetToken();
_lastTokenTime = DateTime.Now;
}
return _token;
}
}
}