diff --git a/Services/Hncore.Pass.Vpn/Service/AgentClient6Service.cs b/Services/Hncore.Pass.Vpn/Service/AgentClient6Service.cs index 46f2c08..73f3a59 100644 --- a/Services/Hncore.Pass.Vpn/Service/AgentClient6Service.cs +++ b/Services/Hncore.Pass.Vpn/Service/AgentClient6Service.cs @@ -351,77 +351,45 @@ namespace Hncore.Pass.Vpn.Service /// public override async Task> GetAccountInfo(string account, bool isTest = false) { - var client = CreateHttpClient(); - var map = new Dictionary(){ - {"user",account }, - {"type","getuserinfo" }, - }; + var client = CreateHttpClient(); var title = GetOpTitle("GetAccountInfo", account); + + + var info = ""; try { - var searchUser = $"userList/?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(); - 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(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(trData); + } catch (Exception ex) { - LogHelper.Error(title, ex.Message); + LogHelper.Error(title, ex.Message+"-->info:"+ info); + return new ApiResult(ResultCode.C_INVALID_ERROR, "查询失败"); } + return new ApiResult(ResultCode.C_INVALID_ERROR, "没有查询到信息"); } ///