exec("CREATE TABLE IF NOT EXISTS users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL UNIQUE, password VARCHAR(255) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP )"); // Create settings table $pdo->exec("CREATE TABLE IF NOT EXISTS settings ( id INT AUTO_INCREMENT PRIMARY KEY, setting_key VARCHAR(50) NOT NULL UNIQUE, setting_value TEXT, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP )"); // Create steps table $pdo->exec("CREATE TABLE IF NOT EXISTS steps ( id INT AUTO_INCREMENT PRIMARY KEY, day_number INT NOT NULL UNIQUE, title VARCHAR(255), what_to_chat TEXT, how_to_chat TEXT, why_to_chat TEXT, correct_example TEXT, wrong_example TEXT, correct_explanation TEXT, wrong_explanation TEXT, image_url VARCHAR(255), updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP )"); // Seed default admin if not exists $stmt = $pdo->prepare("SELECT COUNT(*) FROM users WHERE username = 'admin'"); $stmt->execute(); if ($stmt->fetchColumn() == 0) { $password = password_hash('admin123', PASSWORD_DEFAULT); $pdo->prepare("INSERT INTO users (username, password) VALUES ('admin', ?)")->execute([$password]); } // Seed default settings $defaultSettings = [ 'site_title' => '财神组聊天框架', 'site_logo' => 'assets/pasted-20260207-134833-7329dc42.jpg', 'tg_link' => 'https://t.me/zhangshihao818', 'footer_copy' => '© 2026 财神组聊天框架构造. 内部资料,翻版必究。', 'watermark_text' => '财神组专用字体' ]; foreach ($defaultSettings as $key => $val) { $pdo->prepare("INSERT IGNORE INTO settings (setting_key, setting_value) VALUES (?, ?)")->execute([$key, $val]); } // Seed default steps 1-7 for ($i = 1; $i <= 7; $i++) { $pdo->prepare("INSERT IGNORE INTO steps (day_number, title) VALUES (?, ?)")->execute([$i, "第{$i}天:初步沟通"]); } } catch (PDOException $e) { error_log("DB Init Error: " . $e->getMessage()); }