我的网站有添加到购物车功能。 我需要知道如何检查用户的空闲时间,以便我可以检查,如果用户将一些产品添加到购物车中然后不买,并且闲置20分钟,那么我需要清理他的购物车。
我正在使用风帆应用程序,我认为必须以任何方式检查cookie或20分钟后触发的其他内容,如果用户空闲情绪。
我尝试设置cookie并节省时间来区分当前时间和接下来的20分钟,但是找不到触发的理想时间功能并让我们知道cookie过期是不成功的。
如果有人知道,请提供帮助。
答案 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();
}