极客续费

This commit is contained in:
wyongk
2021-01-24 21:20:31 +08:00
parent 1511493587
commit 8baf8c1c98

View File

@@ -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>