-
Notifications
You must be signed in to change notification settings - Fork 5
/
index.html
128 lines (119 loc) · 6.56 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Проверка за Технически преглед, Гражданска отговорност и Винетка</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="container">
<hr>
<h1>Проверка за Технически преглед, Гражданска отговорност и Винетка</h1>
<hr>
<br>
<br>
<form id="checkForm">
<label for="plate">Регистрационен номер</label>
<input type="text" placeholder="A0001BA" name="plate" id="plate" required pattern="[а-яА-Яa-zA-Z0-9]+" title="Позволени са само кирилица, латиница и числа.">
<button type="submit">Провери</button>
</form>
<div class="result" id="resultDiv">
<!-- Резултатите ще бъдат изведени тук -->
</div>
</div>
<script>
function generate_random_email() {
// Генериране на случаен email с формат [email protected]
var random_word = Math.random().toString(36).substring(2, 10);
return random_word + "@gmail.com";
}
function get_data_from_api(url, payload) {
// Изпращане на POST заявка към API и връщане на отговора в JSON формат
return fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(payload)
}).then(response => response.json());
}
document.getElementById('checkForm').addEventListener('submit', function(event) {
event.preventDefault();
var plateNumber = document.getElementById('plate').value;
// Генериране на случаен email
var email = generate_random_email();
// Заявка към първото API - гражданска отговорност
var payload1 = { email: email, plate: plateNumber };
get_data_from_api('https://myve.bg:4402/check/get/zastrahovka', payload1)
.then(function(response1) {
var resultHtml = '';
if (response1.data === "no info") {
resultHtml += '<h3>Гражданска отговорност</h3>';
resultHtml += '<p>Няма валидна гражданска отговорност</p>';
} else {
var big_data = response1.data.big_data || [];
if (big_data.length > 0) {
resultHtml += '<h3>Гражданска отговорност</h3>';
for (var i = 0; i < big_data.length; i++) {
var insuranceCompany = big_data[i][0];
var validFrom = big_data[i][1];
var validTo = big_data[i][2];
resultHtml += '<p>Застрахователна компания: ' + insuranceCompany + '</p>';
resultHtml += '<p>Валидна от: ' + validFrom + '</p>';
resultHtml += '<p>Валидна до: ' + validTo + '</p>';
resultHtml += '<hr>';
}
} else {
resultHtml += '<h3>Гражданска отговорност</h3>';
resultHtml += '<p>Няма информация за гражданска отговорност</p>';
resultHtml += '<hr>';
}
}
// Заявка към второто API - технически преглед
var payload2 = { email: email, plate: plateNumber };
return get_data_from_api('https://myve.bg:4402/check/get/gtp', payload2)
.then(function(response2) {
if (response2.data) {
var technical_inspection_data = response2.data;
var valid_to_match = /валиден до\n\n(\d{2}\.\d{2}\.\d{4})/.exec(technical_inspection_data);
var valid_to = valid_to_match ? valid_to_match[1] : null;
resultHtml += '<h3>Технически преглед</h3>';
if (valid_to) {
resultHtml += '<p>Технически преглед до: ' + valid_to + '</p>';
} else {
resultHtml += '<p>Няма данни за валиден технически преглед!</p>';
}
resultHtml += '<hr>';
} else {
resultHtml += '<h3>Технически преглед</h3>';
resultHtml += '<p>Няма информация за технически преглед</p>';
resultHtml += '<hr>';
}
// Заявка към третото API - винетка
var payload3 = { email: email, plate: plateNumber };
return get_data_from_api('https://myve.bg:4402/check/get/vinetka', payload3)
.then(function(response3) {
resultHtml += '<h3>Винетка</h3>';
if (response3.data === "no info") {
resultHtml += '<p>Съжаляваме, но не беше открита активна винетка.</p>';
} else {
var vinetkaData = response3.data;
resultHtml += '<p>Състояние: ' + vinetkaData.active + '</p>';
resultHtml += '<p>Регистрационен номер: ' + vinetkaData.nomer + '</p>';
resultHtml += '<p>Категория: ' + vinetkaData.category + '</p>';
resultHtml += '<p>Валидна от: ' + vinetkaData.valid_from + '</p>';
resultHtml += '<p>Валидна до: ' + vinetkaData.valid_to + '</p>';
resultHtml += '<p>Цена: ' + vinetkaData.price + '</p>';
}
document.getElementById('resultDiv').innerHTML = resultHtml;
});
});
})
.catch(function(error) {
document.getElementById('resultDiv').innerHTML = '<p>Грешка при извличане на данни: ' + error + '</p>';
});
});
</script>
</body>
</html>