- 添加微信登录功能,支持通过微信小程序登录 - 实现用户信息管理接口,包括获取用户信息和统计数据 - 新增投资组合列表和总资产统计接口 - 完善JWT令牌生成逻辑,支持可选用户名 - 添加数据库初始化配置和连接字符串 - 移除传统登录和注册功能,专注微信登录方案
37 lines
1.2 KiB
C#
37 lines
1.2 KiB
C#
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<WechatAuthResult> 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<WechatAuthResult>(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; }
|
|
} |