68893236+KINDNICK@users.noreply.github.com 1179d6832e ADD : 클로드 스킬 추가
2026-01-30 21:59:38 +09:00

901 lines
42 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Claude Code SEO Assistant - 交互式仪表盘</title>
<link rel="stylesheet" href="css/dashboard.css">
<script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.js"></script>
</head>
<body>
<!-- 顶部导航栏 -->
<nav class="navbar">
<div class="nav-container">
<div class="nav-brand">
<h1>🤖 Claude Code SEO Assistant</h1>
<span class="badge">GEO Dashboard</span>
</div>
<div class="nav-menu">
<button class="nav-item active" data-view="overview">📊 概览</button>
<button class="nav-item" data-view="geo">🤖 GEO 分析</button>
<button class="nav-item" data-view="competitors">🔍 竞争对手</button>
<button class="nav-item" data-view="content">📝 内容</button>
<button class="nav-item" data-view="automation">⚙️ 自动化</button>
<button class="nav-item" data-view="alerts">🔔 告警</button>
</div>
<div class="nav-actions">
<button id="refreshBtn" class="btn btn-primary">
<span class="icon">🔄</span> 刷新数据
</button>
<select id="domainSelect" class="select">
<option value="yoursite.com">yoursite.com</option>
</select>
</div>
</div>
</nav>
<!-- 主内容区 -->
<main class="main-content">
<!-- 概览视图 -->
<section id="overview-view" class="view active">
<div class="dashboard-header">
<h2>📊 SEO & GEO 综合概览</h2>
<p class="subtitle">实时监控您的网站在传统搜索引擎和 AI 搜索引擎中的表现</p>
</div>
<!-- 关键指标卡片 -->
<div class="metrics-grid">
<div class="metric-card primary">
<div class="metric-header">
<h3>GEO 评分</h3>
<span class="metric-trend up">+12%</span>
</div>
<div class="metric-value">
<span class="value">72</span>
<span class="total">/100</span>
</div>
<div class="metric-details">
<span class="label">目标: 85+</span>
<span class="status good">良好</span>
</div>
<div class="progress-bar">
<div class="progress" style="width: 72%"></div>
</div>
</div>
<div class="metric-card success">
<div class="metric-header">
<h3>AI 引用次数</h3>
<span class="metric-trend up">+45%</span>
</div>
<div class="metric-value">
<span class="value">677</span>
<span class="unit">次/月</span>
</div>
<div class="metric-details">
<span class="label">目标: 1000+</span>
<span class="status excellent">优秀</span>
</div>
<div class="progress-bar">
<div class="progress" style="width: 68%"></div>
</div>
</div>
<div class="metric-card info">
<div class="metric-header">
<h3>行业排名</h3>
<span class="metric-trend up">↑ 3</span>
</div>
<div class="metric-value">
<span class="value">#1</span>
<span class="unit">/ 15</span>
</div>
<div class="metric-details">
<span class="label">竞争对手数: 15</span>
<span class="status excellent">领先</span>
</div>
<div class="progress-bar">
<div class="progress" style="width: 93%"></div>
</div>
</div>
<div class="metric-card warning">
<div class="metric-header">
<h3>有机流量</h3>
<span class="metric-trend up">+28%</span>
</div>
<div class="metric-value">
<span class="value">12.5K</span>
<span class="unit">访客/月</span>
</div>
<div class="metric-details">
<span class="label">目标: 20K+</span>
<span class="status good">增长中</span>
</div>
<div class="progress-bar">
<div class="progress" style="width: 63%"></div>
</div>
</div>
</div>
<!-- 图表区域 -->
<div class="charts-grid">
<!-- AI 引用趋势图 -->
<div class="chart-card large">
<div class="chart-header">
<h3>📈 AI 引用趋势30 天)</h3>
<div class="chart-actions">
<button class="filter-btn active" data-period="30">30 天</button>
<button class="filter-btn" data-period="90">90 天</button>
</div>
</div>
<div class="chart-container">
<canvas id="citationTrendChart"></canvas>
</div>
</div>
<!-- 各引擎表现对比 -->
<div class="chart-card">
<div class="chart-header">
<h3>🤖 各 AI 引擎表现</h3>
</div>
<div class="chart-container">
<canvas id="engineComparisonChart"></canvas>
</div>
</div>
<!-- 6 维度 GEO 评分 -->
<div class="chart-card">
<div class="chart-header">
<h3>🕸️ GEO 6 维度评分</h3>
</div>
<div class="chart-container">
<canvas id="geoRadarChart"></canvas>
</div>
</div>
<!-- 内容类型分布 -->
<div class="chart-card">
<div class="chart-header">
<h3>📊 内容类型引用分布</h3>
</div>
<div class="chart-container">
<canvas id="contentTypeChart"></canvas>
</div>
</div>
</div>
<!-- 快速操作 -->
<div class="quick-actions">
<h3>🚀 快速操作</h3>
<div class="actions-grid">
<button class="action-card" onclick="runCommand('/geo-content-audit')">
<span class="icon">🔍</span>
<span class="label">运行 GEO 审计</span>
</button>
<button class="action-card" onclick="runCommand('/generate-report geo-comprehensive')">
<span class="icon">📄</span>
<span class="label">生成综合报告</span>
</button>
<button class="action-card" onclick="runCommand('/geo-citation-monitor')">
<span class="icon">📊</span>
<span class="label">监控 AI 引用</span>
</button>
<button class="action-card" onclick="runCommand('/ai-content-generator')">
<span class="icon">✍️</span>
<span class="label">AI 内容生成</span>
</button>
</div>
</div>
</section>
<!-- GEO 分析视图 -->
<section id="geo-view" class="view">
<div class="dashboard-header">
<h2>🤖 GEO 详细分析</h2>
<p class="subtitle">深入分析您的网站在各 AI 搜索引擎中的表现</p>
</div>
<!-- 引擎详细分析 -->
<div class="engine-details">
<div class="engine-card chatgpt">
<div class="engine-header">
<div class="engine-info">
<h3>ChatGPT</h3>
<span class="engine-version">GPT-4</span>
</div>
<div class="engine-score">
<span class="score">68</span>
<span class="total">/100</span>
</div>
</div>
<div class="engine-metrics">
<div class="metric">
<span class="label">引用次数</span>
<span class="value">234</span>
</div>
<div class="metric">
<span class="label">平均排名</span>
<span class="value">#4.2</span>
</div>
<div class="metric">
<span class="label">趋势</span>
<span class="trend up">⬆️ +18%</span>
</div>
</div>
<div class="engine-content">
<h4>顶级引用内容</h4>
<ul class="content-list">
<li>
<span class="title">AI SEO Complete Guide</span>
<span class="citations">45 引用</span>
</li>
<li>
<span class="title">ChatGPT Prompts for SEO</span>
<span class="citations">38 引用</span>
</li>
<li>
<span class="title">GEO Best Practices</span>
<span class="citations">32 引用</span>
</li>
</ul>
</div>
<div class="engine-recommendations">
<h4>💡 改进建议</h4>
<ul>
<li>添加更多案例研究(+15% 预期)</li>
<li>更新统计数据(+10% 预期)</li>
<li>增加多媒体内容(+8% 预期)</li>
</ul>
</div>
</div>
<div class="engine-card claude">
<div class="engine-header">
<div class="engine-info">
<h3>Claude</h3>
<span class="engine-version">Claude 3</span>
</div>
<div class="engine-score excellent">
<span class="score">75</span>
<span class="total">/100</span>
</div>
</div>
<div class="engine-metrics">
<div class="metric">
<span class="label">引用次数</span>
<span class="value">189</span>
</div>
<div class="metric">
<span class="label">平均排名</span>
<span class="value">#3.8</span>
</div>
<div class="metric">
<span class="label">趋势</span>
<span class="trend up">⬆️ +22%</span>
</div>
</div>
<div class="engine-content">
<h4>顶级引用内容</h4>
<ul class="content-list">
<li>
<span class="title">GEO vs Traditional SEO</span>
<span class="citations">42 引用</span>
</li>
<li>
<span class="title">LLM-Friendly Content Structure</span>
<span class="citations">35 引用</span>
</li>
<li>
<span class="title">AI Citation Optimization</span>
<span class="citations">28 引用</span>
</li>
</ul>
</div>
<div class="engine-recommendations">
<h4>✅ 优势分析</h4>
<ul>
<li>内容结构清晰</li>
<li>实体关系明确</li>
<li>引用来源丰富</li>
</ul>
</div>
</div>
<div class="engine-card perplexity">
<div class="engine-header">
<div class="engine-info">
<h3>Perplexity</h3>
<span class="engine-version">v2.7</span>
</div>
<div class="engine-score">
<span class="score">70</span>
<span class="total">/100</span>
</div>
</div>
<div class="engine-metrics">
<div class="metric">
<span class="label">引用次数</span>
<span class="value">156</span>
</div>
<div class="metric">
<span class="label">平均排名</span>
<span class="value">#4.5</span>
</div>
<div class="metric">
<span class="label">趋势</span>
<span class="trend up">⬆️ +15%</span>
</div>
</div>
<div class="engine-content">
<h4>内容类型表现</h4>
<ul class="content-list">
<li>
<span class="title">指南教程</span>
<span class="citations">85% 引用率</span>
</li>
<li>
<span class="title">案例分析</span>
<span class="citations">72% 引用率</span>
</li>
<li>
<span class="title">对比分析</span>
<span class="citations">68% 引用率</span>
</li>
</ul>
</div>
<div class="engine-recommendations">
<h4>💡 改进建议</h4>
<ul>
<li>增加数据和研究支持</li>
<li>提供更多实用工具</li>
<li>添加案例研究</li>
</ul>
</div>
</div>
<div class="engine-card google-sge">
<div class="engine-header">
<div class="engine-info">
<h3>Google SGE</h3>
<span class="engine-version">Beta</span>
</div>
<div class="engine-score warning">
<span class="score">55</span>
<span class="total">/100</span>
</div>
</div>
<div class="engine-metrics">
<div class="metric">
<span class="label">引用次数</span>
<span class="value">98</span>
</div>
<div class="metric">
<span class="label">平均排名</span>
<span class="value">#7.2</span>
</div>
<div class="metric">
<span class="label">趋势</span>
<span class="trend stable">➡️ 稳定</span>
</div>
</div>
<div class="engine-content">
<h4>⚠️ 问题诊断</h4>
<ul class="content-list">
<li>
<span class="title">缺少结构化数据</span>
<span class="citations">-20 分</span>
</li>
<li>
<span class="title">内容更新频率低</span>
<span class="citations">-10 分</span>
</li>
<li>
<span class="title">E-E-A-T 信号不足</span>
<span class="citations">-15 分</span>
</li>
</ul>
</div>
<div class="engine-recommendations">
<h4>🔴 立即修复</h4>
<ul>
<li>添加 FAQPage Schema+5 分预期)</li>
<li>提高更新频率(每周 → 每天)</li>
<li>增加作者资质展示</li>
</ul>
</div>
</div>
</div>
</section>
<!-- 竞争对手视图 -->
<section id="competitors-view" class="view">
<div class="dashboard-header">
<h2>🔍 竞争对手分析</h2>
<p class="subtitle">监控竞争对手的 AI 搜索表现,识别超越机会</p>
</div>
<!-- 竞争对手排名表 -->
<div class="competitors-ranking">
<table class="ranking-table">
<thead>
<tr>
<th>排名</th>
<th>网站</th>
<th>ChatGPT</th>
<th>Claude</th>
<th>Perplexity</th>
<th>Google SGE</th>
<th>总分</th>
<th>趋势</th>
</tr>
</thead>
<tbody>
<tr class="you">
<td><span class="rank gold">🥇 #1</span></td>
<td><strong>你们</strong></td>
<td>68</td>
<td>75</td>
<td>70</td>
<td>55</td>
<td><strong>268</strong></td>
<td><span class="trend up">⬆️</span></td>
</tr>
<tr>
<td><span class="rank silver">🥈 #2</span></td>
<td>competitor-a.com</td>
<td>45</td>
<td>52</td>
<td>48</td>
<td>62</td>
<td>207</td>
<td><span class="trend up">⬆️</span></td>
</tr>
<tr>
<td><span class="rank bronze">🥉 #3</span></td>
<td>competitor-b.com</td>
<td>38</td>
<td>41</td>
<td>35</td>
<td>48</td>
<td>162</td>
<td><span class="trend stable">➡️</span></td>
</tr>
<tr>
<td>#4</td>
<td>competitor-c.com</td>
<td>28</td>
<td>32</td>
<td>30</td>
<td>35</td>
<td>125</td>
<td><span class="trend down">⬇️</span></td>
</tr>
</tbody>
</table>
</div>
<!-- 竞争机会分析 -->
<div class="opportunities">
<h3>🎯 快速获胜机会</h3>
<div class="opportunity-cards">
<div class="opportunity-card high">
<div class="opportunity-header">
<span class="priority high">🔴 高优先级</span>
<span class="potential">+15 分预期</span>
</div>
<h4>"how to do keyword research"</h4>
<p>competitor-a.com 在 ChatGPT 排名 #3但我们未排名</p>
<div class="opportunity-details">
<span class="search-volume">🔍 搜索量: 1,200/月</span>
<span class="difficulty">⚡ 竞争: 中等</span>
<span class="citation-potential">📈 引用潜力: 82%</span>
</div>
<button class="btn btn-primary" onclick="runCommand('/ai-content-generator --topic \"keyword research guide\" --type guide')">
创建内容
</button>
</div>
<div class="opportunity-card medium">
<div class="opportunity-header">
<span class="priority medium">🟡 中优先级</span>
<span class="potential">+12 分预期</span>
</div>
<h4>"technical seo checklist"</h4>
<p>competitor-b.com 在 Claude 排名 #2但我们未排名</p>
<div class="opportunity-details">
<span class="search-volume">🔍 搜索量: 890/月</span>
<span class="difficulty">⚡ 竞争: 低</span>
<span class="citation-potential">📈 引用潜力: 78%</span>
</div>
<button class="btn btn-secondary" onclick="runCommand('/ai-content-generator --topic \"technical seo checklist\" --type listicle')">
创建内容
</button>
</div>
<div class="opportunity-card low">
<div class="opportunity-header">
<span class="priority low">🟢 低优先级</span>
<span class="potential">+8 分预期</span>
</div>
<h4>"best seo tools 2024"</h4>
<p>competitor-c.com 在 Perplexity 排名 #5但我们未排名</p>
<div class="opportunity-details">
<span class="search-volume">🔍 搜索量: 650/月</span>
<span class="difficulty">⚡ 竞争: 高</span>
<span class="citation-potential">📈 引用潜力: 65%</span>
</div>
<button class="btn btn-secondary" onclick="runCommand('/ai-content-generator --topic \"best seo tools 2024\" --type comparison')">
创建内容
</button>
</div>
</div>
</div>
</section>
<!-- 内容视图 -->
<section id="content-view" class="view">
<div class="dashboard-header">
<h2>📝 内容管理</h2>
<p class="subtitle">管理和优化您的内容,提升 AI 引用率</p>
</div>
<!-- 内容统计 -->
<div class="content-stats">
<div class="stat-card">
<h3>总内容数</h3>
<p class="value">156</p>
<span class="change">+12 本月</span>
</div>
<div class="stat-card">
<h3>平均 GEO 评分</h3>
<p class="value">68</p>
<span class="change up">+5 本月</span>
</div>
<div class="stat-card">
<h3>高引用内容</h3>
<p class="value">23</p>
<span class="change">>70% 引用率</span>
</div>
<div class="stat-card">
<h3>需要优化</h3>
<p class="value">18</p>
<span class="change warning">评分 <60</span>
</div>
</div>
<!-- 内容列表 -->
<div class="content-list">
<table class="data-table">
<thead>
<tr>
<th>标题</th>
<th>类型</th>
<th>GEO 评分</th>
<th>AI 引用</th>
<th>状态</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<a href="#">AI SEO Complete Guide</a>
<span class="date">2024-01-10</span>
</td>
<td><span class="badge guide">指南</span></td>
<td>
<div class="score-bar">
<div class="score" style="width: 85%">85</div>
</div>
</td>
<td>45 引用/月</td>
<td><span class="status excellent">优秀</span></td>
<td>
<button class="btn-small" onclick="runCommand('/geo-content-audit ai-seo-guide.md')">审计</button>
<button class="btn-small" onclick="runCommand('/ai-content-rewriter ai-seo-guide.md')">优化</button>
</td>
</tr>
<tr>
<td>
<a href="#">ChatGPT Prompts for SEO</a>
<span class="date">2024-01-08</span>
</td>
<td><span class="badge listicle">列表</span></td>
<td>
<div class="score-bar">
<div class="score warning" style="width: 58%">58</div>
</div>
</td>
<td>38 引用/月</td>
<td><span class="status warning">需优化</span></td>
<td>
<button class="btn-small" onclick="runCommand('/geo-content-audit chatgpt-prompts.md')">审计</button>
<button class="btn-small primary" onclick="runCommand('/ai-content-rewriter chatgpt-prompts.md --focus geo')">优化</button>
</td>
</tr>
<tr>
<td>
<a href="#">GEO Best Practices</a>
<span class="date">2024-01-05</span>
</td>
<td><span class="badge guide">指南</span></td>
<td>
<div class="score-bar">
<div class="score good" style="width: 72%">72</div>
</div>
</td>
<td>32 引用/月</td>
<td><span class="status good">良好</span></td>
<td>
<button class="btn-small" onclick="runCommand('/geo-content-audit geo-best-practices.md')">审计</button>
<button class="btn-small" onclick="runCommand('/ai-content-rewriter geo-best-practices.md')">优化</button>
</td>
</tr>
</tbody>
</table>
</div>
</section>
<!-- 自动化视图 -->
<section id="automation-view" class="view">
<div class="dashboard-header">
<h2>⚙️ 自动化管理</h2>
<p class="subtitle">配置和监控自动化任务,定期执行 GEO 审计和报告生成</p>
</div>
<!-- 自动化任务列表 -->
<div class="automation-tasks">
<div class="task-card active">
<div class="task-header">
<div class="task-info">
<h3>📅 每周 GEO 审计</h3>
<span class="schedule">每周一 上午 9:00</span>
</div>
<div class="task-status">
<span class="badge success">运行中</span>
</div>
</div>
<div class="task-details">
<div class="task-stats">
<div class="stat">
<span class="label">执行次数</span>
<span class="value">24</span>
</div>
<div class="stat">
<span class="label">成功率</span>
<span class="value">96%</span>
</div>
<div class="stat">
<span class="label">平均耗时</span>
<span class="value">845s</span>
</div>
<div class="stat">
<span class="label">下次执行</span>
<span class="value">2024-02-22</span>
</div>
</div>
<div class="task-actions">
<button class="btn btn-secondary" onclick="runCommand('/geo-automation status --task weekly-audit')">查看详情</button>
<button class="btn btn-secondary" onclick="runCommand('/geo-automation disable --task weekly-audit')">禁用</button>
</div>
</div>
</div>
<div class="task-card active">
<div class="task-header">
<div class="task-info">
<h3>📊 每月报告生成</h3>
<span class="schedule">每月1日 上午 8:00</span>
</div>
<div class="task-status">
<span class="badge success">运行中</span>
</div>
</div>
<div class="task-details">
<div class="task-stats">
<div class="stat">
<span class="label">执行次数</span>
<span class="value">6</span>
</div>
<div class="stat">
<span class="label">成功率</span>
<span class="value">100%</span>
</div>
<div class="stat">
<span class="label">平均耗时</span>
<span class="value">420s</span>
</div>
<div class="stat">
<span class="label">下次执行</span>
<span class="value">2024-02-01</span>
</div>
</div>
<div class="task-actions">
<button class="btn btn-secondary" onclick="runCommand('/geo-automation status --task monthly-report')">查看详情</button>
<button class="btn btn-secondary" onclick="runCommand('/geo-automation disable --task monthly-report')">禁用</button>
</div>
</div>
</div>
<div class="task-card inactive">
<div class="task-header">
<div class="task-info">
<h3>🔍 竞争对手监控</h3>
<span class="schedule">每天上午 10:00</span>
</div>
<div class="task-status">
<span class="badge warning">已禁用</span>
</div>
</div>
<div class="task-details">
<div class="task-stats">
<div class="stat">
<span class="label">执行次数</span>
<span class="value">45</span>
</div>
<div class="stat">
<span class="label">上次状态</span>
<span class="value">成功</span>
</div>
</div>
<div class="task-actions">
<button class="btn btn-primary" onclick="runCommand('/geo-automation enable --task competitor-monitor')">启用</button>
<button class="btn btn-secondary" onclick="runCommand('/geo-automation configure --task competitor-monitor')">配置</button>
</div>
</div>
</div>
</div>
<!-- 工作流列表 -->
<div class="workflows">
<h3>工作流管理</h3>
<div class="workflow-list">
<div class="workflow-item">
<div class="workflow-info">
<h4>comprehensive-geo-workflow</h4>
<p>完整的 GEO 优化工作流:审计 → 监控 → 对比 → 报告</p>
</div>
<div class="workflow-actions">
<button class="btn btn-primary" onclick="runCommand('/workflow-automation execute --workflow comprehensive-geo')">立即执行</button>
<button class="btn btn-secondary" onclick="runCommand('/workflow-automation status --workflow comprehensive-geo')">查看状态</button>
</div>
</div>
</div>
</div>
</section>
<!-- 告警视图 -->
<section id="alerts-view" class="view">
<div class="dashboard-header">
<h2>🔔 告警中心</h2>
<p class="subtitle">实时监控重要事件和异常情况</p>
</div>
<!-- 告警统计 -->
<div class="alert-stats">
<div class="alert-stat critical">
<div class="stat-header">
<h3>🔴 紧急告警</h3>
<span class="count">0</span>
</div>
<p>需要立即处理</p>
</div>
<div class="alert-stat warning">
<div class="stat-header">
<h3>🟡 警告告警</h3>
<span class="count">2</span>
</div>
<p>需要关注</p>
</div>
<div class="alert-stat info">
<div class="stat-header">
<h3>🟢 信息告警</h3>
<span class="count">12</span>
</div>
<p>一般通知</p>
</div>
</div>
<!-- 告警列表 -->
<div class="alerts-list">
<div class="alert-item warning">
<div class="alert-header">
<div class="alert-info">
<span class="priority warning">🟡 警告</span>
<span class="time">2 小时前</span>
</div>
<h4>GEO 评分下降</h4>
</div>
<div class="alert-body">
<p>您的 GEO 评分在过去 7 天从 77 下降到 72-6.5%</p>
<div class="alert-details">
<span>影响引擎Google SGE</span>
<span>原因:缺少新的引用来源</span>
</div>
</div>
<div class="alert-actions">
<button class="btn btn-primary" onclick="runCommand('/geo-content-audit')">运行审计</button>
<button class="btn btn-secondary" onclick="runCommand('/generate-report geo-comprehensive')">查看报告</button>
</div>
</div>
<div class="alert-item warning">
<div class="alert-header">
<div class="alert-info">
<span class="priority warning">🟡 警告</span>
<span class="time">1 天前</span>
</div>
<h4>内容需要更新</h4>
</div>
<div class="alert-body">
<p>检测到 3 个页面超过 6 个月未更新</p>
<div class="alert-details">
<ul>
<li>AI SEO Complete Guide2023-07-15</li>
<li>Technical SEO Checklist2023-06-20</li>
<li>Keyword Research Guide2023-08-10</li>
</ul>
</div>
</div>
<div class="alert-actions">
<button class="btn btn-primary" onclick="runCommand('/ai-content-rewriter')">批量优化</button>
<button class="btn btn-secondary" onclick="runCommand('/geo-automation configure --task content-update-reminder')">设置提醒</button>
</div>
</div>
<div class="alert-item info">
<div class="alert-header">
<div class="alert-info">
<span class="priority info">🟢 信息</span>
<span class="time">2 天前</span>
</div>
<h4>每周报告已生成</h4>
</div>
<div class="alert-body">
<p>每周 GEO 审计报告已成功生成</p>
<div class="alert-details">
<span>执行时间2024-01-15 09:00</span>
<span>耗时845 秒</span>
</div>
</div>
<div class="alert-actions">
<button class="btn btn-secondary" onclick="runCommand('/generate-report geo-comprehensive')">查看报告</button>
</div>
</div>
</div>
</section>
</main>
<!-- 底部状态栏 -->
<footer class="status-bar">
<div class="status-left">
<span class="status-item">
<span class="icon">🟢</span> 系统状态:正常
</span>
<span class="status-item">
最后更新:<span id="lastUpdate">2024-01-15 16:45</span>
</span>
</div>
<div class="status-right">
<span class="status-item">数据来源:本地缓存 + API</span>
<span class="status-item">版本v3.0.0</span>
</div>
</footer>
<!-- 加载指示器 -->
<div id="loadingIndicator" class="loading-indicator hidden">
<div class="spinner"></div>
<p>正在加载数据...</p>
</div>
<!-- 通知提示 -->
<div id="notification" class="notification hidden">
<span class="message"></span>
<button class="close-btn" onclick="hideNotification()">×</button>
</div>
<script src="js/dashboard.js"></script>
</body>
</html>