Control WiFi 관측값 유지와 스크롤 보존

This commit is contained in:
seo
2026-06-26 18:26:46 +09:00
parent 0acb193690
commit 4f6b8c8ebb
5 changed files with 260 additions and 24 deletions
+30
View File
@@ -157,6 +157,7 @@ function setting_definitions(): array
'wifi.scan_cache_seconds' => ['group' => 'wifi', 'label' => '주변 WiFi 스캔 캐시', 'type' => 'number', 'default' => 60, 'min' => 10, 'max' => 600, 'step' => 5, 'unit' => '초'],
'wifi.scan_timeout_seconds' => ['group' => 'wifi', 'label' => '주변 WiFi 스캔 timeout', 'type' => 'number', 'default' => 8, 'min' => 3, 'max' => 30, 'step' => 1, 'unit' => '초'],
'wifi.scan_max_networks' => ['group' => 'wifi', 'label' => '주변 WiFi 표시 개수', 'type' => 'number', 'default' => 80, 'min' => 10, 'max' => 300, 'step' => 10, 'unit' => '개'],
'wifi.scan_observed_hours' => ['group' => 'wifi', 'label' => '주변 WiFi 관측 보관', 'type' => 'number', 'default' => 72, 'min' => 1, 'max' => 720, 'step' => 1, 'unit' => '시간'],
'wifi.scan_include_raw' => ['group' => 'wifi', 'label' => '주변 WiFi 원문 일부 표시', 'type' => 'boolean', 'default' => 0],
'fan.auto_min_temp' => ['group' => 'fan', 'label' => '팬 시작 온도', 'type' => 'number', 'default' => 50, 'min' => 30, 'max' => 90, 'step' => 0.5, 'unit' => 'C'],
@@ -530,6 +531,35 @@ function bootstrap_db(): void
COLLATE=utf8mb4_unicode_ci
");
$pdo->exec("
CREATE TABLE IF NOT EXISTS wifi_scan_observations (
bssid VARCHAR(17) NOT NULL PRIMARY KEY,
iface VARCHAR(32) NOT NULL,
band VARCHAR(16) NOT NULL,
ssid VARCHAR(255) NULL,
freq INT NULL,
channel INT NULL,
signal_dbm DECIMAL(6,2) NULL,
signal_text VARCHAR(32) NULL,
security_text VARCHAR(255) NULL,
capability_text VARCHAR(255) NULL,
rates_text VARCHAR(255) NULL,
channel_width VARCHAR(64) NULL,
ht TINYINT(1) NOT NULL DEFAULT 0,
vht TINYINT(1) NOT NULL DEFAULT 0,
he TINYINT(1) NOT NULL DEFAULT 0,
first_seen_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
last_seen_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP,
INDEX idx_last_seen_at (last_seen_at),
INDEX idx_band (band),
INDEX idx_iface (iface)
) ENGINE=InnoDB
DEFAULT CHARSET=utf8mb4
COLLATE=utf8mb4_unicode_ci
");
$pdo->exec("
CREATE TABLE IF NOT EXISTS remember_tokens (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,