【发布时间】:2017-07-24 20:04:07
【问题描述】:
在我启动应用程序之前,我将检查本地存储是否有任何可用的用户数据,如果是,我将导航到主页否则登录页面。
这里我无法检索存储的数据,请输入任何内容...
目前正在使用 Ionic 2 SQlite 插件。
注意:在浏览器中它工作正常,但在 Android 设备上它不工作。
app.component.ts : 检查用户数据
loadUser() {
this.userSettings.getUser().then(user => {
this.userObj = JSON.stringify(user);
if (user) {
console.log('App : ', this.userObj);
this.nav.setRoot(HomePage,this.userObj);
} else {
console.log('App : No user data');
this.rootPage = LoginPage;
}
});
}
login.ts : 保存用户数据
this.userSettings.addUser(
userData.employeeCode,
userData.password,
userData.role
);
user-settings.ts : 提供者中的存储文件
getUser() {
if (this.sql) {
return this.sql.get('user').then(value => value);
} else {
return new Promise(resolve => resolve(this.storage.get('user').then(value => value)));
}
}
addUser(employeeCode, password, role) {
let item = { employeeCode: employeeCode, password: password, role: role };
if (this.sql) {
this.sql.set('user', JSON.stringify(item)).then(data => {
this.events.publish('userObj:changed');
});
} else {
return new Promise(resolve => {
this.storage.set('user', JSON.stringify(item)).then(() => {
this.events.publish('userObj:changed');
resolve();
});
});
}
}
app.module.ts:
providers: [
{ provide: ErrorHandler, useClass: IonicErrorHandler },
AuthService,
SqlStorage,
UserSettings,
Storage
]
提前致谢。
【问题讨论】:
-
尽可能提供一些关于如何使用 sqlite 插件的代码
-
如果没有您的代码中的代码示例,则无法查明问题。 :)
标签: ionic2 local-storage