2 changed files with 66 additions and 2 deletions
@ -0,0 +1,57 @@
|
||||
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; |
||||
} |
||||
|
||||
/// <summary> |
||||
/// 小程序AppID |
||||
/// </summary> |
||||
private const string appid = "wx48108a0c98a3dab0"; |
||||
/// <summary> |
||||
/// 小程序secretID |
||||
/// </summary> |
||||
private const string secid = "e752e4fba67526eca21313a18c96a58f"; |
||||
public async Task<Result> 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; |
||||
} |
||||
|
||||
} |
||||
} |
Loading…
Reference in new issue