<?php namespace app\controller\api; use app\dao\SignDao; use app\dao\UserPhoneLogDao; use support\Request; use App\Utils\ApiResponseApp; use App\model\Signlog; use hg\apidoc\annotation as Apidoc; use support\Db; /** * @Apidoc\Title("用户签到控制器") */ class SignController { protected $noNeedLogin = ['lists', 'get_project', 'get_projectdetailed', 'get_mechanism_list']; /** * @Apidoc\Title("1.0 签到信息") * @Apidoc\Url("api/Sign/info") * @Apidoc\Method("GET") */ public function info(Request $request) { /** * today_sign 今天是否签到 当前是否签到,0 表示今天还没有签到,1 则表示今天已经签到 * sign_days 用户已经连续签到的天数 * next_days 距离下一个奖励或活动的天数,表示用户还需等待多少天才能解锁下一个奖励 * next_score 下一个奖励 积分 * sign_info 当月签到历史 * day_score 每天签到赠送积分数量 */ $user_id=$request->data['id']; // $res=Signlog::all(); // 获取当前月份的天数 // $days_in_month = date('t'); // for ($day = 1; $day <= $days_in_month; $day++) { // $res['sign_info'][$day]=0; // } $res['sign_info']=SignDao::search_Sign_tomon($user_id); $res['today_sign']=SignDao::search_Sign_today($user_id); $res['sign_days']=SignDao::search_Sign_tolong($user_id); $res['next_days']=7-$res['sign_days']; $res['next_score']=500; $res['day_score']=30; return ApiResponseApp::success($res); } /** * @Apidoc\Title("1.0 签到") * @Apidoc\Url("api/Sign/sign") * @Apidoc\Method("GET") */ public function sign(Request $request) { $user_id=$request->data['id']; if(!UserPhoneLogDao::getOnlineTimeByPhoneTodayId($user_id)){ return ApiResponseApp::error([],'挂机时长没有超过6小时,暂不能签到'); } SignDao::Sign($user_id); return ApiResponseApp::success([]); } }