コード例 #1
0
        /// <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()
            });
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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 }));
        }