Итак, в прошлом я писал пост про создание файлов cookie в Electron с помощью Oreo.js. На этот раз я просто хочу показать вам, как импортировать этот пакет в ваш проект Cordova. По сути, вы можете использовать oreo.js точно так же, как вы можете использовать его в Электроне или даже в веб-браузере, но метод импорта может различаться в зависимости от типа установки, который вы решите использовать.

Что такое Oreo.js?

Как я уже говорил в Учебнике по Электрону, Oreo.js — это кроссплатформенный пакет JavaScript, который позволяет создавать файлы cookie и управлять ими точно так же, как в браузерах (с дополнительными функциями). Этот пакет можно установить разными способами в зависимости от платформы, на которой вы разрабатываете приложение.

Установка пакета

В Cordova вы можете установить этот пакет двумя способами. Вы можете установить его с помощью диспетчера подключаемых модулей или путем непосредственного импорта файла .js в ваш index.html.

Способ тега script (рекомендуется)

Вы можете импортировать .js напрямую с помощью тега сценария в файле index.html. Именно так:

<script src="https://cdn.jsdelivr.net/npm/oreo.js/dist/oreo.min.js"></script>

Также вы можете скачать файл oreo.js в папке вашего проекта Electron и импортировать его:

<script src="./local/path/to/oreo.js"></script>

После импорта пакет автоматически определит, является ли текущая платформа приложением Cordova, чтобы установить систему хранения (LocalStorage). Также будет создан глобальный объект с именем oreo и еще один с именем cookies . Оба объекта одинаковы, но вы можете выбрать один из них для доступа к функциям oreo.

Почему я рекомендую этот способ установки? Я многому научился в программировании Cordova и скажу, что плагины Cordova могут сильно раздражать, если у вас недостаточно знаний в области программирования для Android. . Версия плагина oreo.js — это просто адаптированная версия исходного файла .js для импорта через плагины Cordova.

Когда вы импортируете oreo.js через тег скрипта, пакет автоматически обнаружит, работает ли он под приложением Cordova, а затем пакет выберет систему LocalStorage для хранения всех файлов cookie.

Путь менеджера плагинов

Вы можете установить пакет как плагин Cordova с помощью следующей команды CLI:

cordova plugin add cordova-plugin-oreo

После установки вам нужно дождаться события deviceready для вызова функций oreo:

document.addEventListener( "deviceready", function( ) {
  // OREO AND OTHER PLUGINS ARE READY TO USE!
  window.oreo = cordova.plugins.oreo ;
}, false ) ;

Подробнее о deviceready мероприятии здесь. См. полный пример кордовы на официальном сайте документации. Хорошо, теперь мы можем использовать все функции Oreo в нашем приложении Cordova.

Основное использование

Теперь, когда пакет импортирован, мы можем вызвать основные методы, чтобы начать создавать файлы cookie. Просто вызовите один из следующих экземпляров:

// WRITE A COOKIE [v]
// WILL EXPIRE IN A MONTH BY DEFAULT [v]
oreo( 'my-cookie-key', 'my-cookie-value' ) ;

// WRITE A COOKIE WITH EXPIRATION-DATE AND PATH [v]
// WILL EXPIRE IN A YEAR [v]
expiration = new Date( ) ;
expiration = expiration.setFullYear( expiration.getFullYear( ) + 1 ) ;
// OR 
expiration = 365 ; // EXPIRATION IN DAYS IS ACCEPTABLE TOO.
oreo( 'my-cookie-key', 'my-cookie-value', { expires : expiration, path : '/blog/' } ) ;

// READ COOKIE [v]
var cookie = oreo( 'my-cookie-key' ) ;

// REMOVE COOKIE [v]
oreo.remove( 'my-cookie-key' ) ;

// CLEAR ALL [v]
oreo.clear( ) ;

Интересные особенности

Oreo.js пытается эмулировать веб-куки, но также включает несколько функций, упрощающих код.

Отформатированные значения

Пакет вернет отформатированное значение. Например, если вы сохраните логическое значение, вы получите логическое значение, как только запросите этот файл cookie.

Файлы cookie даты

Вы можете сохранить Даты JavaScript, просто задав Дату в параметре значения (также допустимы строковые даты, такие как ISOString или UTCString).

JSON-значения

Кроме того, вы можете напрямую сохранить объект JSON. Он будет строковым и преобразован обратно, как только вы запросите файл cookie.

Об ионной версии

Я попытался создать ionic-native плагин для Cordova, но, к сожалению, мое текущее оборудование работает слишком медленно (потому что ionic требует повторной компиляции каждого изменения и слишком утомляет). Так что пока я не могу создать «официальную» версию для ionic, извините.

И это все, если вам нужна дополнительная информация, вы можете посетить сайт документации, также вы можете скачать полный пример Cordova из Github Repository.

Удачи! ☕💜