我是一款具有自动注销功能的离子应用。当用户执行任何操作时,我需要延长会话超时。我将时间留在localstorage中(使用localStorageService)。
当用户更改屏幕或单击按钮时,我可以延长时间,但我不知道如何在其余元素上执行此操作。
我只需要一种捕捉任何动作的方法(点击背景,专注于元素,按下按钮)等。最简单的方法是什么?感谢。
答案 0 :(得分:2)
你应该能够监听touchend
事件并保持超时;像这样的东西:
.controller("AppCtrl", function ($scope, $timeout) {
var timeoutPromise,
$body = document.querySelector("body");
function logout () {
// do logout work here
}
function resetTimer () {
$timeout.cancel(timeoutPromise);
timeoutPromise = $timeout(logout, 60000); // log out after 60 seconds
}
ionic.on("touchstart", resetTimer, $body);
ionic.on("touchend", resetTimer, $body);
resetTimer();
});
一些消息来源:
http://ionicframework.com/docs/api/utility/ionic.EventController/ https://docs.angularjs.org/api/ng/service/$timeout