// 管理后台主入口逻辑

(function() {
  const ADMIN_USERNAME = 'admin';
  const ADMIN_PASSWORD = '123456'; // 简单密码，生产环境应使用更安全的方式

  let currentPage = 'users';
  let usersManager = null;
  let resourceManager = null;
  let pricingManager = null;

  // 初始化
  function init() {
    checkLogin();
    bindEvents();
  }

  // 检查登录状态（5小时免登录）
  function checkLogin() {
    const loginTime = localStorage.getItem('adminLoginTime');
    const isLoggedIn = localStorage.getItem('adminLoggedIn') === 'true';
    
    if (isLoggedIn && loginTime) {
      const now = Date.now();
      const loginTimestamp = parseInt(loginTime, 10);
      const fiveHours = 5 * 60 * 60 * 1000; // 5小时的毫秒数
      
      // 检查是否在5小时内
      if (now - loginTimestamp < fiveHours) {
        showMainPage();
        return;
      } else {
        // 超过5小时，清除登录状态
        localStorage.removeItem('adminLoggedIn');
        localStorage.removeItem('adminLoginTime');
      }
    }
    
    showLoginPage();
  }

  // 显示登录页
  function showLoginPage() {
    document.getElementById('loginPage').style.display = 'flex';
    document.getElementById('mainPage').style.display = 'none';
  }

  // 显示主页面
  function showMainPage() {
    document.getElementById('loginPage').style.display = 'none';
    document.getElementById('mainPage').style.display = 'flex';
    initManagers();
    switchPage('users');
  }

  // 初始化各个管理器（现在由各个页面自己初始化）
  function initManagers() {
    // 管理器现在由各个独立页面初始化
    // 这里保留函数以保持兼容性
  }

  // 获取 API 基础 URL（供子页面使用）
  window.getApiBaseUrl = function() {
    return getApiBaseUrl();
  }

  // 绑定事件
  function bindEvents() {
    // 登录表单
    const loginForm = document.getElementById('loginForm');
    if (loginForm) {
      loginForm.addEventListener('submit', handleLogin);
    }

    // 退出登录
    const logoutBtn = document.getElementById('logoutBtn');
    if (logoutBtn) {
      logoutBtn.addEventListener('click', handleLogout);
    }

    // 导航
    const navItems = document.querySelectorAll('.nav-item');
    navItems.forEach(item => {
      item.addEventListener('click', (e) => {
        e.preventDefault();
        const page = item.getAttribute('data-page');
        switchPage(page);
      });
    });

    // 自定义提示对话框
    const alertOk = document.getElementById('alertOk');
    const closeAlertModal = document.getElementById('closeAlertModal');
    if (alertOk) {
      alertOk.addEventListener('click', () => {
        document.getElementById('customAlertModal').style.display = 'none';
      });
    }
    if (closeAlertModal) {
      closeAlertModal.addEventListener('click', () => {
        document.getElementById('customAlertModal').style.display = 'none';
      });
    }
  }

  // 处理登录
  function handleLogin(e) {
    e.preventDefault();
    
    const username = document.getElementById('adminUsername').value;
    const password = document.getElementById('adminPassword').value;
    const errorDiv = document.getElementById('loginError');
    
    if (username === ADMIN_USERNAME && password === ADMIN_PASSWORD) {
      // 保存登录状态和登录时间戳
      localStorage.setItem('adminLoggedIn', 'true');
      localStorage.setItem('adminLoginTime', Date.now().toString());
      errorDiv.style.display = 'none';
      showMainPage();
    } else {
      errorDiv.textContent = '用户名或密码错误';
      errorDiv.style.display = 'block';
    }
  }

  // 处理退出登录
  function handleLogout() {
    if (confirm('确定要退出登录吗？')) {
      localStorage.removeItem('adminLoggedIn');
      localStorage.removeItem('adminLoginTime');
      showLoginPage();
    }
  }

  // 切换页面
  function switchPage(page) {
    currentPage = page;
    
    // 更新导航状态
    document.querySelectorAll('.nav-item').forEach(item => {
      item.classList.remove('active');
      if (item.getAttribute('data-page') === page) {
        item.classList.add('active');
      }
    });

    // 更新标题
    const titles = {
      'users': '用户管理',
      'resource-manager': '素材管理',
      'pricing': '素材定价',
      'currency': '充值与货币',
      'product-pricing': '商品定价'
    };
    document.getElementById('pageTitle').textContent = titles[page] || '管理后台';

    // 切换 iframe 的 src
    const pageFrame = document.getElementById('pageFrame');
    if (pageFrame) {
      const pageMap = {
        'users': 'page/users/users.html',
        'resource-manager': 'page/resource-manager/resource-manager.html',
        'pricing': 'page/pricing/pricing.html',
        'currency': 'page/currency/currency.html',
        'product-pricing': 'page/product-pricing/product-pricing.html'
      };
      const pagePath = pageMap[page] || pageMap['users'];
      pageFrame.src = pagePath;
    }
  }

  // 获取API基础URL
  function getApiBaseUrl() {
    // 明确使用 http://localhost:3000 作为API服务器地址
    return 'http://localhost:3000';
  }

  // 显示自定义提示
  window.showCustomAlert = function(message, type = 'info') {
    const alertModal = document.getElementById('customAlertModal');
    const alertMessage = document.getElementById('alertMessage');
    if (alertModal && alertMessage) {
      alertMessage.textContent = message;
      alertModal.style.display = 'flex';
      
      // 自动关闭
      setTimeout(() => {
        alertModal.style.display = 'none';
      }, 2000);
    } else {
      alert(message);
    }
  };

  // 页面加载完成后初始化
  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', init);
  } else {
    init();
  }
})();
