我有一個Ionic應用程序,我想在登錄頁面中放入一個「記住我」複選框,以便用戶登錄後他將永遠登錄(除非他退出),即使他關閉並重新打開應用程序,就像Facebook應用程序一樣。 有沒有辦法做到這一點在離子2?Ionic 2應用程序:記住設備上的用戶
謝謝!
我有一個Ionic應用程序,我想在登錄頁面中放入一個「記住我」複選框,以便用戶登錄後他將永遠登錄(除非他退出),即使他關閉並重新打開應用程序,就像Facebook應用程序一樣。 有沒有辦法做到這一點在離子2?Ionic 2應用程序:記住設備上的用戶
謝謝!
您可以使用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
}
說明: 在構造函數中,我們創建了一個新的本地存儲對象,稱爲「本地」。 要調用它,我們使用'this.local','set'是存儲它的方法。
集(鍵,值)
在上述示例代碼,我使用「didTutorial」作爲密鑰和「真」作爲值。
要檢索它,您可以在此頁面或任何其他頁面檢索它。 。 只要記住進口倉儲localStorage的,並宣佈在構造一個新的localStorage對象(同上)
代碼檢索是:
var value = localStorage.getItem('didTutorial');
的GetItem(鍵,值)
您可以使用storage和sqlStorage來保存用戶數據。然後檢查保存的用戶。
參見: - https://www.thepolyglotdeveloper.com/2015/12/use-sqlite-in-ionic-2-instead-of-local-storage/
希望這有助於!
localStorage運行良好,但我確認了@Gene談論的缺點。這是不可靠的,特別是在那些沒有太多的空閒存儲
我用離子1,所以我不能嘗試這個解決辦法,但你可能想看看這個iPhone手機: ;可以更可靠!
你說說它的缺點,這不是正確的做法嗎? Facebook這樣的專業應用如何做到這一點? –
@MicheleStieven,如果你想存儲用戶憑證,那麼securestorage(android)和keychain(ios)可能是一個可能的選擇。有插件和庫。但對於記住我這樣簡單的事情,您可以像上面的示例一樣使用本地存儲。 – Gene
@Gene爲什麼不能導入Storage和LocalStorage – Sreinieren