极客续费
This commit is contained in:
@@ -351,77 +351,45 @@ namespace Hncore.Pass.Vpn.Service
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public override async Task<ApiResult<OriginAccountModel>> GetAccountInfo(string account, bool isTest = false)
|
public override async Task<ApiResult<OriginAccountModel>> GetAccountInfo(string account, bool isTest = false)
|
||||||
{
|
{
|
||||||
var client = CreateHttpClient();
|
var client = CreateHttpClient();
|
||||||
var map = new Dictionary<string, string>(){
|
|
||||||
{"user",account },
|
|
||||||
{"type","getuserinfo" },
|
|
||||||
};
|
|
||||||
var title = GetOpTitle("GetAccountInfo", account);
|
var title = GetOpTitle("GetAccountInfo", account);
|
||||||
|
|
||||||
|
|
||||||
|
var info = "";
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var searchUser = $"userList/?sum=100&page=1&search_data={account}";
|
//账号信息
|
||||||
var resp = await client.GetAsync(searchUser);
|
var resp_info = await client.GetAsync("/userapi/?secretId=20210121152313846555&secretKey=C41nUV6KpjvdYkfr&type=getuserinfo&user="+account);
|
||||||
var content = await resp.Content.ReadAsStringAsync();
|
var content_info = await resp_info.Content.ReadAsStringAsync();
|
||||||
|
|
||||||
var parser = new HtmlParser();
|
JObject jo = (JObject)JsonConvert.DeserializeObject(content_info);
|
||||||
var document = await parser.ParseDocumentAsync(content);
|
var status = jo["code"].ToString();
|
||||||
////table class="table table-bordered"
|
|
||||||
var trs = document.QuerySelectorAll("#datatable tr").ToList();
|
|
||||||
// var trs= table.QuerySelectorAll("tr").ToList();
|
|
||||||
var retData = new List<OriginAccountModel>();
|
var trData = new OriginAccountModel
|
||||||
var info = "";
|
|
||||||
if (trs.Count() > 1)
|
|
||||||
{
|
{
|
||||||
//var tr = trs.Skip(1).FirstOrDefault();
|
Id = account,
|
||||||
foreach (var tr in trs.Skip(1))
|
Account = account,
|
||||||
{
|
Pwd = account,
|
||||||
var tds = tr.QuerySelectorAll("td").ToList();
|
AccountType = "",
|
||||||
var tdAccount = tds[1].TextContent;
|
Package = "",
|
||||||
if (tdAccount != account)
|
ConnectCount = jo["logincount "].ToString(),
|
||||||
continue;
|
RegistTime = "",
|
||||||
info = string.Join("", tds.Select(m => m.OuterHtml));
|
EndTime = jo["expiretime "].ToString(),
|
||||||
var trData = new OriginAccountModel
|
RestTime = "",
|
||||||
{
|
Amount = "",
|
||||||
Account = account,
|
Remark = "",
|
||||||
Pwd = tds[2].TextContent,
|
};
|
||||||
AccountType = tds[3].TextContent,
|
trData.RealEndTime = DateTime.Parse(trData.EndTime);
|
||||||
Package = tds[3].TextContent,
|
return new ApiResult<OriginAccountModel>(trData);
|
||||||
RegistTime = tds[5].TextContent,
|
}
|
||||||
EndTime = tds[6].TextContent,
|
|
||||||
ConnectCount = tds[4].TextContent,
|
|
||||||
IsActive = tds[7].TextContent,
|
|
||||||
Remark = tds[8].TextContent,
|
|
||||||
};
|
|
||||||
|
|
||||||
trData.RealEndTime = DateTime.Parse(trData.EndTime);
|
|
||||||
if (trData.RealEndTime < DateTime.Now)
|
|
||||||
{
|
|
||||||
trData.RestTime = "已过期";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
trData.RestTime = (trData.RealEndTime - DateTime.Now).ToString(@"dd\.hh\:mm\:ss");
|
|
||||||
}
|
|
||||||
|
|
||||||
var button = tr.LastElementChild.QuerySelector("button")?.Attributes["onclick"]?.Value;
|
|
||||||
if (button.Has())
|
|
||||||
{
|
|
||||||
var start = button.IndexOf('(');
|
|
||||||
var end = button.IndexOf(")");
|
|
||||||
if (start != -1 && end != -1)
|
|
||||||
{
|
|
||||||
trData.Id = button.Substring(start + 1, end - start);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return new ApiResult<OriginAccountModel>(trData);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
LogHelper.Error(title, ex.Message);
|
LogHelper.Error(title, ex.Message+"-->info:"+ info);
|
||||||
|
return new ApiResult<OriginAccountModel>(ResultCode.C_INVALID_ERROR, "查询失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
return new ApiResult<OriginAccountModel>(ResultCode.C_INVALID_ERROR, "没有查询到信息");
|
return new ApiResult<OriginAccountModel>(ResultCode.C_INVALID_ERROR, "没有查询到信息");
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
Reference in New Issue
Block a user