Advertisement
Serzol64

Yii2 Frontend Call of Backend API Endpoint

Jan 31st, 2025 (edited)
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function welcomeSubmit(svc){
  2.     if(svc === 'in'){
  3.         if($('*[name="login"]').val() && $('*[name="password"]').val()){
  4.            
  5.             var confirmSign = new FormData(),
  6.                 inTarget = {
  7.                     mode: 'in',
  8.                     userData: {
  9.                         meta: true,
  10.                         content: {
  11.                             "user": $('*[name="login"]').val(),
  12.                             "password": $('*[name="password"]').val()
  13.                         }
  14.                     }
  15.                 }; 
  16.            
  17.             confirmSign.append('signTarget', JSON.stringify(userData));
  18.             fetch(setEndpoint('/api/id/signService'), {method: 'POST', body: confirmSign})
  19.                     .then(response => response.json)
  20.                     .then(() => {
  21.                         window.location.reload(true);
  22.                     })
  23.                     .catch(() => {
  24.                                        
  25.                     });
  26.         }
  27.         else{
  28.             alert("Не введён логин(номер телефона или электронная почта)");
  29.             alert("Не введён пароль!");
  30.         }
  31.  
  32.         return false;
  33.     }
  34.     else if(svc === 'up'){
  35.         const targetData = [
  36.             [$('*[name="fn"]'), $('*[name="ln"]')],
  37.             [$('*[name="password"]'), $('*[name="passwordAccept"]')],
  38.             [$('*[name="day"]'), $('*[name="month"]'), $('*[name="year"]')],
  39.             $('*[name="contactData"]'),
  40.             $('*[name="region"]'),
  41.             $('*[name="brithday"]')
  42.         ],
  43.             regexes = [
  44.                 /^(?:(?:\+?\d{1,3}[\- ]?\(?\d\)?[\- ]?)?[\d]{3}[\- ]?[\d]{4}$)|(^[^@\s]+@([^.\s@]{2,})[^.\s]+)$/gm,
  45.                 /^[a-zA-Zа-яА-ЯёЁ][a-zA-Zа-яА-ЯёЁ\-]{1,25}[a-zA-Zа-яА-ЯёЁ]$/,
  46.                 /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-zd@$!%*#?&]{8,16}$/
  47.             ];
  48.  
  49.         for(let i = 0; i < targetData[0].length; i++){
  50.             if(!targetData[0][i].val()){
  51.                 alert("Данное поле не введено!");
  52.             }
  53.         }
  54.  
  55.         if(targetData[1][0].val() !== targetData[1][1].val()){
  56.             alert("Введённые вами пароли не совпадают!");
  57.         }
  58.         else{
  59.             for(let i = 0; i < targetData[1].length; i++){ if(!targetData[1][i].val()){ alert("Поле ввода пароля не заполнено!"); } }
  60.         }
  61.        
  62.         let setAge = new AgeGetter(targetData[2]);
  63.        
  64.         var ageValid = setAge.validator();
  65.  
  66.         let isSuccessValid = () => {
  67.             let isSuccess = 0;
  68.  
  69.             for(let i = 0; i < targetData[0].length; i++){ if(targetData[0][i].val()){ isSuccess++; } }
  70.    
  71.             if(targetData[1][0].val() === targetData[1][1].val()){ isSuccess++; }
  72.             else{
  73.                 for(let i = 0; i < targetData[1].length; i++){ if(targetData[1][i].val()){ isSuccess++; } }
  74.             }
  75.  
  76.             if(targetData[3].val() && targetData[4].val()){ isSuccess++; }
  77.            
  78.             if(ageValid){ isSuccess++; }
  79.  
  80.             return isSuccess >= 1;
  81.         };
  82.        
  83.         if(!targetData[4].val()){ alert("Не выбран регион"); }
  84.         if(!targetData[3].val()){ alert("Не введены номер телефона"); }
  85.         if(!ageValid){ alert('Регистрация на Платформе разрешена только лицам старше 16 лет!!!'); }
  86.         if(isSuccessValid()){
  87.            function modalExecute_Double(e,t){
  88.              var preUser = new FormData(),
  89.                  currentUser = {
  90.                     mode: 'up',
  91.                     userData: {},
  92.                     formData: {}
  93.                  },
  94.                  setBackendCookie = () => { return get_cookie('_csrf'); };
  95.                  
  96.              currentUser.userData.ua = window.navigator.userAgent;
  97.              currentUser.userData._csrf = setBackendCookie();
  98.              
  99.              currentUser.formData = {
  100.                 user: {},
  101.                 contact: targetData[3],
  102.                 brithday: targetData[1],
  103.                 region: targetData[4]
  104.              };
  105.              
  106.              preUser.append('signTarget', JSON.stringify(currentUser));
  107.              fetch('/api/id/signService', { method: 'POST', body: preUser})
  108.                 .then(response => response.json())
  109.                 .then(data => {
  110.                     if(data.message){
  111.                         if($('.sspModal[data-service="signUp"]').find('#modalClose').css('visibility', 'hidden') && $('.sspModal[data-service="signUp"]').removeClass('isHidden')){
  112.                             $('.sspModal[data-service="signUp"]').find('#modalService > li:nth-child(2)').html('<wc-confirm />');
  113.                         }
  114.                     }
  115.                 });
  116.            }
  117.  
  118.            $('input#signUp').click(modalExecute_Double).trigger('click');
  119.  
  120.         }
  121.  
  122.         return false;
  123.     }
  124.  
  125.    
  126. }
  127.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement