Данные пользовательского заказа в хранилище браузера

Перед тем как платежные поручения в POS хранятся в хранилище браузера. Таким образом, если мы снова откроем модуль POS (не следует путать с закрытием сессии), система автоматически извлекает данные из хранилища.

Если ваша модель добавляет данные (поля), вам необходимо выполнить дополнительную обработку данных, чтобы сохранить эти данные среди повторных открытий.

Поскольку хранилище браузера (* localStorage *) позволяет сохранять данные только с типом String, POS преобразует объект `` Order`` в String и обратно.

Для этого используются следующие методы:

Когда заказ обновляется, вызывается `` export_as_JSON`` и данные сохраняются в хранилище браузера.

Теперь, если вы закрываете страницу и снова открываете ее, то в какой-то момент вызывается `` init_from_JSON`` для восстановления порядка из * строки json *.

Давайте возьмем пример:

Модуль `` POS Advanced Order Notes``

Этот модуль позволяет добавлять заметки ко всему заказу, использовать уже заданные заметки и ускорить процесс создания заказов, указав товары также с помощью заметок, которые могут автоматически применяться в дальнейшем.

export_as_JSON: function () {
  var data = _super_order.export_as_JSON.apply(this, arguments);
  data.note = this.note;
  return data;
},
init_from_JSON: function (json) {
  this.note = json.note;
  _super_order.init_from_JSON.call(this, json);
},

Когда вы добавляете примечание к своему заказу, запускается триггер, который вызывает `` export_as_JSON``, чтобы преобразовать данные текущего заказа в строку (включая примечания) и сохранить ее в хранилище браузера.

При загрузке POS, чтобы получить сохраненные заметки из хранилища браузера, вам необходимо расширить функцию `` init_from_JSON``.

Без этого кода ваш модуль будет работать, но если вы перезагрузите POS, ваши заметки не будут представлены (потому что они не сохранены).