我已经在Ionic 2测试版中运行了一个应用程序,并且我使用本地存储来存储登录的user_id
以检查用户是否已登录。
现在我将应用程序切换到Ionic 3,现在我正在使用Ionic的SQLite存储,所以问题是,在从应用程序商店更新应用程序后,我不想要求再次登录我的用户。我想获取设备本地存储并在SQLite中输入并删除。
这里是我为Ionic 2 beta app做的事情
import { Storage, LocalStorage } from 'ionic-angular';
...
constructor () {
this.local = new Storage(LocalStorage);
}
this.local.set('user_id', user_id);
在Ionic 3应用程序中:
import { Storage } from '@ionic/storage';
...
constructor(public local: Storage) {
this.local.get('user_id').then((user_id) => {
console.log('USER ID: ' + user_id);
});
}
...
问题:现在我想要的是,如果用户更新他的应用程序,那么系统首先检查本地存储是否已经为应用程序设置,如果是,则系统将它们设置为新应用程序并将其删除,这样用户就不需要更新应用后再次注册。
有什么想法吗? 提前谢谢。
答案 0 :(得分:0)
您可以做的就是首先检查本地存储的值,如果您有任何数据。
像这样我把这个代码放在我的app.component 中 //initialize the storage
this.storage.get('credentials').then(data => {
//check if data is null or no data yet.
if (data != null) {
// you can do is to
this.nav.setRoot(login);
} else {
//or is here is a logged user you can do
this.nav.setRoot(home);
}
}).catch(error => {
});
答案 1 :(得分:0)
我找到了一个解决方案,非常简单。 只需使用核心javascript获取本地存储,如下所示:
let preLocalStorage = window.localStorage;
let user_id = preLocalStorage.getItem('user_id');
然后将值放在sqlite中,如下所示:
this.local.set('user_id',user_id);
它完美无缺!
谢谢