【发布时间】:2016-05-19 08:58:25
【问题描述】:
我有一个 Ionic 应用程序,我想在登录页面中添加一个“记住我”复选框,这样一旦用户登录,他将永远登录(除非他注销),即使他关闭并重新打开应用程序,就像 Facebook 应用程序一样。 有没有办法在 Ionic 2 中做到这一点?
谢谢!
【问题讨论】:
标签: authentication ionic2 remember-me
我有一个 Ionic 应用程序,我想在登录页面中添加一个“记住我”复选框,这样一旦用户登录,他将永远登录(除非他注销),即使他关闭并重新打开应用程序,就像 Facebook 应用程序一样。 有没有办法在 Ionic 2 中做到这一点?
谢谢!
【问题讨论】:
标签: authentication ionic2 remember-me
您可以使用 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
}
说明: 在构造函数中,我们创建了一个名为“local”的新本地存储对象。 要调用它,我们使用 'this.local' 和 'set' 是存储它的方法。
设置(键,值)
在上面的示例代码中,我使用 'didTutorial' 作为键,使用 'true' 作为值。
要检索它,您可以在此页面或任何其他页面检索它。 只要记住导入 Storage 和 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 谈到的缺点。它不可靠,尤其是在没有太多可用存储空间的 iPhone 上
我使用 ionic 1,因此无法尝试此解决方案,但您可能想查看一下:https://ionicframework.com/docs/native/native-storage/ ;可能更可靠!
【讨论】: