DmitrMakeev commited on
Commit
a60dc2d
·
verified ·
1 Parent(s): 8ec5204

Update pages.html

Browse files
Files changed (1) hide show
  1. pages.html +43 -82
pages.html CHANGED
@@ -1158,96 +1158,57 @@ z-index: 1000; /* Убедитесь, что кнопка находится п
1158
 
1159
 
1160
 
1161
- <script type="text/javascript">
1162
- var sky = '217669590/29281185/Nk03b3I5TFJTb3BkUDNLMzdYRHBiQT0';
1163
-
1164
- // Функция для получения ключа из GET-параметра и его удаления
1165
- function getAndRemoveCodeFromUrl() {
1166
- const urlParams = new URLSearchParams(window.location.search);
1167
- const code = urlParams.get('code');
1168
- if (code) {
1169
- // Удаляем параметр из URL
1170
- urlParams.delete('code');
1171
- window.history.replaceState({}, document.title, `${window.location.pathname}?${urlParams.toString()}`);
1172
- }
1173
- console.log('Code:', code); // Выводим значение ключа в консоль
1174
- return code;
1175
- }
1176
-
1177
- // Функция для получения информации о пользователе через наш сервер
1178
- function getVkUserInfo(token) {
1179
- const serverUrl = 'https://dmtuit-psy-vk.hf.space/get_vk_user_info'; // URL нашего сервера
1180
- const apiUrl = `${serverUrl}?token=${token}`;
1181
- console.log('API URL:', apiUrl); // Выводим URL в консоль
1182
-
1183
- return fetch(apiUrl, {
1184
- method: 'GET',
1185
- headers: {
1186
- 'Content-Type': 'application/json' // Указываем тип содержимого
1187
- }
1188
- })
1189
- .then(response => {
1190
- if (!response.ok) {
1191
- throw new Error('Network response was not ok ' + response.statusText);
1192
- }
1193
- return response.json();
1194
- })
1195
- .then(data => {
1196
- if (data.user_id) {
1197
- console.log('User ID:', data.user_id);
1198
- return data.user_id;
1199
- } else {
1200
- throw new Error('Failed to get user info:', data);
1201
- }
1202
  });
1203
- }
1204
 
1205
- // Функция для отправки запроса на второй сервер с полученным ID пользователя
1206
- function sendRequestWithUserId(userId) {
1207
- const secondServerURL = 'https://skyauto.me/cllbck/' + sky + '?api=1&uid=' + userId; // Формируем URL для отправки данных
1208
- console.log('secondServerURL:', secondServerURL); // Выводим URL в консоль
1209
-
1210
- fetch(secondServerURL, {
1211
- method: 'POST', // Указываем метод запроса
1212
- headers: {
1213
- 'Content-Type': 'application/x-www-form-urlencoded' // Указываем тип содержимого
1214
  },
1215
- body: new URLSearchParams({ sky, userId }).toString() // Отправляем данные в формате application/x-www-form-urlencoded
1216
- })
1217
- .then(response => {
1218
- if (!response.ok) { // Если ответ не успешный
1219
- throw new Error('Ошибка HTTP: ' + response.status); // Выбрасываем ошибку
1220
- }
1221
- return response.json(); // Преобразуем ответ в JSON
1222
  })
1223
- .then(data => {
1224
- console.log('Данные от сервера:', data); // Выводим ответ сервера в консоль
1225
- updateIframes(data); // Обновляем iframe'ы на основе ответа от сервера
1226
- })
1227
- .catch(error => {
1228
- console.error('Error:', error); // Выводим ошибку в консоль
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1229
  });
1230
  }
1231
 
1232
- // Функция для обновления iframe'ов
1233
- function updateIframes(data) {
1234
- for (const [iframeId, iframeData] of Object.entries(data)) {
1235
- const iframe = document.getElementById(iframeId);
1236
- if (iframe) {
1237
- iframe.src = iframeData.file;
1238
- }
1239
- }
1240
  }
1241
-
1242
- // Вызов функций при загрузке страницы
1243
- document.addEventListener('DOMContentLoaded', () => {
1244
- const code = getAndRemoveCodeFromUrl();
1245
- if (code) {
1246
- getVkUserInfo(code)
1247
- .then(userId => sendRequestWithUserId(userId))
1248
- .catch(error => console.error('Error:', error));
1249
- }
1250
- });
1251
  </script>
1252
 
1253
 
 
1158
 
1159
 
1160
 
1161
+ <script src="https://unpkg.com/@vkid/sdk@<3.0.0/dist-sdk/umd/index.js"></script>
1162
+ <script type="text/javascript">
1163
+ if ("VKIDSDK" in window) {
1164
+ const VKID = window.VKIDSDK;
1165
+ VKID.Config.init({
1166
+ "app": 52295022,
1167
+ "redirectUrl": "https://dmtuit-psy-vk.hf.space/pages",
1168
+ "source": VKID.ConfigSource.LOWCODE,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1169
  });
 
1170
 
1171
+ const oneTap = new VKID.OneTap();
1172
+ oneTap.render({
1173
+ "container": document.getElementById('vkid-container'),
1174
+ "showAlternativeLogin": true,
1175
+ "styles": {
1176
+ "width": 360
 
 
 
1177
  },
1178
+ "oauthList": [
1179
+ "ok_ru",
1180
+ "mail_ru"
1181
+ ]
 
 
 
1182
  })
1183
+ .on(VKID.WidgetEvents.ERROR, vkidOnError)
1184
+ .on(VKID.OneTapInternalEvents.LOGIN_SUCCESS, function (payload) {
1185
+ const code = payload.code;
1186
+ const deviceId = payload.device_id;
1187
+
1188
+ // Отправляем code и deviceId на сервер для обмена на access_token
1189
+ fetch('/exchange_code', {
1190
+ method: 'POST',
1191
+ headers: {
1192
+ 'Content-Type': 'application/json'
1193
+ },
1194
+ body: JSON.stringify({ code, deviceId })
1195
+ })
1196
+ .then(response => response.json())
1197
+ .then(data => {
1198
+ if (data.error) {
1199
+ console.error('Error from server:', data.error);
1200
+ } else {
1201
+ console.log('User Info:', data);
1202
+ // Здесь можно обработать полученные данные о пользователе
1203
+ }
1204
+ })
1205
+ .catch(vkidOnError);
1206
  });
1207
  }
1208
 
1209
+ function vkidOnError(error) {
1210
+ console.error('VKID Error:', error);
 
 
 
 
 
 
1211
  }
 
 
 
 
 
 
 
 
 
 
1212
  </script>
1213
 
1214