Как поддерживать сессию с сайтом AngularJS из Native App?

Я работаю над приложением для iOS, которое почти полностью родное.

Однако есть одна часть приложения, которая просто должна быть веб-представлением.

Мне нужно, чтобы пользователь выбирал товары, которые добавляются в корзину, сохраненную в сеансе на веб-сайте AngularJS. После того, как они выбирают элементы, они просто открывают веб-представление со страницей оформления заказа, которая уже знает, какие элементы были выбраны из приложения.

Как это сделать?

Спасибо

1 ответ

Решение

Мое предложение заключается в использовании local storage над session а также cookies поскольку сеанс отличается для каждой вкладки в браузере, и куки имеют сеансы (время для удаления). Значения локального хранилища остаются там, пока кто-то не удалит их. Для простоты мы используем простой код javascript для доступа к локальному хранилищу в angularjs.

Что касается вашего вопроса, то при входе пользователя в систему храните идентификатор пользователя и пароль в локальном хранилище браузера.

Например, мы можем вызвать это прямо в контроллере angularjs

localStorage.setItem(key, value) // сохранить значение

localStorage.setItem(key, JSON.stringify(value)) // сохранить объект

localStorage.getItem(key) // чтобы получить значение

JSON.parse(localStorage.getItem(key)) // чтобы получить объект

примеры согласно вашему требованию,

localStorage.setItem('userId', userId)

var user = localStorage.getItem('userId')

if(user){ //if user already logged in
  // retrieve user relevant data from DB, show home page directly or whatever you want. 
}

Я думаю, что будет риск для безопасности, если вы храните выбранные элементы в локальном хранилище. Но если вы хотите сохранить их, просто сохраните их при выборе подтверждения.

localStorage.setItem('selectedItems', JSON.stringify(selectedItems)) Я предположил selectedItems как объект. Получить их на основе вашего требования.

Другие вопросы по тегам