· 7 years ago · Oct 24, 2018, 11:38 PM
1function telepizza(email, callback) {
2 var data = {
3 email: email //Aquà va tu email
4 }
5 var url = 'https://d6ow8diqzony0.cloudfront.net/check-prize'; //Conecta con cloudfront para validar el premio. Esto es lo más importante
6 $.ajax({
7 type: "POST",
8 url: url,
9 dataType: 'json',
10 contentType: "application/json",
11 crossDomain: true,
12 data: JSON.stringify(data),
13 success: function(result) {
14 console.log(data);
15 console.log(result);
16 var body = JSON.stringify(JSON.parse(result.body));
17 var response = JSON.parse(body);
18 switch (response.responseMessage) {
19 case 'USER_IS_WINNER':
20 // window.location.href = "ganador.html" //Esto está comentado para que no te redireccione
21 callback(true); //Si eres ganador, devuelve true
22 break;
23 case 'USER_NOT_WIN':
24 // window.location.href = "no-ganador.html" //Comentado para que no te redireccione en caso de no ser ganador.
25 callback(false); //Devuelve falso
26 break;
27 default:
28 console.log("¡UpsLoimos pero este email no es valido, está repetido o ha sido mal introducido.¡INTENTALO DE NUEVO!");
29 callback(false)
30 break;
31 }
32 },
33 error: function(e) {
34 console.log("ERRORssage");
35 }
36 });
37
38}
39
40function validateMail(email, callback) { //Función que valida el email
41 console.log('######################'); //Esto es más bien inútil, saca por la consola todo eso.
42 var data = { //Aquà van tus datos, tu email, y si quieres recibir emails de publicidad
43 email: email,
44 receive_offert: true //Esto deberÃa estar en falso para no recibir promos, pero dado que es un email temporal, da igual.
45 }
46 // console.log(data); // Saca por la consola tus datos (lo de arriba)
47 var url = 'https://d6ow8diqzony0.cloudfront.net/check-mail'; //Conecta con cloudfront para validar el email. Es el mismo enlace que en la página oficial
48 $.ajax({
49 type: "POST",
50 url: url,
51 dataType: 'json',
52 contentType: "application/json",
53 crossDomain: true,
54 data: JSON.stringify(data),
55 success: function(result) {
56 var body = JSON.stringify(JSON.parse(result.body));
57 var response = JSON.parse(body);
58 // console.log(response.responseMessage);
59 switch (response.responseMessage) { //Estos son todos los casos que puede devolver el servidor
60 case 'EMAIL_SAVED':
61 // $('#modal-participar').fadeIn();
62 break;
63 case 'DYNAMO_ERR':
64 console.log("¡UpsHarido un error interno, por favor, vuelve a intentarlo.");
65 break;
66 case 'USER_HAS_PARTICIPED':
67 console.log("¡UpsElrio ya ha participado en el concurso.");
68 break;
69 case 'FORBIDDEN':
70 console.log("¡UpsEstaa alcanzado el número máximo de peticiones. Por favor, vuelve a intentarlo transcurridos 30 minutos.");
71 break;
72 default:
73 console.log("¡UpsLoimos pero este email no es valido, está vacÃo, está repetido o ha sido mal introducido.¡INTENTALO DE NUEVO!");
74 break;
75 }
76
77 callback(response.responseMessage) //Devuelve el mensaje del servidor
78 },
79 error: function(e) {
80 console.log("ERRORssage");
81 }
82 });
83}
84
85var nombremail = 'EMAIL';
86var intents_tramp = 10; //Contador de intentos a cero.
87function execute() {
88 var mail = nombremail + intents_tramp + '@gmail.com'; //Variable email
89
90 validateMail(mail, function(response) { //Ejecuta la función validateMail()
91 console.log('Numerointento ' + intents_tramp++); //Saca por la consola el número de intento
92 if (response == 'EMAIL_SAVED') { //Si la respuesta del servidor es EMAIL_SAVED, se ejecuta lo siguiente
93 telepizza(mail, function(winner) {
94 if (winner) { //Si la variable winner es "true" sale un mensaje emergente que te dice que has ganado.
95 alert('GANADOR !!! PIZZA GRATIS');
96 } else { //En caso contrario, llama a la función repeat()
97 repeat();
98 }
99 });
100 } else {
101 repeat(); //Si el email no es aceptado, llama a la función repeat()
102 }
103 });
104 }
105
106 function repeat() {
107 mail = nombremail + intents_tramp + '@gmail.com';
108 console.log(mail);
109 setTimeout(function() { //Vuelve a ejecutar el proceso con un delay de 2000ms (2s)
110 execute();
111 }, 1000);
112 }
113
114
115 execute(); //Ejecuta la función execute();