0

我们不希望用户每次打开我们的 Sencha 2 应用程序时都登录。目前还没有确定我们是通过 Web 浏览器提供它还是使用 Sencha 构建工具将其打包为原生应用程序。

任何建议如何解决它?我是否应该使用一些本地存储来记住用户是否已登录?

4

2 回答 2

0

我在github上创建了一个 Simple Login 项目来说明我如何在凭证保存中使用 localStorage。随意在您的项目中使用想法。欢迎反馈和评论

干杯,奥列格

于 2012-09-20T17:42:40.643 回答
0

在这里,我将使用 '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/

于 2014-04-24T04:25:00.717 回答