首页| 版块| 我的| 发帖| 消息
主题:2017年1月20日:手机版添加每日打卡相关信息 [电脑版]
zhangjingyu发表于 2017-01-20 22:44
今天是腊月二十三,小年,祝大家小年快乐!就要过年了,大家高兴吗?哎,又长了一岁!

曾经创造的连续打卡记录是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']}天打卡";
    }        
}
下一页 (1/2)
回帖(51):
51楼:今天连续打卡1000天了,通过莘祺网最高打卡记录里面某一楼链接来到这个主题。
刚刚把全部帖 ..(zhangjingyu)
50楼:我打了卡,呵呵(未来首先)
49楼:连续天数: 50天,真棒!(zhangjingyu)

全部回帖(51)» | 最新回帖
收藏本主题 | 发表新主题