Как поддерживать сессию с сайтом 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
как объект. Получить их на основе вашего требования.