주변 와이파이 관측 화면을 분리

This commit is contained in:
seo
2026-06-27 02:12:16 +09:00
parent 4f6b8c8ebb
commit 316953ee0f
5 changed files with 32 additions and 19 deletions
+9 -8
View File
@@ -2919,10 +2919,9 @@ function save_wifi_scan_observations(array $networks): void
}
}
function wifi_scan_observed_networks(int $hours, int $limit): array
function wifi_scan_observed_networks(int $limit): array
{
try {
$hours = max(1, min(720, $hours));
$limit = max(1, min(500, $limit));
$stmt = db()->query("
SELECT
@@ -2945,11 +2944,10 @@ function wifi_scan_observed_networks(int $hours, int $limit): array
last_seen_at,
TIMESTAMPDIFF(SECOND, last_seen_at, NOW()) AS observed_age_seconds
FROM wifi_scan_observations
WHERE last_seen_at >= DATE_SUB(NOW(), INTERVAL {$hours} HOUR)
ORDER BY
FIELD(band, '2.4G', '5G', '6G', '기타'),
signal_dbm DESC,
last_seen_at DESC
last_seen_at DESC,
signal_dbm DESC
LIMIT {$limit}
");
} catch (Throwable) {
@@ -3033,7 +3031,9 @@ function wifi_scan_data(): array
'cached' => false,
'generated_at' => null,
'interfaces' => [],
'networks' => wifi_scan_observed_networks((int)setting_value('wifi.scan_observed_hours'), (int)setting_value('wifi.scan_max_networks')),
'networks' => wifi_scan_observed_networks((int)setting_value('wifi.scan_max_networks')),
'observed_hours' => null,
'observed_mode' => 'all',
'errors' => [],
];
}
@@ -3075,7 +3075,7 @@ function wifi_scan_data(): array
$max = (int)setting_value('wifi.scan_max_networks');
save_wifi_scan_observations($networks);
$observedNetworks = wifi_scan_observed_networks((int)setting_value('wifi.scan_observed_hours'), $max);
$observedNetworks = wifi_scan_observed_networks($max);
$mergedNetworks = merge_wifi_scan_networks($networks, $observedNetworks);
$payload = [
'enabled' => true,
@@ -3085,7 +3085,8 @@ function wifi_scan_data(): array
'networks' => array_slice($mergedNetworks, 0, $max),
'live_found' => count($networks),
'total_found' => count($mergedNetworks),
'observed_hours' => (int)setting_value('wifi.scan_observed_hours'),
'observed_hours' => null,
'observed_mode' => 'all',
'errors' => $errors,
];