public async Task AppLogin_Test(string phone, string openId, AppRegisterOrLoginInput.FromEnum?from, string unionId) { var smsCode = await _smsVerificationCodeManager.Create(phone, "RegisterOrLogin"); await _smsVerificationCodeManager.VerifyCodeAndShowUserFriendlyException(phone, smsCode, "RegisterOrLogin"); var userInput = new AppRegisterOrLoginInput() { Phone = phone, Code = smsCode, OpenId = openId, From = from, UnionId = unionId, }; //验证登陆逻辑 var loginOutput = await _usersAppService.AppRegisterOrLogin(userInput); loginOutput.ShouldNotBeNull(); }
public async Task <AppRegisterOrLoginOutput> AppRegisterOrLogin(AppRegisterOrLoginInput input) { #region 验证码验证 using (var unitOfWork = _unitOfWorkManager.Begin()) { var codeValid = await _smsVerificationCodeManager.VerifyCode(input.Phone, input.Code, "RegisterOrLogin"); if (!codeValid) { throw new UserFriendlyException("短信验证码不正确或已过期!"); } } #endregion { OpenIdPlatforms?from = null; switch (input.From) { case AppRegisterOrLoginInput.FromEnum.WeChatMiniProgram: from = OpenIdPlatforms.WechatMiniProgram; break; case AppRegisterOrLoginInput.FromEnum.WeChat: from = OpenIdPlatforms.WeChat; break; case null: break; default: break; } return(await RegisterOrLogin(input.Phone, input.TrueName, input.OpenId, input.UnionId, from)); } }