/// <summary>
        /// 微信小程序登陆
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <WxMiniLoginOutput> WxMiniLogin(WxMiniLoginInput input)
        {
            var openInfo = await _wxRepository.QueryOpenIdAsync(input.Code, input.AppId);

            var authInfo = await _dbContext.Queryable <ThirdOAuthInfo>().Where(it => it.OpenId == openInfo.OpenId && it.AuthServer == "WxMini").FirstAsync();

            if (authInfo == null)
            {
                return new WxMiniLoginOutput {
                           Data = null
                }
            }
            ;
            var uid   = authInfo.Uid;
            var token = _authRepository.CreateAccessToken(new Dto.Auth.UserTokenDto
            {
                Email    = string.Empty,
                Id       = uid,
                Mobile   = "test",
                RealName = "test"
            }, new List <string>());

            return(new WxMiniLoginOutput
            {
                Data = new
                {
                    AccessToken = $"Bearer {token}",
                    Expire = DateTimeOffset.Now.AddHours(4).ToUnixTimeSeconds(),
                    RealName = "test",
                    Mobile = "test",
                    Id = uid
                }
            });
        }
    }
        /// <summary>
        /// 微信小程序Code验证
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <WxMiniLoginOutput> WxMiniCodeVerify(WxMiniLoginInput input)
        {
            var openInfo = await _wxRepository.QueryOpenIdAsync(input.Code, input.AppId);

            return(new WxMiniLoginOutput
            {
                Data = new
                {
                    openInfo.OpenId
                }
            });
        }
Beispiel #3
0
 public async Task <WxMiniLoginOutput> WxMiniCodeVerify([FromBody] WxMiniLoginInput input)
 {
     return(await _thirdBusiness.WxMiniCodeVerify(input));
 }