2

我正在使用 PhoneGap 为 android 和 ios 开发一个移动应用程序,我想实现一个登录方案,如 gmail 和 facebook 应用程序,即用户必须第一次输入用户名和密码,之后应用程序应该自动登录他们一旦它开始。我通过 ajax 和 jquery 调用 Web 服务来验证登录凭据。

我看过很多关于 ios 的帖子,描述了如何修改 delegate.m 文件,那么 android 呢?

4

3 回答 3

2

您可以将用户会话数据存储在持久的存储形式中。检查用户是否已使用此数据登录。

http://docs.phonegap.com/en/2.1.0/cordova_storage_storage.md.html#localStorage

所以步骤将是:

1.检查用户是否使用存储在本地存储中的数据登录。您可以存储会话 id 或布尔值,例如 isLoggedIn。

2.如果 session id 为 null 或 isLoggedIn boolean false ,将登录表单呈现给用户。

3.否则显示主屏幕。

确保在用户注销时删除数据。

于 2013-10-03T09:54:38.403 回答
1

你可以在 JS 中使用本地共享首选项。

如果它为空,则转发到登录页面否则主页。

初始化代码:

//function to  check if user is already logged in or not on Specific Screen
    $(document).on("pageinit", "#idOfthePage",function(event){
    var u_name=localStorage.getItem("PMUsername");
    var u_pwd=localStorage.getItem("PMPassword");

if(u_name==""||u_name==null ||u_name=="null" || u_name=="undefined" ||
u_pwd==""||u_pwd==null ||u_pwd=="null" || u_pwd=="undefined"
){
$.mobile.changePage("login.html");
}
else
{
$.mobile.changePage("home.html");
}
    });

设置本地存储中的值:

localStorage.setItem("PMUsername","some_value");
localStorage.setItem("PMPassword","some_value");
于 2013-10-03T09:57:43.363 回答
0

首次登录时存储用户名、密码,

window.localStorage["username_rem"] = 'username';
window.localStorage["password_rem"] = 'password';

记住在您的登录页面加载事件或登录事件中添加此代码

if(window.localStorage["username"] != undefined && window.localStorage["password"] != undefined) 
{
  if(window.localStorage["username"] != "" && window.localStorage["password"] != ""){                   
    $('#frm_login :input[id=Usernamel]').val(window.localStorage["username"]);
    $('#frm_login :input[id=Password]').val(window.localStorage["password"]);                   
  }              
}
于 2013-10-03T10:06:35.147 回答