using com.sun.org.apache.bcel.@internal.generic; using com.sun.xml.@internal.xsom; using Elight.Utility; using Elight.Utility.Code; using Newtonsoft.Json; namespace _24Hour { public class WechatMessagerClient { private readonly HttpClient httpCliet; public WechatMessagerClient(HttpClient _httpCliet) { this.httpCliet = _httpCliet; httpCliet.DefaultRequestHeaders.Add("Accept", "application/json"); httpCliet.DefaultRequestHeaders.Add("User-Agent", "HttpClientFactory-Sample"); httpCliet.DefaultRequestHeaders.ConnectionClose = true; } /// /// 小程序AppID /// private const string appid = "wx48108a0c98a3dab0"; /// /// 小程序secretID /// private const string secid = "e752e4fba67526eca21313a18c96a58f"; public async Task GetOpenId(string code) { var ret = new Result(); var reponse = await httpCliet.GetAsync($"/sns/jscode2session?appid={appid}&secret={secid}&js_code={code}&grant_type=authorization_code"); var opendata = await reponse.EnsureSuccessStatusCode().Content.ReadAsStringAsync(); var data = JsonConvert.DeserializeAnonymousType(opendata, new { openid = default(string), session_key = default(string), unionid = default(string), errcode = default(int), errmsg = default(string), }); if (data.errcode == 0) { ret.IsSucceed = true; ret.result = data.openid; } else { ret.IsSucceed = false; ret.Message = data.errmsg; } return ret; } } }