public ApiResult Login([FromBody] MemberLoginModel member) { Argument.ThrowIfNullOrEmpty(member.PhoneNumber, "手机号码"); Argument.ThrowIfNullOrEmpty(member.Password, "登陆密码"); var user = Platform == Platform.Web? _userManager.Find(member.PhoneNumber, member.Password): _userManager.Find(member.PhoneNumber, _securityService.Decrypt(member.Password)); var result = Login(member.MobileDevice, user, member.OpenId); return(result); }
public ApiResult BoundPhoneNumber(string id, [FromBody] BoundPhoneNumberModel member) { Argument.ThrowIfNullOrEmpty(member.PhoneNumber, "手机号"); Argument.ThrowIfNullOrEmpty(member.SmsVerifyCode, "手机验证码"); Argument.ThrowIfNullOrEmpty(member.Password, "密码"); if (!_smsService.VerifyCode(member.PhoneNumber, member.SmsVerifyCode, MemberCenterModule.Instance, SmsRequestType.BoundPhoneNumber.ToString())) { throw new WebApiInnerException("0001", "手机短信验证码验证失败"); } var user = _userManager.Find(AuthorizedUser.UserName, Platform != Platform.Web ? _securityService.Decrypt(member.Password) : member.Password); if (user != null && user.UserType == UserType.Member) { if (user.LockoutEnabled) { throw new WebApiInnerException("0002", "此用户已经禁止登录"); } //判断是否已经存在此手机号 var testUser = _userContainer.FindUser(member.PhoneNumber); if (testUser != null) { throw new WebApiInnerException("0004", "手机号已经注册,无法绑定"); } user.UserName = member.PhoneNumber; user.PhoneNumber = member.PhoneNumber; if (!string.IsNullOrWhiteSpace(member.InvitationCode)) { var referrer = _memberService.FindMemberByInvitationCode(member.InvitationCode); if (referrer != null) { var oldMember = _memberService.FindMemberById(id); if (oldMember == null) { throw new WebApiInnerException("0005", "会员信息不存在"); } oldMember.ReferrerId = referrer.Id; var midentityResult = _memberService.UpdateMember(oldMember); if (!midentityResult.Succeeded) { throw new WebApiInnerException("0006", "更新失败:" + midentityResult.Errors.FirstOrDefault()); } } } } else { throw new WebApiInnerException("0003", "密码不正确"); } var identityResult = _userManager.Update(user); if (identityResult.Succeeded) { //更新缓存 _signals.Trigger(_userContainer.UserChangedSignalName); _signals.Trigger($"member_{AuthorizedUser.Id}_changed"); } else { throw new WebApiInnerException("0007", "手机号绑定失败"); } var result = new ApiResult(); return(result); }