小程序检测点赞、评论有效性

调用方法

  var Msg = new Object;
      Msg.key = supportId;//文章ID
      Msg.type = "zan";//按钮类型
      Msg.userid = app.globalData._id;//用户ID
      var checkM = com.checkDate(Msg);
      if (checkM.flag) {
      //业务处理
      }
var checkDate = function (value) { 
  var flag = false;
  var rmk = true;
  var rmk=true;//默认用户是存在的。
  var that = this;
  var timestamp = Date.parse(new Date());
  var userId = value.userid;//当前用户
  var key = value.key;//文章ID 
  var type = value.type;//操作类型,点赞或者评论,浏览
  var operateType = wx.getStorageSync('operateType');
  var chaTime = 12 * 60 * 60 * 1000;//间隔时间为24小时
  //var chaTime = 1 * 60 * 1000;//调试间隔时间为1分钟
 
  var checkKey = type + key;
  if ("" == operateType) { 
    const checkMsg = [];
    checkMsg.push( { 'key': checkKey, 'timestamp': timestamp });
    wx.setStorageSync('operateType', checkMsg);
    var operateType = wx.getStorageSync('operateType');
    return { 'flag': true, 'msg': '有效' };
  }
  var newoperateType=JSON.stringify(operateType);
  var caid=JSON.parse(newoperateType);
  for (let inde in caid) { 
    var obj = caid[inde];
    if (obj.key == checkKey) {
      rmk=false;
      var oldTime = obj.timestamp;
      var userTime = oldTime + chaTime;//旧时间+间隔时间,现在时间大于这个时间,说明可以继续操作
      if (userTime < timestamp) { 
         caid.splice(inde,1);
         flag = true; 
      }
    }
  } 
  if (flag||rmk) {//已经过了有效期限制或者缓存中的用户不存在就重新写缓存时间
    var msyyy = { 'key': checkKey, 'timestamp': timestamp };
    caid.push(msyyy);
    wx.setStorageSync('operateType', caid);
    var operateType = wx.getStorageSync('operateType');
    return { 'flag': true, 'msg': '有效' };
  }else{ 
      return { 'flag': false, 'msg': '请勿频繁操作。' }; 
  } 
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值