检查sails js app中的空闲时间

时间:2014-08-21 11:55:39

标签: node.js sails.js

我的网站有添加到购物车功能。 我需要知道如何检查用户的空闲时间,以便我可以检查,如果用户将一些产品添加到购物车中然后不买,并且闲置20分钟,那么我需要清理他的购物车。

我正在使用风帆应用程序,我认为必须以任何方式检查cookie或20分钟后触发的其他内容,如果用户空闲情绪。

我尝试设置cookie并节省时间来区分当前时间和接下来的20分钟,但是找不到触发的理想时间功能并让我们知道cookie过期是不成功的。

如果有人知道,请提供帮助。

1 个答案:

答案 0 :(得分:0)

您可以创建一个全局策略,将日期时间存储到用户的会话中,并使用当前日期时间检查该日期时间,获取差异,并使用该策略调用一些清除购物车的服务。

<强>配置/政策

'*': 'checkCookieClearCart'

<强> API /策略/ checkCookieClearCart.js

var _MS_PER_MIN = 60000; // in milliseconds
var _CART_TIMEOUT = 20; // in minutes

module.exports = function(req, res, next) {
  if (!req.session.lastActivity) {
    req.session.lastActivity = new Date();
  } else {
    var currDate = new Date(),
        timeIdle = (req.session.lastActivity - currDate)/_MS_PER_MIN;

    if (timeIdle > _CART_TIMEOUT) {
      // do what you do to clear the user's cart (i.e. through controller action or service)
    }

    req.session.lastActivity = new Date();
  }  
  return next();
}