西瓜续费

This commit is contained in:
“wanyongkang”
2021-01-24 11:23:39 +08:00
parent 3679f727c4
commit 1511493587
2 changed files with 32 additions and 66 deletions

View File

@@ -499,9 +499,6 @@ namespace Hncore.Pass.Vpn.Service
{
var resp = await client.GetAsync(this.ExistUrl + "?" + Sign(map));
var content = await resp.Content.ReadAsStringAsync();
Console.WriteLine("====================================================");
Console.WriteLine(content);
Console.WriteLine("------------=================================================");
JObject jo = (JObject)JsonConvert.DeserializeObject(content);
var status = jo["status"].ToString();
if (status != "200")

View File

@@ -351,78 +351,47 @@ namespace Hncore.Pass.Vpn.Service
/// <returns></returns>
public override async Task<ApiResult<OriginAccountModel>> GetAccountInfo(string account, bool isTest = false)
{
var client = CreateHttpClient();
var map = new Dictionary<string, string>(){
{"user",account },
{"type","getuserinfo" },
};
var client = CreateHttpClient();
var title = GetOpTitle("GetAccountInfo", account);
var info = "";
try
{
var searchUser = $"user_main/?sum=100&page=1&search_data={account}";
var resp = await client.GetAsync(searchUser);
var content = await resp.Content.ReadAsStringAsync();
//账号信息
var resp_info = await client.GetAsync("/userapi/?secretId=20210121152313846555&secretKey=C41nUV6KpjvdYkfr&type=getuserinfo&user="+account);
var content_info = await resp_info.Content.ReadAsStringAsync();
var parser = new HtmlParser();
var document = await parser.ParseDocumentAsync(content);
////table class="table table-bordered"
var trs = document.QuerySelectorAll("#datatable tr").ToList();
// var trs= table.QuerySelectorAll("tr").ToList();
var retData = new List<OriginAccountModel>();
var info = "";
if (trs.Count() > 1)
JObject jo = (JObject)JsonConvert.DeserializeObject(content_info);
var status = jo["code"].ToString();
var trData = new OriginAccountModel
{
//var tr = trs.Skip(1).FirstOrDefault();
foreach (var tr in trs.Skip(1))
{
var tds = tr.QuerySelectorAll("td").ToList();
var tdAccount = tds[1].TextContent;
if (tdAccount != account)
continue;
info = string.Join("", tds.Select(m => m.OuterHtml));
var trData = new OriginAccountModel
{
Account = account,
Pwd = tds[2].TextContent,
AccountType = tds[3].TextContent,
Package = tds[3].TextContent,
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);
}
}
}
Id = account,
Account = account,
Pwd = account,
AccountType = "",
Package = "",
ConnectCount = jo["logincount "].ToString(),
RegistTime = "",
EndTime = jo["expiretime "].ToString(),
RestTime = "",
Amount = "",
Remark = "",
};
trData.RealEndTime = DateTime.Parse(trData.EndTime);
return new ApiResult<OriginAccountModel>(trData);
}
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, "没有查询到信息");
}
/// <summary>
/// 修改账号密码