diff --git a/app/Http/Controllers/Api/PublicController.php b/app/Http/Controllers/Api/PublicController.php index 13a053536..b28fc9660 100755 --- a/app/Http/Controllers/Api/PublicController.php +++ b/app/Http/Controllers/Api/PublicController.php @@ -78,17 +78,28 @@ class PublicController extends AbstractController $key = trim(Request::input('key')); $mac = trim(Request::input('mac')); $time = intval(Request::input('time')); + $type = trim(Request::input('type')); // $setting = Base::setting('checkinSetting'); if ($setting['open'] !== 'open') { return 'function off'; } - if (!in_array('auto', $setting['modes'])) { - return 'mode off'; - } - if ($key != $setting['key']) { - return 'key error'; + if ($type && $type === 'face') { + if (!in_array('face', $setting['modes'])) { + return 'mode off'; + } + if ($key != $setting['face_key']) { + return 'key error'; + } + } else { + if (!in_array('auto', $setting['modes'])) { + return 'mode off'; + } + if ($key != $setting['key']) { + return 'key error'; + } } + if ($error = UserBot::checkinBotCheckin($mac, $time)) { return $error; } diff --git a/app/Http/Controllers/Api/SystemController.php b/app/Http/Controllers/Api/SystemController.php index 583b86213..92fc539e8 100755 --- a/app/Http/Controllers/Api/SystemController.php +++ b/app/Http/Controllers/Api/SystemController.php @@ -402,8 +402,10 @@ class SystemController extends AbstractController } if ($all['open'] === 'close') { $all['key'] = md5(Base::generatePassword(32)); + $all['face_key'] = md5(Base::generatePassword(32)); } - $all['modes'] = array_intersect($all['modes'], ['auto', 'manual', 'location']); + + $all['modes'] = array_intersect($all['modes'], ['auto', 'manual', 'location', 'face']); $setting = Base::setting('checkinSetting', Base::newTrim($all)); } else { $setting = Base::setting('checkinSetting'); @@ -413,6 +415,10 @@ class SystemController extends AbstractController $setting['key'] = md5(Base::generatePassword(32)); Base::setting('checkinSetting', $setting); } + if (empty($setting['face_key'])) { + $setting['face_key'] = md5(Base::generatePassword(32)); + Base::setting('checkinSetting', $setting); + } // $setting['open'] = $setting['open'] ?: 'close'; $setting['faceupload'] = $setting['faceupload'] ?: 'close'; diff --git a/resources/assets/js/pages/manage/setting/checkin.vue b/resources/assets/js/pages/manage/setting/checkin.vue index f7cdb19ca..9efb6d1dd 100644 --- a/resources/assets/js/pages/manage/setting/checkin.vue +++ b/resources/assets/js/pages/manage/setting/checkin.vue @@ -23,7 +23,7 @@