Теперь, независимо от того, какой проект используется, если используется функция проверки SMS, ограничение по количеству раз, когда код проверки SMS -проверка предназначен для программы, которая в основном предотвращает массивность интерфейса кода проверки SMS.
Предыдущий абзац оказался функцией входа в систему пользовательского кода проверки SMS для проекта, поэтому я изучил следующее и опубликовал его ниже, чтобы поделиться им.
Интерфейс SMS, участвующий здесь, использует сторонний интерфейс SMS - динамическое мышление мышления (http://www.lx598.com/). Если вы хотите узнать о доступе к интерфейсу SMS, вы можете перейти на их официальный веб -сайт и проверить описание документации по API интерфейса SMS. Вы должны понять это, ссылаясь на код ниже.
Часть регистрации пользователя, основной код заключается в следующем:
// MANE JS Метод: // Получить мобильный код проверки: function getRegCode () {if ($. Trim ($ ('#inputCaptcha'). Val ()) == '') {$ ('#imgrs'). Html ("Код графической проверки не может быть пустым"); $ ('#inputcaptcha'). select (); возвращаться; } if (! isphonenum ($ ('#phonere'). val ())) {document.getElementById ('phonereinfo'). innerhtml = '<font color = "red"> Пожалуйста, заполните действительный 11-значный номер мобильного телефона </font>'; } else {document.getElementbyId ('phonereinfo'). innerhtml = 'Вход с номером мобильного телефона после регистрации'; $ .ajax ({url: "$ {path}/account/checkmob", тип: «post», data: «account.accmob =" + $ ('#phonere'). val (), contentType: "Application/xwww-form-urlencoded; charset = utf-8", async: false: fund: function (data) {resse Data); Document.GetElementById ('phonereinfo'). innerhtml = '<font color = "red"> этот номер мобильного телефона был зарегистрирован </font>'; $ .ajax ({url: "$ {path}/account/reaimcodegetVecode", type: "post", data: "account.accmob =" + $ ('#phonere'). val () + "& fromsource = 4 & smscount =" + $ ('#smscount'). val (). +"& searchname =" +$. trim ($ ('#inputcaptcha'). val ()), ContentType: "Application/x-Www-form-urlencoded; charset = utf-8", асинхро Document.GetElementById ('phonereinfo'). innerhtml = '<font color = "green"> код проверки был отправлен, пожалуйста, будьте осторожны, чтобы проверить его! Color = «Красный»). function () {alert ('Exception, внутренняя проверка!'+Data); } var smscount = parseint ($ ('#smscount'). val ()); SMSCOUNT = SMSCOUNT <3? SMSCOUNT+1: 3; $ ('#smscount'). val (smscount); } // Зарегистрировать новую учетную запись пользователя // - это пользовательский класс @Action (value = "ReaimCodegetVecode") public void reaimcodegetVecode () {printWriter out; String Result = "Приложение кода проверки не удалось! Повторите попытку!"; try {smsunit = new smsunit (confutil.getproperty ("sys_sms_server")); if (null! = account.getAccmob () &&! account.getAccmob (). equals ("")) {account.setAccStatus (new BigDecimal (1)); // Установить статус использования: string verificationCod Account.SetFSecurityCode (VerifyCode); Account.SetAcCcreatedate (New Date ()); Календарь c = календарь.getinstance (); C.Add (Calendar.day_of_month, 1); // Установите время истечения срока действия кода проверки на 24 часа account.setFregisterSource (FromSource); // Установить источник регистрации // Определите, получил ли мобильный телефон accountcritecritecure Codecritecurecriteri accountcriteria.createcriteria (). Andaccmobequalto (account.getAccmob ()); Список <cloucce> accs = accountservice .selectbyexample (accountcriteria); // количество запросов кода проверки int re = 0; Целое число cishu = 0; // Если пользователь не существует (accs == null || accs.isempty ()) {cishu = 1; account.setsdkurl ("1"); Account.SetFSecurityOuttime (C.GetTime ()); // Установить время достоверности кода проверки BigDecimal Accid = accountservice.getPrimaryKey (); account.setfid (arcid); re = accountservice.inertselective (account, iputil.getRealip (запрос)); Cookie cookie = new cookie ("id", arcid.tostring ()); cookie.setmaxage (integer.max_value); response.addcookie (cookie); } else {account ac = accs.get (0); account.setfid (ac.getfid ()); Дата дата = новая дата (); // Определите количество кодов проверки по времени // Если это новый день, измените количество использования на 1 if (date.getDate ()> = ac.getfsecurityouttime (). GetDate ()) {account.setsDkurl ("1"); } else {integer count = integer.parseint (ac.getsdkurl ()); account.setsdkurl (count + 1 + ""); // Если это не новый день, количество раз +1} cishu = integer.parseint (account.getsdkurl ()); Account.SetFSecurityOuttime (C.GetTime ()); if (cishu <= 3) re = accountservice .updatebyprimarykeyseelective (account); // Сохранить код проверки для отправки информации} if (re> 0 && cishu <= 3) {request.getSession (). RemoveAttribute (constvalues.web_session_promote); Accountcriteria ac = newcstercriteria (); ac.createcriteria (). Andaccmobequalto (account.getAccmob ()); Список <clouck> aclist = new ArrayList <clouck> (); aclist = accountservice.selectbyexample (ac); if (aclist! = null && aclist.size ()> 0) {// Отправить содержимое строки здесь, чтобы выполнить SMS -сообщение здесь = "Ваш код проверки:" + verifyCode + ", код действителен в течение 24 часов, код может использоваться только один раз! [SMS -подпись]"; SendsmsReply sendsmsReply = smsunit.sendsms (accname, accpwd, account.getaccmob (), content, ""); // вызов стороннего интерфейса для отправки SMS-result = sendsmsReply.getReplymsg () + "&" + aclist.get (0) .getfid () + "&" + aclist.get (0) .getsdkurl (); }} else if (cishu> 3) {result = "ограниченное приложение"; }}} catch (Exception e) {logger.error ("Не удалось получить проверку кода", e); } наконец {try {response.setContentType ("text/html; charset = utf-8"); response.setcharacterencoding ("UTF-8"); out = response.getWriter (); out.write (результат); } catch (ioException e) {logger.error ("", e); }}} // Это справочный код для отправки SMS-функций о мощном мышлении Lexin стороннего интерфейса SMS: /*** Отправить SMS* @param Accname Account Account Account username* @param accpwd choundation chounct* @param Между несколькими номерами мобильных телефонов* @param Содержимое добавить подпись после содержимого* @param schtime format: 2010-01-01 08:00:00* @return StringBuffer ("http://sdk.lx198.com/sdk/send2?"); try {String Seed = new SimpleDateFormat (dateFormatstr) .format (new Date ()); sb.append ("& accname ="+accname); sb.append ("& seed ="+seed); sb.append ("& accpwd ="+md5.getmd5string (md5.getmd5string (accpwd)+seed)); SB.Append ("& aimcodes ="+mobies); sb.append ("& schtime ="+urlencoder.encode (schtime, "UTF-8")); // кодировать преобразование в пунктуацию в пространстве sb.append ("& content ="+urlencoder.encode (content, "UTF-8")); // кодировать преобразование в китайский URL URL = новый URL (SB.ToString ()); Httpurlconnection connection = (httpurlconnection) url.openconcenection (); connection.setrequestmethod ("post"); BufferedReader in = new BufferedReader (новый inputStreamReader (url.openstream ())); вернуть in.readline (); } catch (Exception e) {e.printstackTrace (); } return null; }Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.