Определите, откуда посетители заходят на ваш сайт, и направьте их на настроенную по их геолокации соответствующую страницу.
Описание функционала
В этом примере мы определяем, откуда посетители заходят на наш сайт, и на основе полученных данных перенаправляем посетителя на страницу, содержащую контент, настроенный для его местоположения.
Код
geo-page
ГЛАВНАЯ
location.jsw
routers.js
В этом примере мы использовали API wix-window, чтобы получить географические координаты посетителя сайта, а затем определили фактическое название страны этого местоположения с помощью стороннего API-сервиса под названием LocationIQ.
Чтобы использовать этот пример, зарегистрируйте ключ API на их сайте, чтобы вы могли пользоваться их услугами.
Секретный менеджер
Мы добавили ключ API, предоставленный LocationIQ, в разделе "Секретный менеджер", который находится в разделе «Инструменты разработчика» на панели инструментов вашего сайта.
Маршрутизатор
Мы добавили маршрутизатор, который отвечает за навигацию посетителей сайта в соответствии с их местоположением. Каждому местоположению мы присваем свою динамическую страницу.
Код на главной странице
На нашей домашней странице сайта мы добавили текстовый элемент, чтобы отображать приветствие для посетителя сайта. Когда посетитель заходит на сайт, происходит следующее:
Мы используем getCurrentGeolocation() из API wix-window, чтобы получить координаты посетителя сайта. Действие будет успешным только в том случае, если служба геолокации посетителя сайта включена.
Мы вызываем внутреннюю функцию getCountryFromLocation() из location.jsw, чтобы получить название страны на основе местоположения посетителя сайта, определенного на предыдущем шаге.
Мы используем API wix-location для перенаправления посетителя на динамическую страницу на основе местоположения.
Код страницы маршрутизатора
На странице нашего маршрутизатора мы добавили текстовый элемент для отображения названия страны, из которой посетитель заходит на наш сайт. Когда посетитель сайта достигает страницы Router («гео-страницы»), это означает, что функция geo_Router() (в routers.js) ответила ok(), указывая, что она содержит название страны в своих RouterData. Мы используем API wix-window, чтобы извлечь эту информацию и присвоить ее нашему текстовому элементу.
Бэкенд код
location.jsw
Функция getCountryFromLocation() сначала получает ключ API LocationIQ от диспетчера секретов. Затем он использует выборку из API wix-fetch, чтобы запросить информацию о координатах, которые он получил в качестве аргументов. Наконец, функция возвращает название страны, соответствующее найденному местоположению.
routers.js
Функция geo_Router() срабатывает, когда посетитель сайта уходит с главной страницы. Если параметр запроса не содержит названия страны, функция возвращает ответ notFound(). В противном случае он возвращает ответ ok() на страницу маршрутизатора («гео-страница») и передает название страны вместе с ответом.
Comments