<?php
// 客服系统入口 - 服务端渲染 + 设置预注入
header('Content-Type: text/html; charset=UTF-8');

// 加载数据库配置
$db_config = require __DIR__ . '/config.php';

$template = 'template1';
$settings = [
    'page_title' => '商城客服中心',
    'page_subtitle' => '专注为您提供专业、高效、贴心的购物咨询服务',
    'kefu_id' => 'kefu123456',
    'group_count' => '500+',
    'logo' => '',
    'theme' => 'light',
    'consult_type' => 'wechat',
    'wechat_mode' => 'qr',
    'wechat_qr' => '',
    'wechat_link' => '',
    'group_type' => 'wechat',
    'group_mode' => 'qr',
    'group_qr' => '',
    'group_link' => '',
    'group_number' => '',
    'wechat_consult_text' => '',
    'join_group_text' => '',
    'group_title_text' => '',
    'work_start' => '09:00',
    'work_end' => '22:00',
];

try {
    $dsn = "mysql:host={$db_config['host']};port={$db_config['port']};dbname={$db_config['name']};charset={$db_config['charset']}";
    $pdo = new PDO($dsn, $db_config['user'], $db_config['pass']);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    // 自动升级数据库结构
    upgradeDBIndex($pdo);
    
    $stmt = $pdo->query("SELECT * FROM settings WHERE id = 1");
    $row = $stmt->fetch(PDO::FETCH_ASSOC);
    
    if ($row) {
        $template = $row['template'] ?: 'template1';
        foreach ($settings as $key => $val) {
            if (isset($row[$key]) && $row[$key] !== '') {
                $settings[$key] = $row[$key];
            }
        }
    }
} catch (Exception $e) {
    // 数据库连接失败，使用默认设置
}

// 自动升级数据库结构
function upgradeDBIndex($pdo) {
    try {
        $stmt = $pdo->query("DESCRIBE settings");
        $columns = $stmt->fetchAll(PDO::FETCH_COLUMN);

        if (!in_array('group_qr', $columns)) {
            $pdo->exec("ALTER TABLE settings ADD COLUMN group_qr VARCHAR(500) DEFAULT '' AFTER group_mode");
        }
        if (!in_array('group_number', $columns)) {
            $pdo->exec("ALTER TABLE settings ADD COLUMN group_number VARCHAR(50) DEFAULT '' AFTER group_link");
        }
        if (!in_array('wechat_consult_text', $columns)) {
            $pdo->exec("ALTER TABLE settings ADD COLUMN wechat_consult_text VARCHAR(50) DEFAULT '' AFTER group_number");
        }
        if (!in_array('join_group_text', $columns)) {
            $pdo->exec("ALTER TABLE settings ADD COLUMN join_group_text VARCHAR(50) DEFAULT '' AFTER wechat_consult_text");
        }
        if (!in_array('group_title_text', $columns)) {
            $pdo->exec("ALTER TABLE settings ADD COLUMN group_title_text VARCHAR(50) DEFAULT '' AFTER join_group_text");
        }
    } catch (Exception $e) {
        // 忽略升级错误
    }
}

$template_file = __DIR__ . '/templates/' . $template . '.html';
if (!file_exists($template_file)) {
    $template_file = __DIR__ . '/templates/template1.html';
}

$html = file_get_contents($template_file);

// 将设置注入到 HTML 中的 script 标签
$settings_json = json_encode($settings, JSON_UNESCAPED_UNICODE);

// 替换占位符
$html = str_replace('<script>var settings = {};</script>', '<script>var settings = ' . $settings_json . ';</script>', $html);

// 替换标题占位符
$html = str_replace('{title}', $settings['page_title'], $html);

// 直接输出HTML
echo $html;
