using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using YD_XinWei.Commons; using YD_XinWei.Commons.Exceptions; using TGJ.NetworkFreight.SeckillAggregateServices.Pos.UserService; using YD_XinWei.Api.Utilities; using YD_XinWei.Api.WeChat.Lib; using YD_XinWei.Api.Services.Interface; using YD_XinWei.Api.WeChat; namespace YD_XinWei.Api.Controllers { /// /// 用户 /// [ApiController] [ApiExplorerSettings(GroupName = "v1")] [Route("[controller]")] public class UserController : ControllerBase { private readonly IUserService _userService; public UserController(IUserService userService) { _userService = userService; } /// /// 获取微信信息 /// /// /// [HttpPost("WXUserInfo")] public WechatUserInfo GetWXUserInfo(WXLoginPo wXLoginPo) { var wli = new WechatLoginInfo(); wli.code = wXLoginPo.code; wli.encryptedData = wXLoginPo.encryptedData; wli.iv = wXLoginPo.iv; wli.rawData = wXLoginPo.rawData; wli.signature = wXLoginPo.signature; wli.appid = AppSettings.WeChat.Appid; wli.secret = AppSettings.WeChat.Appid; WechatUserInfo wechatResult = new WeChatAppDecrypt().Decrypt(wli); if (wechatResult == null || string.IsNullOrWhiteSpace(wechatResult.openId)) { throw new BizException("用户信息获取失败"); } return wechatResult; } /// /// 用户名密码登录 /// /// [HttpPost(nameof(Login))] [AllowAnonymous] public async Task Login([FromBody] LoginInfo paramDto) { var res = await _userService.Login(paramDto); return Ok(res); } /// /// 微信用户登录 /// /// [HttpPost("WxLogin")] [AllowAnonymous] public async Task WxLogin(WXLoginPo loginPo) { //var id = UserLoginContext.Current.UserId; var res = await _userService.WxLogin(loginPo); return Ok(res); } /// /// 关联账号 /// /// /// [HttpGet("RelatedAccounts")] public async Task> RelatedAccounts(Guid relevanceId) { var res = await _userService.RelatedAccounts(relevanceId); return res; } } }