namespace IStation.DataDockingApi
|
{
|
/// <summary>
|
/// Token
|
/// </summary>
|
public class TokenHelper
|
{
|
private static DateTime _lastTokenTime;
|
private static string _token = null;
|
|
//获取Token
|
private static string GetToken()
|
{
|
var result = HttpRequestHelper.Login();
|
if (result == null)
|
{
|
return default;
|
}
|
if (result.status != "SUCCESS")
|
{
|
var json = JsonHelper.Object2Json(result);
|
LogHelper.Info(json);
|
return default;
|
}
|
return result.content.token;
|
}
|
|
//验证过期时间
|
private static bool Verify()
|
{
|
var appParas = AppParasHelper.Get();
|
if (_lastTokenTime.AddHours(appParas.expire) < DateTime.Now)
|
{
|
return false;
|
}
|
return true;
|
}
|
|
/// <summary>
|
/// 获取 (验证过期时间,使用缓存token)
|
/// </summary>
|
public static string Get()
|
{
|
if (string.IsNullOrEmpty(_token))
|
{
|
_token = GetToken();
|
_lastTokenTime = DateTime.Now;
|
}
|
if (!Verify())
|
{
|
_token = GetToken();
|
_lastTokenTime = DateTime.Now;
|
}
|
return _token;
|
}
|
|
/// <summary>
|
/// 重新获取 (不做任何验证,重新获取token,之后更新缓存)
|
/// </summary>
|
public static string GetAgain()
|
{
|
_token = GetToken();
|
_lastTokenTime = DateTime.Now;
|
return _token;
|
}
|
|
|
}
|
}
|