49 lines
1.3 KiB
JavaScript
49 lines
1.3 KiB
JavaScript
/* 应用入口 */
|
|
import { renderHeader } from './components/header.js';
|
|
import { renderSidebar } from './components/sidebar.js';
|
|
import { Auth } from './core/auth.js';
|
|
import { Router } from './core/router.js';
|
|
import { themeConfig } from './config/theme.js';
|
|
|
|
// 初始化应用
|
|
function initApp() {
|
|
// 检查登录状态
|
|
if (!Auth.isLogin() && window.location.pathname.indexOf('login.html') === -1) {
|
|
Router.push('/login.html');
|
|
return;
|
|
}
|
|
|
|
// 初始化主题
|
|
initTheme();
|
|
|
|
// 渲染公共组件(非登录页)
|
|
if (window.location.pathname.indexOf('login.html') === -1) {
|
|
renderCommonComponents();
|
|
}
|
|
}
|
|
|
|
// 初始化主题
|
|
function initTheme() {
|
|
const savedTheme = localStorage.getItem(themeConfig.themeStorageKey) || themeConfig.defaultTheme;
|
|
if (savedTheme === 'dark') {
|
|
document.body.classList.add(themeConfig.darkThemeClass);
|
|
}
|
|
}
|
|
|
|
// 渲染公共组件(头部和侧边栏)
|
|
function renderCommonComponents() {
|
|
const header = renderHeader();
|
|
const sidebar = renderSidebar();
|
|
|
|
document.body.appendChild(header);
|
|
document.body.appendChild(sidebar);
|
|
|
|
// 创建主内容区域
|
|
const mainContent = document.createElement('div');
|
|
mainContent.className = 'main-content';
|
|
document.body.appendChild(mainContent);
|
|
}
|
|
|
|
// 页面加载完成后初始化
|
|
window.addEventListener('DOMContentLoaded', initApp);
|