474 lines
25 KiB
HTML
474 lines
25 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="zh-CN">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>智能星球计划 - 现实层宇宙全息感知</title>
|
||
<script type="importmap">
|
||
{
|
||
"imports": {
|
||
"three": "https://esm.sh/three@0.128.0",
|
||
"simplex-noise": "https://esm.sh/simplex-noise@4.0.1",
|
||
"satellite.js": "https://esm.sh/satellite.js@5.0.0",
|
||
"hls.js": "https://esm.sh/hls.js@1.6.15"
|
||
}
|
||
}
|
||
</script>
|
||
<script>
|
||
(function applyInitialHudScale() {
|
||
var referenceWidth = 1920;
|
||
var referenceHeight = 1080;
|
||
var minScale = 0.7;
|
||
var maxScale = 1;
|
||
var widthScale = window.innerWidth / referenceWidth;
|
||
var heightScale = window.innerHeight / referenceHeight;
|
||
var scale = Math.min(widthScale, heightScale);
|
||
var clampedScale = Math.max(minScale, Math.min(maxScale, scale));
|
||
|
||
document.documentElement.style.setProperty("--hud-scale", clampedScale.toFixed(3));
|
||
})();
|
||
</script>
|
||
<link rel="stylesheet" href="css/base.css">
|
||
<link rel="stylesheet" href="css/hud.css">
|
||
<link rel="stylesheet" href="css/toolbar.css">
|
||
<link rel="stylesheet" href="css/info-panel.css">
|
||
<link rel="stylesheet" href="css/legend.css">
|
||
<link rel="stylesheet" href="css/earth-stats.css">
|
||
<link rel="stylesheet" href="css/tv-panel.css">
|
||
<link rel="stylesheet" href="css/news-panel.css">
|
||
<link rel="stylesheet" href="css/layer-panel.css">
|
||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@400;500;600&display=swap">
|
||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@24,500,0,0">
|
||
</head>
|
||
<body class="earth-page">
|
||
<svg class="earth-filters" aria-hidden="true" width="0" height="0">
|
||
<defs>
|
||
<filter id="liquid-glass-distortion" x="-20%" y="-20%" width="140%" height="140%">
|
||
<feTurbulence type="fractalNoise" baseFrequency="0.012 0.02" numOctaves="2" seed="7" result="noise" />
|
||
<feGaussianBlur in="noise" stdDeviation="0.45" result="softNoise" />
|
||
<feDisplacementMap in="SourceGraphic" in2="softNoise" scale="5.5" xChannelSelector="R" yChannelSelector="G" />
|
||
</filter>
|
||
</defs>
|
||
</svg>
|
||
<div id="container" class="earth-app">
|
||
<div id="left-column" class="earth-left-column">
|
||
<div id="brand-panel" class="hud-panel hud-panel-brand">
|
||
<div id="brand-root"></div>
|
||
</div>
|
||
|
||
<div id="layer-toggles" class="hud-panel hud-panel-layers hud-panel-draggable" data-panel-key="layer-toggles">
|
||
<!-- Header / drag handle -->
|
||
<div class="layer-panel-header hud-panel-drag-handle">
|
||
<span class="material-symbols-rounded layer-panel-icon">layers</span>
|
||
<span class="layer-panel-title">图层</span>
|
||
<button id="layer-panel-collapse" class="layer-panel-btn" type="button" aria-label="折叠图层列表" title="折叠">
|
||
<span class="material-symbols-rounded">expand_less</span>
|
||
</button>
|
||
</div>
|
||
|
||
<!-- Collapsible body -->
|
||
<div class="layer-panel-body" id="layer-panel-body">
|
||
<!-- Search -->
|
||
<div class="layer-panel-search">
|
||
<div class="layer-panel-search-box">
|
||
<span class="material-symbols-rounded layer-panel-search-icon">search</span>
|
||
<input
|
||
type="text"
|
||
id="layer-search-input"
|
||
class="layer-panel-search-input"
|
||
placeholder="搜索图层..."
|
||
autocomplete="off"
|
||
spellcheck="false"
|
||
>
|
||
<button id="layer-search-clear" class="layer-panel-btn layer-search-clear" type="button" aria-label="清除搜索" title="清除" hidden>
|
||
<span class="material-symbols-rounded">close</span>
|
||
</button>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Layer rows -->
|
||
<div class="layer-panel-list" id="layer-panel-list">
|
||
<div class="layer-row" data-layer-name="地形 terrain">
|
||
<span class="material-symbols-rounded layer-row-icon">landscape</span>
|
||
<div class="layer-row-copy">
|
||
<span class="layer-row-label">地形</span>
|
||
<span class="layer-row-meta">Terrain</span>
|
||
</div>
|
||
<button id="toggle-terrain" class="layer-row-toggle" type="button" role="switch" aria-checked="false" title="切换地形显示">
|
||
<span class="layer-row-toggle-track"></span>
|
||
</button>
|
||
</div>
|
||
<div class="layer-row" data-layer-name="卫星 satellites">
|
||
<span class="material-symbols-rounded layer-row-icon">satellite_alt</span>
|
||
<div class="layer-row-copy">
|
||
<span class="layer-row-label">卫星</span>
|
||
<span class="layer-row-meta">Satellites</span>
|
||
</div>
|
||
<button id="toggle-satellites" class="layer-row-toggle" type="button" role="switch" aria-checked="false" title="切换卫星显示">
|
||
<span class="layer-row-toggle-track"></span>
|
||
</button>
|
||
</div>
|
||
<div class="layer-row" data-layer-name="轨迹 trails">
|
||
<span class="material-symbols-rounded layer-row-icon">timeline</span>
|
||
<div class="layer-row-copy">
|
||
<span class="layer-row-label">轨迹</span>
|
||
<span class="layer-row-meta">Trails</span>
|
||
</div>
|
||
<button id="toggle-trails" class="layer-row-toggle active" type="button" role="switch" aria-checked="true" title="切换轨迹显示">
|
||
<span class="layer-row-toggle-track"></span>
|
||
</button>
|
||
</div>
|
||
<div class="layer-row" data-layer-name="海缆 subsea cables">
|
||
<span class="material-symbols-rounded layer-row-icon">cable</span>
|
||
<div class="layer-row-copy">
|
||
<span class="layer-row-label">海缆</span>
|
||
<span class="layer-row-meta">Subsea Cables</span>
|
||
</div>
|
||
<button id="toggle-cables" class="layer-row-toggle active" type="button" role="switch" aria-checked="true" title="切换海缆显示">
|
||
<span class="layer-row-toggle-track"></span>
|
||
</button>
|
||
</div>
|
||
<div class="layer-row" data-layer-name="bgp观测 routing signals">
|
||
<span class="material-symbols-rounded layer-row-icon">hub</span>
|
||
<div class="layer-row-copy">
|
||
<span class="layer-row-label">BGP观测</span>
|
||
<span class="layer-row-meta">Routing Signals</span>
|
||
</div>
|
||
<button id="toggle-bgp" class="layer-row-toggle active" type="button" role="switch" aria-checked="true" title="切换BGP观测显示">
|
||
<span class="layer-row-toggle-track"></span>
|
||
</button>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Empty search state -->
|
||
<div class="layer-panel-empty" id="layer-panel-empty" hidden>无匹配图层</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div id="error-message" class="hud-error-message"></div>
|
||
|
||
<div id="right-toolbar-group" class="earth-toolbar-group">
|
||
<div id="control-toolbar" class="earth-toolbar">
|
||
<div class="earth-toolbar-items">
|
||
<button id="search-action" class="floating-btn liquid-glass-surface earth-toolbar-btn" title="搜索功能(待开发)">
|
||
<span class="icon" aria-hidden="true">
|
||
<span class="material-symbols-rounded">search</span>
|
||
</span>
|
||
<span class="tooltip earth-toolbar-tooltip">搜索功能(待开发)</span>
|
||
</button>
|
||
<button id="rotate-toggle" class="floating-btn liquid-glass-surface earth-toolbar-btn earth-rotate-toggle" title="自动旋转">
|
||
<span class="icon rotate-icon icon-pause" aria-hidden="true">
|
||
<span class="material-symbols-rounded">pause</span>
|
||
</span>
|
||
<span class="icon rotate-icon icon-play" aria-hidden="true">
|
||
<span class="material-symbols-rounded">play_arrow</span>
|
||
</span>
|
||
<span class="tooltip earth-toolbar-tooltip">自动旋转</span>
|
||
</button>
|
||
<button id="toggle-tv" class="floating-btn liquid-glass-surface earth-toolbar-btn" title="新闻直播">
|
||
<span class="icon" aria-hidden="true">
|
||
<span class="material-symbols-rounded">live_tv</span>
|
||
</span>
|
||
<span class="tooltip earth-toolbar-tooltip">打开新闻直播</span>
|
||
</button>
|
||
<button id="toggle-news" class="floating-btn liquid-glass-surface earth-toolbar-btn active" title="全球态势新闻">
|
||
<span class="icon" aria-hidden="true">
|
||
<span class="material-symbols-rounded">newspaper</span>
|
||
</span>
|
||
<span class="tooltip earth-toolbar-tooltip">打开态势新闻</span>
|
||
</button>
|
||
<button id="reload-data" class="floating-btn liquid-glass-surface earth-toolbar-btn" title="重新加载数据">
|
||
<span class="icon" aria-hidden="true">
|
||
<span class="material-symbols-rounded">refresh</span>
|
||
</span>
|
||
<span class="tooltip earth-toolbar-tooltip">重新加载数据</span>
|
||
</button>
|
||
<div id="zoom-control-group" class="earth-toolbar-popover earth-zoom-group">
|
||
<button id="zoom-trigger" class="floating-btn liquid-glass-surface earth-toolbar-btn" title="缩放控制">
|
||
<span class="icon" aria-hidden="true">
|
||
<span class="material-symbols-rounded">zoom_in</span>
|
||
</span>
|
||
<span class="tooltip earth-toolbar-tooltip">缩放控制</span>
|
||
</button>
|
||
<div id="zoom-toolbar" class="earth-stack-toolbar earth-zoom-toolbar">
|
||
<button id="zoom-in" class="liquid-glass-surface earth-zoom-btn" title="放大" aria-label="放大"><span aria-hidden="true">+</span></button>
|
||
<span id="zoom-value" class="liquid-glass-surface earth-zoom-value" title="重置缩放到100%">100%<span class="tooltip earth-toolbar-tooltip">重置缩放到100%</span></span>
|
||
<button id="zoom-out" class="liquid-glass-surface earth-zoom-btn" title="缩小" aria-label="缩小"><span aria-hidden="true">−</span></button>
|
||
</div>
|
||
</div>
|
||
<button id="settings-trigger" class="floating-btn liquid-glass-surface earth-toolbar-btn" title="设置">
|
||
<span class="icon" aria-hidden="true">
|
||
<span class="material-symbols-rounded">settings</span>
|
||
</span>
|
||
<span class="tooltip earth-toolbar-tooltip">设置</span>
|
||
</button>
|
||
<button id="reset-view" class="floating-btn liquid-glass-surface earth-toolbar-btn" title="重置视角">
|
||
<span class="icon" aria-hidden="true">
|
||
<span class="material-symbols-rounded">my_location</span>
|
||
</span>
|
||
<span class="tooltip earth-toolbar-tooltip">重置视角</span>
|
||
</button>
|
||
<button id="layout-toggle" class="floating-btn liquid-glass-surface earth-toolbar-btn earth-layout-toggle" title="最大化布局">
|
||
<span class="icon layout-icon layout-expand" aria-hidden="true">
|
||
<span class="material-symbols-rounded">open_in_full</span>
|
||
</span>
|
||
<span class="icon layout-icon layout-collapse" aria-hidden="true">
|
||
<span class="material-symbols-rounded">close_fullscreen</span>
|
||
</span>
|
||
<span class="tooltip earth-toolbar-tooltip">最大化布局</span>
|
||
</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<div id="legend" class="hud-panel hud-panel-legend hud-panel-draggable" data-panel-key="legend">
|
||
<!-- Drag bar: current mode + collapse + close -->
|
||
<div class="legend-bar hud-panel-drag-handle">
|
||
<div class="legend-current" id="legend-current">
|
||
<span class="legend-title">图例</span>
|
||
<span id="legend-current-label" class="legend-current-label">海缆</span>
|
||
</div>
|
||
<div class="legend-bar-actions">
|
||
<button id="legend-collapse" class="legend-bar-btn hud-panel__action hud-panel__action--collapse" title="折叠">
|
||
<span class="material-symbols-rounded">expand_less</span>
|
||
</button>
|
||
<button class="legend-bar-btn hud-panel__action hud-panel__action--close hud-panel-close" type="button" data-close-panel="legend" aria-label="关闭图例">
|
||
<span class="material-symbols-rounded">close</span>
|
||
</button>
|
||
</div>
|
||
</div>
|
||
<!-- Collapsible list -->
|
||
<div id="legend-body" class="legend-body hud-panel__body hud-panel__body--collapsible">
|
||
<div class="legend-list"></div>
|
||
</div>
|
||
</div>
|
||
|
||
<div id="earth-stats" class="hud-panel hud-panel-stats hud-panel-draggable" data-panel-key="earth-stats">
|
||
<!-- Thin drag bar with kicker + close -->
|
||
<div class="stats-drag-bar hud-panel-drag-handle">
|
||
<span class="stats-kicker">全球态势</span>
|
||
<button class="hud-panel-close" type="button" data-close-panel="earth-stats" aria-label="关闭地球信息">
|
||
<span class="material-symbols-rounded">close</span>
|
||
</button>
|
||
</div>
|
||
|
||
<!-- 2-col KPI grid -->
|
||
<div class="stats-grid">
|
||
<div class="stat-cell">
|
||
<span class="stat-num" id="cable-count">—</span>
|
||
<span class="stat-label">海缆系统</span>
|
||
</div>
|
||
<div class="stat-cell">
|
||
<span class="stat-num" id="landing-point-count">—</span>
|
||
<span class="stat-label">登陆点</span>
|
||
</div>
|
||
<div class="stat-cell">
|
||
<span class="stat-num" id="satellite-count">—</span>
|
||
<span class="stat-label">在轨卫星</span>
|
||
</div>
|
||
<div class="stat-cell">
|
||
<span class="stat-num" id="bgp-anomaly-count">—</span>
|
||
<span class="stat-label">BGP 事件</span>
|
||
</div>
|
||
<div class="stat-cell">
|
||
<span class="stat-num" id="bgp-collector-count">—</span>
|
||
<span class="stat-label">BGP 观测站</span>
|
||
</div>
|
||
<div class="stat-cell">
|
||
<span class="stat-num stat-num--sm" id="cable-status-summary">—</span>
|
||
<span class="stat-label">运行中</span>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- BGP status footer -->
|
||
<div class="stats-footer">
|
||
<span class="stats-footer-dot"></span>
|
||
<span id="bgp-status-summary" class="stats-footer-text">暂无观测数据</span>
|
||
</div>
|
||
|
||
<!-- hidden elements kept for JS compatibility -->
|
||
<span id="terrain-status" hidden></span>
|
||
<span id="texture-quality" hidden></span>
|
||
<span id="camera-distance" hidden></span>
|
||
</div>
|
||
|
||
<div id="tv-panel" class="hud-panel hud-panel-tv hud-panel-draggable" data-panel-key="tv-panel" data-drag-self="true">
|
||
<div class="hud-panel__header hud-panel-drag-handle">
|
||
<div class="hud-panel__title-group">
|
||
<span class="hud-panel-title hud-panel__title tv-panel-header-title">新闻直播</span>
|
||
</div>
|
||
<select id="tv-source-select" class="tv-panel-select" aria-label="选择新闻直播源"></select>
|
||
<div class="hud-panel__actions">
|
||
<button id="tv-refresh" class="hud-panel__action hud-panel__action--refresh" type="button" title="刷新直播源" aria-label="刷新直播源">
|
||
<span class="material-symbols-rounded">refresh</span>
|
||
</button>
|
||
<button id="tv-open-external" class="hud-panel__action hud-panel__action--external" type="button" title="访问官网" aria-label="访问官网">
|
||
<span class="material-symbols-rounded">open_in_new</span>
|
||
</button>
|
||
<button id="tv-meta-toggle" class="hud-panel__action hud-panel__action--collapse tv-panel-meta-toggle" type="button" title="折叠新闻直播内容" aria-label="折叠新闻直播内容">
|
||
<span class="material-symbols-rounded">expand_less</span>
|
||
</button>
|
||
<button class="hud-panel-close hud-panel__action hud-panel__action--close" type="button" data-close-panel="tv-panel" aria-label="关闭电视直播">
|
||
<span class="material-symbols-rounded">close</span>
|
||
</button>
|
||
</div>
|
||
</div>
|
||
<div class="tv-panel-meta-wrap" id="tv-meta-wrap">
|
||
<div class="tv-panel-meta" id="tv-panel-meta">
|
||
<span id="tv-source-status" class="tv-panel-status">等待加载直播源</span>
|
||
<div id="tv-source-title" class="tv-panel-title">暂无可用频道</div>
|
||
<div id="tv-source-meta" class="tv-panel-subtitle">当前未配置可播放新闻直播源</div>
|
||
<div id="tv-source-catalog" class="tv-panel-catalog">频道目录待同步</div>
|
||
<div id="tv-source-notes" class="tv-panel-notes">支持后台配置默认源与采集器补充源。</div>
|
||
</div>
|
||
</div>
|
||
<div class="tv-panel-player">
|
||
<div id="tv-empty-state" class="tv-panel-empty">暂无可播放直播源,请先在系统配置中添加频道。</div>
|
||
<iframe
|
||
id="tv-iframe"
|
||
class="tv-panel-iframe"
|
||
hidden
|
||
title="新闻直播"
|
||
referrerpolicy="strict-origin-when-cross-origin"
|
||
allow="autoplay; fullscreen; picture-in-picture"
|
||
></iframe>
|
||
<video id="tv-video" class="tv-panel-video" hidden controls autoplay muted playsinline></video>
|
||
</div>
|
||
<div class="tv-panel-edge" data-edge="r"></div>
|
||
<div class="tv-panel-edge" data-edge="b"></div>
|
||
<div class="tv-panel-edge" data-edge="l"></div>
|
||
<div class="tv-panel-edge" data-edge="br"></div>
|
||
<div class="tv-panel-edge" data-edge="bl"></div>
|
||
</div>
|
||
|
||
<div id="news-panel" class="hud-panel hud-panel-news hud-panel-draggable hud-panel--expand-down" data-panel-key="news-panel">
|
||
<div class="hud-panel__header hud-panel-drag-handle">
|
||
<div class="news-panel-header-copy hud-panel__title-group">
|
||
<div class="news-panel-title-row">
|
||
<span class="hud-panel-title hud-panel__title news-panel-title">全球态势聚合</span>
|
||
<span id="news-region-chip" class="news-region-chip hud-panel__chip">global</span>
|
||
</div>
|
||
</div>
|
||
<div class="hud-panel__actions">
|
||
<button id="news-refresh" class="hud-panel__action hud-panel__action--refresh" type="button" title="刷新新闻源" aria-label="刷新新闻源">
|
||
<span class="material-symbols-rounded">refresh</span>
|
||
</button>
|
||
<button id="news-open-external" class="hud-panel__action hud-panel__action--external" type="button" title="打开源站" aria-label="打开源站">
|
||
<span class="material-symbols-rounded">open_in_new</span>
|
||
</button>
|
||
<button id="news-collapse" class="hud-panel__action hud-panel__action--collapse news-panel-collapse" type="button" title="折叠新闻面板" aria-label="折叠新闻面板">
|
||
<span class="material-symbols-rounded">expand_less</span>
|
||
</button>
|
||
<button class="hud-panel__action hud-panel__action--close hud-panel-close" type="button" data-close-panel="news-panel" aria-label="关闭态势新闻">
|
||
<span class="material-symbols-rounded">close</span>
|
||
</button>
|
||
</div>
|
||
</div>
|
||
|
||
<div id="news-panel-body" class="news-panel-body hud-panel__body hud-panel__body--collapsible">
|
||
<div class="news-panel-subtitle">跟随地球正面视角自动切换区域新闻</div>
|
||
|
||
<div class="news-panel-focus">
|
||
<div>
|
||
<div class="news-focus-kicker">当前关注区域</div>
|
||
<div id="news-focus-label" class="news-focus-label">全球焦点</div>
|
||
<div id="news-focus-coords" class="news-focus-coords">跟随当前视角自动聚焦</div>
|
||
</div>
|
||
<div id="news-source-count" class="news-source-count">0 路聚合源</div>
|
||
</div>
|
||
|
||
<div class="news-board">
|
||
<div id="news-board-status" class="news-board-status">正在准备全球态势新闻...</div>
|
||
<div id="news-board-list" class="news-board-list"></div>
|
||
<div id="news-board-empty" class="news-board-empty" hidden>正在准备全球态势新闻聚合源...</div>
|
||
</div>
|
||
</div>
|
||
<a id="news-feed-anchor" hidden rel="noreferrer noopener" target="_blank"></a>
|
||
</div>
|
||
|
||
<div id="loading" class="earth-loading">
|
||
<div id="loading-spinner" class="earth-loading-spinner"></div>
|
||
<div id="loading-title" class="earth-loading-title earth-loading-text">正在初始化全球态势数据...</div>
|
||
<div id="loading-subtitle" class="earth-loading-subtitle">同步卫星、海底光缆、登陆点与BGP态势数据</div>
|
||
</div>
|
||
<div id="status-message" class="earth-status-message"></div>
|
||
<div id="tooltip" class="earth-tooltip"></div>
|
||
<div id="settings-modal" class="earth-settings-modal" aria-hidden="true">
|
||
<div id="settings-backdrop" class="earth-settings-backdrop"></div>
|
||
<div class="earth-settings-sheet liquid-glass-surface" role="dialog" aria-modal="true" aria-labelledby="settings-title">
|
||
<div class="earth-settings-header">
|
||
<div>
|
||
<div class="earth-settings-kicker">设置</div>
|
||
<h3 id="settings-title" class="earth-settings-title hud-panel-title">显示与视图</h3>
|
||
</div>
|
||
<button id="settings-close" class="earth-settings-close hud-panel-close" type="button" aria-label="关闭设置">
|
||
<span class="material-symbols-rounded">close</span>
|
||
</button>
|
||
</div>
|
||
<div class="earth-settings-content">
|
||
<section class="earth-settings-section">
|
||
<div class="earth-settings-section-title">视图</div>
|
||
<div class="earth-settings-list">
|
||
<label class="earth-settings-item" for="toggle-view-layers">
|
||
<div class="earth-settings-copy">
|
||
<span class="earth-settings-item-title">图层控制</span>
|
||
<span class="earth-settings-item-subtitle">控制右侧图层控制面板显示</span>
|
||
</div>
|
||
<span class="earth-settings-switch">
|
||
<input id="toggle-view-layers" type="checkbox" data-settings-panel="layer-toggles" checked>
|
||
<span class="earth-settings-switch-track"></span>
|
||
</span>
|
||
</label>
|
||
<label class="earth-settings-item" for="toggle-view-legend">
|
||
<div class="earth-settings-copy">
|
||
<span class="earth-settings-item-title">图例</span>
|
||
<span class="earth-settings-item-subtitle">控制左下角图例面板显示</span>
|
||
</div>
|
||
<span class="earth-settings-switch">
|
||
<input id="toggle-view-legend" type="checkbox" data-settings-panel="legend">
|
||
<span class="earth-settings-switch-track"></span>
|
||
</span>
|
||
</label>
|
||
<label class="earth-settings-item" for="toggle-view-stats">
|
||
<div class="earth-settings-copy">
|
||
<span class="earth-settings-item-title">全球态势</span>
|
||
<span class="earth-settings-item-subtitle">控制右上角全球态势统计面板显示</span>
|
||
</div>
|
||
<span class="earth-settings-switch">
|
||
<input id="toggle-view-stats" type="checkbox" data-settings-panel="earth-stats">
|
||
<span class="earth-settings-switch-track"></span>
|
||
</span>
|
||
</label>
|
||
<label class="earth-settings-item" for="toggle-view-tv">
|
||
<div class="earth-settings-copy">
|
||
<span class="earth-settings-item-title">电视直播</span>
|
||
<span class="earth-settings-item-subtitle">控制新闻直播窗口显示</span>
|
||
</div>
|
||
<span class="earth-settings-switch">
|
||
<input id="toggle-view-tv" type="checkbox" data-settings-panel="tv-panel">
|
||
<span class="earth-settings-switch-track"></span>
|
||
</span>
|
||
</label>
|
||
<label class="earth-settings-item" for="toggle-view-news">
|
||
<div class="earth-settings-copy">
|
||
<span class="earth-settings-item-title">态势新闻</span>
|
||
<span class="earth-settings-item-subtitle">控制跟随视角切换的全球态势 RSS 看板显示</span>
|
||
</div>
|
||
<span class="earth-settings-switch">
|
||
<input id="toggle-view-news" type="checkbox" data-settings-panel="news-panel" checked>
|
||
<span class="earth-settings-switch-track"></span>
|
||
</span>
|
||
</label>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<script type="module" src="js/main.js"></script>
|
||
</body>
|
||
</html>
|