Advertisement
Caustic42

Untitled

Aug 19th, 2017
396
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.86 KB | None | 0 0
  1. При запуске открывается 4 вкладки (только 1 юзер с них видит).
  2.  
  3. Вкладка №1 (всегда работает в example.com).
  4. Подгружается страница по адресу http://example.com/Application/Index/Index
  5. Пользователь все время будет оперировать в этой вкладке.
  6. Цвет статус-бара берется с Cookies (название Cookie записи StaturBarColor).
  7. StatusBarColor может принимать следующие значения: цвет в формате HEX (например, #000000) и значение Transparent.
  8. Если значение Transparent - статус-бар прозрачный, в ином случае меняем цвет статус бара на прозрачный.
  9.  
  10. Вкладка №2.
  11. Контент подгружается в этой вкладке только при условии что во вкладка №1 была вызвана JavaScript-функция OpenNewTab.
  12. Данная функция будет иметь следующий вид: OpenNewTab(Url, Orientation, Proxy), где:
  13. Url - Url страницы, которую нужно подгрузить.
  14. Orientation - ориентация приложения. Может принимать значения Portrait (портретная ориентация экрана), Landscape (альбомная ориентация экрана).
  15. Proxy - если данный параметр был передан, все данные в этой вкладке должны загружаться через переданный Proxy-сервер (формат hostname:port).
  16. Статус бар прозрачный. Справа сверху выводим крестик для закрытия данного таба.
  17.  
  18. Вкладка №3.
  19. Данная вкладка никогда не отображается пользователю.
  20. Контент в этой вкладке загружается только при условии что во вкладке №1 была вызвана JavaScript-функция GoAuth.
  21. Данная функция будет иметь следующий вид: GoAuth(Login, Password), где:
  22. Login - Логин, который ввел пользователь.
  23. Password - пароль, который ввел пользователь.
  24. После вызова данной функции во вкладке №1 вызывается вызываем страницу http://example.com/Auth с которой далее происходит редирект, далее дожидаемся окончания всех редиректов и вставляем введенные логин и пароль в поля:
  25. Login вставляем в поле “email”, Password вставляем в поле “pass” и сабмитим форму (именно отправляем форму, а не отправляем данные post’ом на определенный адрес).
  26. После этого нажимаем на кнопку “Разрешить”.
  27. После этого страница сделает редирект по адресу http://website.com/blank.html#blablabla.
  28. Забираем все что после якоря и вызываем JavaScript-функцию AuthorizationComplete(Data) во вкладке №1,
  29. где Data это все, что мы получили после якоря на странице http://website.com/blank.html#blablabla
  30.  
  31. Вкладка №4
  32. Периодически (см. далее) загружаем данную страницу http://example.com/Checker и дожидаемся окончания редиректов.
  33. После окончания делаем клик по загруженному контенту (а именно по ссылкам).
  34. После перехода по ссылке совершаем рекурсивные переходы с периодичностью N секунд. Всего должно быть X рекурсивных переходов.
  35. Данную операцию повторяем Y раз в день с случайной периодичностью (к примеру через 3 часа, затем через 5, затем через час), но не более Y раз в сутки.
  36. После завершения рекурсивных переходов переходим на пустую страницу (about:blank) чтобы вкладка не висела в памяти.
  37.  
  38. Уведомления (не Push-уведомления, а Notifications). Я осознаю что если приложения будет закрыто, уведомления не будут поступать.
  39. Каждых 2 минуты отправляем запрос (методом GET) по адресу http://example.com/Push и разбираем jSON следующего вида:
  40. {“Text”:”Something Notification Text”,”Date”:”1234567890”} где:
  41. Text - текст уведомления, который нужно вывести.
  42. Date - дата в формате UNIXTIMESTAMP.
  43. Если при выполнении запроса Date больше чем Date с предыдущего запроса - отправляем уведомление, если меньше - не отправляем уведомление.
  44. Звук уведомления в приложении (в формате MP3). Также должна быть вибрация.
  45.  
  46. Гео. Периодически (каждых 20 минут) отслеживание его устройства.
  47. После этого отправляем запрос на http://example.com/Geo?Lat=<LAT>&Lng=<LNG> где:
  48. LAT это LAT координата, LNG это LNG координата.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement