<?php
// 延长session生命周期至8天（教务数据缓存周期7天+1天缓冲）
ini_set('session.gc_maxlifetime', 86400 * 8);
ini_set('session.cookie_lifetime', 86400 * 8);

// 启动会话
if (session_status() === PHP_SESSION_NONE) {
    session_start();
}

// 数据库配置（部署时请替换为你的实际数据库信息）
define('DB_HOST', 'localhost');
define('DB_USER', 'root');          // 替换为你的数据库用户名
define('DB_PASS', '');              // 替换为你的数据库密码
define('DB_NAME', 'yike_saas');     // 替换为你的数据库名
define('DB_CHARSET', 'utf8mb4');

// 站点配置（部署时请替换为你的实际域名）
define('SITE_URL', 'http://localhost');  // 替换为你的站点地址
define('SITE_NAME', '一课');

// 知岁OS API 配置
define('ZSOS_BASE_URL', 'https://os.sx-wl.cn/api/open/useToken');
define('ZSOS_UUID', 'your-service-uuid');         // 替换为你的服务商 UUID
define('ZSOS_SECRET_KEY', 'your-secret-key-hex');  // 替换为你的服务商密钥（hex 编码）

// 微信公众号配置
define('WECHAT_APPID', '');         // 公众号AppID
define('WECHAT_SECRET', '');        // 公众号密钥(AppSecret)
define('WECHAT_ENABLED', '0');      // 是否启用公众号登录(0关/1开)
define('WECHAT_FORCE_FOLLOW', '0'); // 是否开启强关公众号模式(0关/1开)
define('WECHAT_QRCODE_URL', '');    // 公众号二维码图片URL

// 调试模式（生产环境请设为 false）
define('DEBUG', false);

// 时区设置
date_default_timezone_set('Asia/Shanghai');

// 错误报告
if (DEBUG) {
    error_reporting(E_ALL);
    ini_set('display_errors', 1);
} else {
    error_reporting(0);
    ini_set('display_errors', 0);
}

// 数据库连接函数
function getDB() {
    try {
        $dsn = "mysql:host=" . DB_HOST . ";dbname=" . DB_NAME . ";charset=" . DB_CHARSET;
        $options = [
            PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
            PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
            PDO::ATTR_EMULATE_PREPARES => false,
        ];
        return new PDO($dsn, DB_USER, DB_PASS, $options);
    } catch (PDOException $e) {
        die('数据库连接失败: ' . $e->getMessage());
    }
}

// JSON输出函数
function jsonResponse($data, $code = 200) {
    http_response_code($code);
    header('Content-Type: application/json; charset=utf-8');
    echo json_encode($data, JSON_UNESCAPED_UNICODE);
    exit;
}

// 检查登录状态
function checkLogin() {
    if (!isset($_SESSION['user_id'])) {
        return false;
    }
    return true;
}

// 获取当前用户ID
function getCurrentUserId() {
    if (!checkLogin()) {
        return null;
    }
    return $_SESSION['user_id'];
}

// XSS防护
function cleanInput($data) {
    return htmlspecialchars(strip_tags(trim($data)), ENT_QUOTES, 'UTF-8');
}

// 重定向
function redirect($url) {
    header("Location: $url");
    exit;
}
