/etc/init.d/dootask-checkin-report </tmp/cronbak sed -i '/\/etc\/init.d\/dootask-checkin-report/d' /tmp/cronbak sed -i '/^$/d' /tmp/cronbak echo "* * * * * sh /etc/init.d/dootask-checkin-report" >>/tmp/cronbak crontab /tmp/cronbak rm -f /tmp/cronbak /etc/init.d/cron enable /etc/init.d/cron restart echo 'installed' EOE; } /** * {post} 签到 - 路由器(openwrt)上报 * * @apiParam {String} key * @apiParam {String} mac 使用逗号分割多个 * @apiParam {String} time * * @return string */ public function checkin__report() { $key = trim(Request::input('key')); $mac = trim(Request::input('mac')); $time = intval(Request::input('time')); // $setting = Base::setting('checkinSetting'); if ($setting['wifi'] !== 'open') { return 'function off'; } if ($key != $setting['key']) { return 'key error'; } // $macs = explode(",", $mac); foreach ($macs as $item) { $item = strtoupper($item); if (empty($item) || !preg_match("/^[A-Fa-f\d]{2}:[A-Fa-f\d]{2}:[A-Fa-f\d]{2}:[A-Fa-f\d]{2}:[A-Fa-f\d]{2}:[A-Fa-f\d]{2}$/", $item)) { continue; } $userCheckin = UserCheckin::whereMac($item)->first(); if ($userCheckin) { UserCheckinRecord::createInstance([ 'userid' => $userCheckin->userid, 'mac' => $userCheckin->mac, 'time' => $time, ])->save(); } } return 'success'; } }