【问题标题】:Idle period in Worklight 6.2 Hybrid appWorklight 6.2 混合应用程序中的空闲期
【发布时间】:2014-11-13 14:05:38
【问题描述】:

如何为 Worklight 6.2 混合应用程序配置应用程序空闲设置? 我们正在使用 JQuery 为 Android 4.1.x 开发一个混合应用程序,并希望在一段时间不活动后将用户返回到登录页面...... 框架中是否有我们应该为此使用的内置功能?

【问题讨论】:

    标签: android ibm-mobilefirst


    【解决方案1】:

    没有内置的空闲功能。您将需要实现一个自定义的。

    实现此目的的一种方法是将您的自定义实现基于对 Worklight Server 会话超时进行计数。

    会话超时在 your-project\server\conf\worklight.properties 中定义。

    你可以做的是:

    1. 在成功WL.Client.connect() 后,您将开始计算与会话超时设置相同的数量

    2. 对于每个服务器操作(适配器请求...),重置计数

    3. 如果计数过期(或达到,比如说,5-10 秒之前),从领域注销并显示登录表单

    我认为在应用程序中计算“一般”空闲时间并不好,因为您需要考虑会话超时和您将设置的任何“活动”超时,这将必须低于会话超时。它只是需要处理更多的场景......

    编辑:实际上我有另一个想法 - 在 Worklight 中使用heartbeat 的 API 来保持与服务器的连接处于活动状态,并计算您希望应用程序的任何活动超时...如果它过期,请从领域并显示登录表单。

    【讨论】:

      【解决方案2】:

      您也可以不用由鼠标和键听众附着到文档或身体ping服务器,与jquery。

      像这样的代码:(未测试) P>

      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(取决于你的具体需要)另一种方法是捕捉屏幕关断/导通本地设备上。

      【讨论】:

        猜你喜欢
        • 2023-03-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多