コード例 #1
0
        public async Task <ApiResultData <ApiResultTokenData> > WeixinMobileEndLogin(WeixinMobileEndLoginInput input)
        {
            var returnResult = new ApiResultData <ApiResultTokenData>();
            var openId       = await _weixinUserService.GetWeixinMobileEndOpenIdAsync(input.Code);

            if (openId == null)
            {
                returnResult.Code    = 400;
                returnResult.Message = "异常:获取微信 OpenId 失败";
                return(returnResult);
            }
            var userInfo = await _weixinUserService.GetOrGenerateItemByWeixinMobileEndOpenIdAsync(_authenticationSettings.RegisterDefaultGroupId,
                                                                                                  _authenticationSettings.RegisterDefaultStatus,
                                                                                                  openId);

            if (userInfo == null)
            {
                returnResult.Code    = 400;
                returnResult.Message = "异常:微信小程序登录失败";
                return(returnResult);
            }

            if (userInfo.Status != UserStatus.Normal)
            {
                returnResult.Code    = 201;
                returnResult.Message = "注册成功,请等待审核。";
                return(returnResult);
            }

            returnResult.Data = await _tokenService.GenerateApiResultTokenData(userInfo);

            returnResult.Code    = 200;
            returnResult.Message = "登录成功";
            return(returnResult);
        }
コード例 #2
0
        public async Task <ApiResult> BindWeixinMobileEnd(WeixinMobileEndLoginInput input)
        {
            var returnResult = new ApiTokenResult();
            var openId       = await _weixinUserService.GetWeixinAppOpenIdAsync(input.Code);

            if (openId == null)
            {
                returnResult.Code    = 400;
                returnResult.Message = "异常:获取微信 OpenId 失败";
                return(returnResult);
            }
            var bindResult = await _weixinUserService.UpdateWeixinMobileEndOpenIdAsync(HttpContext.User.GetUserId(), openId, ModelState);

            if (!bindResult)
            {
                returnResult.Code    = 400;
                returnResult.Message = ModelState.FirstErrorMessage();
                return(returnResult);
            }

            returnResult.Code    = 200;
            returnResult.Message = "绑定成功";
            return(returnResult);
        }