using System.Net.Http; using System.Text.Json; using System.Threading.Tasks; namespace AssetManager.Services.Services; public class WechatService { private readonly HttpClient _httpClient; private readonly string _appId; private readonly string _appSecret; public WechatService(HttpClient httpClient) { _httpClient = httpClient; _appId = "wx245f0f3ebcfcf5a7"; // 替换为实际的微信小程序AppId _appSecret = "809c740129bc8b434177ce12ef292dd0"; // 替换为实际的微信小程序AppSecret } public async Task GetOpenIdAsync(string code) { var url = $"https://api.weixin.qq.com/sns/jscode2session?appid={_appId}&secret={_appSecret}&js_code={code}&grant_type=authorization_code"; var response = await _httpClient.GetAsync(url); response.EnsureSuccessStatusCode(); var content = await response.Content.ReadAsStringAsync(); return JsonSerializer.Deserialize(content); } } public class WechatAuthResult { public string OpenId { get; set; } public string SessionKey { get; set; } public string UnionId { get; set; } public int Errcode { get; set; } public string Errmsg { get; set; } }