簡體   English   中英

Worklight 6.2 Hybrid應用程序中的空閑時間

[英]Idle period in Worklight 6.2 Hybrid app

如何為Worklight 6.2 Hybrid應用程序配置應用程序空閑設置? 我們正在使用JQuery開發適用於Android 4.1.x的混合應用程序,並希望在一段時間不活動之后使用戶返回登錄頁面...該框架中是否有內置功能,我們應該尋求利用這個?

沒有內置的空閑功能。 您將需要實現一個自定義的。

一種實現方法是將您的自定義實現基於Worklight Server會話超時進行計數。

會話超時在your-project \\ server \\ conf \\ worklight.properties中定義。

您可以做的是:

  1. 成功執行WL.Client.connect() ,您將開始計算與會話超時設置相同的數量

  2. 對於每個服務器操作(適配器請求...),重置計數

  3. 如果計數已過期(或之前達到5-10秒),請從領域注銷並顯示登錄表單

我認為在應用程序中計入“一般”空閑時間不是一件好事,因為您將需要同時考慮會話超時和您將設置的“活動”超時,這必須小於會話超時。 它只是需要照顧的更多場景...

編輯:實際上,我還有另一個想法-在Worklight中使用API​​進行heartbeat ,以保持與服務器的連接處於活動狀態,並為您希望應用程序進行的活動超時計數...如果過期,請從領域注銷並顯示登錄表單。

您也可以使用Jquery將鼠標和按鍵偵聽器附加到文檔或正文上,而無需ping服務器,而無需ping服務器。

類似於以下代碼:(未經測試)

var idleTime = 30*1000; //30 seconds
var idleTimer = null;

$(document.body).bind('mousemove,keydown,click',function(){
    clearTimeout(idleTimer);
    idleTimer = setTimeout(isIdle,idleTime);
});

function isIdle(){
    clearTimeout(idleTimer);
    //logout and go to login form
}

另一個可能更好的UX(取決於您的特定需求)的選項是捕獲設備上本機的屏幕關閉/打開。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM