diff --git a/app/Http/Controllers/Api/SystemController.php b/app/Http/Controllers/Api/SystemController.php index 9ed0449c7..5be00603c 100755 --- a/app/Http/Controllers/Api/SystemController.php +++ b/app/Http/Controllers/Api/SystemController.php @@ -550,13 +550,40 @@ class SystemController extends AbstractController Doo::licenseSave($license); } // - return Base::retSuccess('success', [ + $data = [ 'license' => Doo::licenseContent(), 'info' => Doo::license(), 'macs' => Doo::macs(), 'doo_sn' => Doo::dooSN(), 'user_count' => User::whereBot(0)->whereNull('disable_at')->count(), - ]); + 'error' => [] + ]; + if ($data['info']['people'] > 3) { + // 小于3人的License不检查 + if ($data['info']['sn'] != $data['doo_sn']) { + $data['error'][] = '终端SN与License不匹配'; + } + if ($data['info']['mac']) { + $approved = false; + foreach ($data['info']['mac'] as $mac) { + if (in_array($mac, $data['macs'])) { + $approved = true; + break; + } + } + if (!$approved) { + $data['error'][] = '终端MAC与License不匹配'; + } + } + if ($data['user_count'] > $data['info']['people']) { + $data['error'][] = '终端用户数超过License限制'; + } + if ($data['info']['expired_at'] && strtotime($data['info']['expired_at']) <= Base::time()) { + $data['error'][] = '终端License已过期'; + } + } + // + return Base::retSuccess('success', $data); } /** diff --git a/resources/assets/js/pages/manage/dashboard.vue b/resources/assets/js/pages/manage/dashboard.vue index 55750c881..71f676768 100644 --- a/resources/assets/js/pages/manage/dashboard.vue +++ b/resources/assets/js/pages/manage/dashboard.vue @@ -2,6 +2,7 @@