我们不希望用户每次打开我们的 Sencha 2 应用程序时都登录。目前还没有确定我们是通过 Web 浏览器提供它还是使用 Sencha 构建工具将其打包为原生应用程序。
任何建议如何解决它?我是否应该使用一些本地存储来记住用户是否已登录?
我们不希望用户每次打开我们的 Sencha 2 应用程序时都登录。目前还没有确定我们是通过 Web 浏览器提供它还是使用 Sencha 构建工具将其打包为原生应用程序。
任何建议如何解决它?我是否应该使用一些本地存储来记住用户是否已登录?
我在github上创建了一个 Simple Login 项目来说明我如何在凭证保存中使用 localStorage。随意在您的项目中使用想法。欢迎反馈和评论
干杯,奥列格
在这里,我将使用 'ext-record-2' 的 id 保存用户名和密码值。
if (values.keepUser) {
var user = Ext.create('MyApp.model.LoginLocalSave', {
id: 'ext-record-2',
uemail: values.uname,
pword: values.pword,
isRemember: values.keepUser
});
user.save();
}
在启动登录屏幕时,我们需要使用先前保存的 id 'ext-record-2' 从本地存储中读取用户名和密码字段并将其显示在字段上。
launch: function() {
var User = Ext.ModelMgr.getModel('MyApp.model.LoginLocalSave');
User.load('ext-record-2', {
success: function(user) {
Ext.ComponentQuery.query('formpanel #uname')[0].setValue(user.get('uemail'));
Ext.ComponentQuery.query('formpanel #pword')[0].setValue(user.get('pword'));
Ext.ComponentQuery.query('formpanel #keepUser')[0].setValue(user.get('isRemember'));
},
failure: function() {
console.warn('Auto-fill login failed.');
}
});
},
请通过单击链接访问以下 URL 以获取完整的源代码。[通过解决方案解决]
http://saravanakumar.org/blog/2014/04/login-screen-with-username-and-password-remember-in-sencha-touch/