7

我找不到任何方法来处理这个问题。我在 PhoneGap 中开发了一个单页应用程序,它只是登录页面。
登录后,我将其重定向到网站。现在问题是我必须在 App 中保持登录状态。
例如,如果用户在没有注销的情况下退出应用程序,那么他不应该在下次启动时获得我的登录屏幕。它应该直接进入网站。

在android中,我们可以使用我知道的共享偏好来处理它,但我对PhoneGap是全新的。此外,当用户单击重定向网站中的注销时,应显示我的应用程序的登录屏幕而不是网站的登录屏幕。

我用谷歌搜索了它,但找不到任何有用的东西

4

3 回答 3

10

您可以使用 localStorage,正如 Nurdin 所说,它不是那么持久。

在此处阅读更多相关信息。 http://www.w3schools.com/html/html5_webstorage.asp

所以你必须在登录页面之前设置一个条件来检查用户是否登录,即

if(window.localStorage.getItem("loggedIn") == 1) {
// Logged In
// Redirect to first page after logged in.
}
else
{
// Redirect to login page.
}

在登录页面,登录成功后。

window.localStorage.setItem("loggedIn", 1);
window.localStorage.setItem("username", document.getElementsByName("usernametextbox").value);

ETC..

在注销页面中清除此 localStorage 值。

window.localStorage.removeItem("loggedIn");
window.localStorage.removeItem("username");
于 2015-01-09T11:26:13.253 回答
0

您可以将登录状态和会话 ID 存储在 sqlLite 或 LocalStorage 中。在启动应用程序时,您可以检查您使用的存储中的值。

供您参考,您可以查看此链接

http://docs.phonegap.com/en/edge/cordova_storage_localstorage_localstorage.md.html

于 2015-01-08T14:00:14.280 回答
0

改用. localStorage_ sessionStorage为了更好,请使用sqlite. SessionStorage 只是暂时与 localStorage 比较。但sqlite更持久。

本地存储语法

localStorage.userId

sessionStorage 语法

sessionStorage.userId

sqlite

https://github.com/brodysoft/Cordova-SQLitePlugin

于 2015-01-09T02:57:48.840 回答