第一步:进入数据库,给会员添加字段:
last_score_time
第二步:在文件:
/apps/home/model/MemberModel.php
找到:
// 会员登录
public function login($where)
{
$field = array(
'a.id',
'a.ucode',
'a.username',
'a.useremail',
'a.usermobile',
'a.gid',
'a.status',
'b.gcode',
'b.gname',
'a.last_score_time',// 加上这一行,这样才能正确取出用户上次加分的时间。
);找到原来的登陆添加积分的代码
// 登录积分
// $score = Config::get('login_score') ?: 0;
// if (is_numeric($score) && $score > 0) {
// $data['score'] = '+=' . $score;
// }修改成:
// 登录积分(每天最多加一次)
$score = Config::get('login_score') ?: 0;
if (is_numeric($score) && $score > 0) {
$lastScoreTime = $user->last_score_time;
$today = date('Y-m-d');
if (substr($lastScoreTime, 0, 10) != $today) {
$data['score'] = '+=' . $score;
$data['last_score_time'] = get_datetime(); // 更新积分记录时间
}
}这样每天登陆就会只增加一次积分了。
增加字段 last_score_time
判断这个字段的日期是否为“今天”
如果不是今天再加积分