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