public LoginResponse BindWechatAccount(BindWechatAccountRequest request) { var response = new LoginResponse(); var sessionId = GetWechatSessionId(request.WeiXinCode); var openId = GetOpenId(sessionId); if (string.IsNullOrEmpty(openId)) { response.Code = AuthenticationErrorCode.FailedGetWxOpenId; response.Message = "验证失败,请关闭小程序,重新进入"; return(response); } var alctResponse = authenticationAgent.VerifyVerificationCode(request.PhoneNumber, request.VerificationCode, GetApiToken().AccessToken); if (alctResponse.Code == "1") { response.Code = AuthenticationErrorCode.PhoneNumberInvalid; response.Message = "手机号码不存在,请检查后重试"; return(response); } else if (alctResponse.Code == "2") { response.Code = AuthenticationErrorCode.InvalidVerificationCode; response.Message = "验证码错误,请检查后重试"; return(response); } var member = new Member() { OpenId = openId, DriverIdentification = alctResponse.DriverIdentity, CreatedDate = DateTime.Now }; using (var transaction = dbContext.Database.BeginTransaction()) { dbContext.Add(member); dbContext.SaveChanges(); transaction.Commit(); } var token = GetToken(member); if (token == null) { response.Code = AuthenticationErrorCode.LoginFailed; response.Message = "登陆失败,请关闭小程序,重新进入"; return(response); } response.Code = 0; response.SessionId = sessionId; return(response); }
public IActionResult BindWechatAccount([FromBody] BindWechatAccountRequest request) { return(Ok(authenticationBusinessLogic.BindWechatAccount(request))); }