2016-05-19 3 views
3

У меня есть приложение Ionic, и я хочу поставить флажок «Запомнить меня» на странице входа, так что как только пользователь войдет в систему, он войдет в систему навсегда (если он не выйдет из системы), даже если он закрывает и повторно открывает приложение, как это делает приложение Facebook. Есть ли способ сделать это в Ionic 2?Приложение Ionic 2: помните пользователя на устройстве

Спасибо!

ответ

6

Вы можете использовать localstorage для сохранения некоторых данных для собственной проверки/логической обработки. Это html5 поддерживается и прост в использовании. Недостатком было бы то, что оно не будет безопасным, и оно может быть стерто системой при низкой памяти или очистке кеша.

HTML (После нажатия кнопки, но и может установить его по собственному вкусу):

<button secondary (click)="addLocalStorage()">Done</button> 

В контроллере:

import {Storage, LocalStorage} from 'ionic-angular'; 
constructor(navController, local) { 
    this.navController = navController; 
    this.local = new Storage(LocalStorage); 
} 
addLocalStorage(){ 
    this.local.set("didTutorial","true"); 
    //set the doneTutorial to be true 
} 

Объяснение: В конструкторе мы создаем новый Объект localstorage, называемый локальным. Чтобы назвать это, мы используем 'this.local', а 'set' - метод его сохранения.

Set (Key, Value)

В примере кода выше, я использую 'didTutorial' в качестве ключа и 'истина' в качестве значения.

Чтобы получить его, вы можете получить его на этой странице или на любой другой странице. . Только не забудьте импортировать хранения и LocalStorage и объявить новый объект LocalStorage в конструкторе (то же самое, что и выше)

Код для подмотки:

var value = localStorage.getItem('didTutorial'); 

GetItem (Key, Value)

+1

Вы говорите о его недостатке, разве это не правильный способ сделать это? Как делают такие профессиональные приложения, как Facebook? –

+1

@MicheleStieven. Если вы хотите сохранить учетные данные пользователя, то возможной альтернативой может стать securestorage (android) и keychain (ios). Для этого есть плагины и библиотеки. Но для простых вещей, таких как запомнить меня, вы можете использовать локальное хранилище, как в примере выше. – Gene

+0

@Gene Почему невозможно импортировать Storage and LocalStorage – Sreinieren

0

localStorage работает нормально, но я подтверждаю те недостатки, о которых говорит @Gene. Он не является надежным, особенно на iPhone, который не имеет большого количества свободного места.

Я использую ионный 1, поэтому я не могу попробовать это решение, но вы можете проверить это: https://ionicframework.com/docs/native/native-storage/ ; может быть более надежным!

Смежные вопросы