今天是腊月二十三,小年,祝大家小年快乐!就要过年了,大家高兴吗?哎,又长了一岁!
曾经创造的连续打卡记录是120多天:莘祺网最高打卡纪录。
哦,卖嘎的!4年前的事儿了!时间都去哪儿了???
好长时间没坚持连续打卡了。
这两天研究每日打卡的代码,想把它放到论坛首页,不过,收藏的代码不能用,自己尝试修改也搞不定,而且代码需要很多,可能会影响加载速度,那就算了吧。
昨天晚上抠出来几段代码,备用。今天上午,用了差不多一个上午的时间,终于组合成可以判断今天是否打卡了的代码!如果打卡了,手机版就显示:每日打卡: 已打卡 ;如果没打卡,就显示:每日打卡: 还没打卡,这就去!(这是个链接)
list($todayStart,$todayEnd) = array($tdtime,$tdtime+86400);
if($winddb['punch'] > $todayStart && $winddb['punch'] < $todayEnd){
ajaxResponse('你已经打卡,请明天再试',false);
}
不过,在下午的测试中发现,如果自己打卡了,查看别人的空间并且ta又没打卡,还是会显示“每日打卡: 还没打卡,这就去!(这是个链接)这不科学吧!所以,需要加个uid判断,就是自己的空间显示”每日打卡“,访问别人的空间时不显示。这个,直到晚饭前才搞定(其实代码很简单,主要就是if($winduid == $uid){,可咱本来就不太懂php代码,再加上时间长有些生疏了,就因为少写了一个等号,与成功擦肩而过)。
能够判断出来今天是否打卡了,固然取得了可喜成果,不过,我最想得到的信息是连续多少天连续打卡,这才是最有意义的。通过研究下面的代码,最终只能得到多少天未打卡(用里面的公式计算),以及连续打卡的情况下提示今天是否打卡了。要想得到连续打卡天数,看代码需要很多东西,这个很复杂,不是几行代码就能搞定的,一点儿头绪都没有,而且去打卡的时候(访问电脑版个人中心)也是能够看到连续多少天打卡的,所以上面的坚持(纠结)也是没有意义的。就至此为止吧。
list($isPunch,$showPunch) = isPunchRoutine();//每日打卡
if ($showPunch) {
$behaviorService = L::loadClass('behaviorservice','user');
$punchBehavior = $behaviorService->getBehaviorStatistic($winduid,'continue_punch');
if ($isPunch) {
//未打卡
$unPunchDays = $winddb['punch'] > 0 ? ceil(($tdtime - PwStrtoTime(get_date($winddb['punch'],'Y-m-d'))) / 86400) : 1;
$punchText = $unPunchDays > 1 ? "{$unPunchDays}天未打卡" : "每日打卡";
} else {
//已打卡
$punchBehavior['num'] or $punchBehavior['num'] = 1;
$punchText = "连续{$punchBehavior['num']}天打卡";
}
}