/// <summary> /// /// </summary> /// <param name="smsSender"></param> /// <param name="phone"></param> /// <param name="code"></param> /// <param name="userId"></param> /// <param name="culture"></param> /// <returns></returns> public static async Task <SMSLog> SendSMSVerifyAccountAsync(this ISMSSender smsSender, string phone, string code, string userId, string culture) { var message = string.Empty; switch (culture) { case "vi-VN": message = $"Ma xac nhan cua ban la {code}"; break; case "en-US": message = $"Your verify code is {code}"; break; default: message = $"Ma xac nhan cua ban la {code}"; break; } var response = await smsSender.SendSMSAsync(phone, message); return(new SMSLog() { ObjectId = userId, ObjectType = "users", Phone = phone, Message = message, SendTime = DateTime.UtcNow, MessageId = response.messageId, ErrorCode = response.error_code, ErrorDetail = response.error_detail, Type = TypeNotification.VerifyAccount.ToString() }); }
public async Task <IActionResult> SendSMS(string PhoneNumber) { Result rs = new Result(); var user = await _userManager.GetUserAsync(User); if (user.PhoneNumberConfirmed) { rs.ErrorCode = -41; rs.ErrorMessage = "手机已验证过,不可重复验证!"; return(Json(rs)); } if (_userManager.Users.Where(c => c.PhoneNumber.Equals(PhoneNumber) & c.PhoneNumberConfirmed).Count() > 0) { rs.ErrorCode = -109; rs.ErrorMessage = "该手机号已被注册,请更换其他手机号"; return(Json(rs)); } user.PhoneNumber = PhoneNumber; var upres = _userManager.UpdateAsync(user); var code = await _userManager.GenerateChangePhoneNumberTokenAsync(user, PhoneNumber); var rssender = await _smsSender.SendSMSAsync(PhoneNumber, "天天易拉罐后台验证码:[" + code + "]"); return(Json(rs)); }
public static async Task <Data.State> SendSMSAsync(string from, string to, string text, ISMSSender smsSender) { Data.Country country = await Data.DataProvider.IdentifyCountry(to); var state = Data.State.Failed; if (country != null) { state = await smsSender.SendSMSAsync(from, to, country.MobileCode, text); } int saved = await Data.DataProvider.AddSMSAsync(from, to, country, state, DateTime.UtcNow); return(saved > 0 ? state : Data.State.Failed); }
public async Task <IActionResult> AddPhoneNumber(AddPhoneNumberViewModel model) { if (!ModelState.IsValid) { return(View()); } // Generate validation token var user = await _userManager.GetUserAsync(User); if (user == null) { return(View("Error")); } var code = await _userManager.GenerateChangePhoneNumberTokenAsync(user, model.PhoneNumber); await _smsSender.SendSMSAsync(model.PhoneNumber, "Your security code is: " + code); return(RedirectToAction(nameof(VerifyPhoneNumber), new { PhoneNumber = model.PhoneNumber })); }