You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

248 lines
9.7 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>智能提词器</title>
<link rel="icon" type="image/x-icon" href="images/favicon.ico">
<link rel="stylesheet" href="styles/main.css">
<link rel="stylesheet" href="styles/theme.css">
<link rel="stylesheet" href="styles/sidebar.css">
<link rel="stylesheet" href="styles/editor.css">
<link rel="stylesheet" href="styles/audio-player.css">
</head>
<body class="dark-theme">
<!-- Logo区域 - 居中圆角控件 -->
<div class="logo-widget">
<img src="images/logo.svg" alt="Logo" class="logo">
<span class="project-name">智能提词器</span>
</div>
<!-- 计时器 - 右上角圆角控件 -->
<div class="time-widget" id="timeDisplay"></div>
<!-- 红色定位线 -->
<div class="reading-line" id="readingLine"></div>
<!-- 左侧悬浮工具栏 -->
<aside class="sidebar" id="sidebar">
<button class="sidebar-btn" id="fullscreenBtn" title="全屏">
<img src="images/fullscreen.svg" alt="全屏">
</button>
<button class="sidebar-btn" id="themeBtn" title="主题切换">
<img src="images/theme.svg" alt="主题">
</button>
<button class="sidebar-btn" id="playBtn" title="播放/暂停">
<img src="images/play.svg" alt="播放">
</button>
<button class="sidebar-btn" id="scrollBtn" title="滚动设置">
<img src="images/scroll.svg" alt="滚动">
</button>
<button class="sidebar-btn" id="fontBtn" title="字体设置">
<img src="images/font.svg" alt="字体">
</button>
<button class="sidebar-btn" id="flipBtn" title="翻转设置">
<img src="images/flip.svg" alt="翻转">
</button>
<button class="sidebar-btn" id="watermarkBtn" title="水印设置">
<img src="images/watermark.svg" alt="水印">
</button>
<button class="sidebar-btn" id="importBtn" title="导入文件">
<img src="images/import.svg" alt="导入">
</button>
<button class="sidebar-btn" id="lockBtn" title="锁定文本">
<img src="images/unlock.svg" alt="锁定" id="lockIcon">
</button>
<button class="sidebar-btn" id="recordBtn" title="录音">
<img src="images/record.svg" alt="录音">
</button>
<!-- <button class="sidebar-btn" id="languageBtn" title="切换语言">
<img src="images/language.svg" alt="语言">
</button> -->
</aside>
<!-- 侧边栏切换按钮 - 独立于侧边栏右侧 -->
<div class="sidebar-toggle-container" id="sidebarToggleContainer">
<button class="sidebar-btn sidebar-toggle" id="sidebarToggle" title="隐藏功能区">
<img src="images/chevron-left.svg" alt="隐藏">
</button>
</div>
<!-- 左侧边缘触发区域 -->
<div class="sidebar-trigger" id="sidebarTrigger"></div>
<!-- 主文本编辑区域 -->
<main class="main-content">
<div class="text-editor-container">
<div class="text-editor" id="textEditor" contenteditable="true"></div>
</div>
<!-- 水印层 -->
<div class="watermark-layer" id="watermarkLayer"></div>
</main>
<!-- 右侧滚动条 -->
<div class="custom-scrollbar" id="customScrollbar">
<div class="scrollbar-thumb" id="scrollbarThumb"></div>
</div>
<!-- 设置面板模板 -->
<div class="settings-panel" id="scrollSettings" style="display: none;">
<h3>滚动设置</h3>
<div class="setting-group">
<label>
<input type="checkbox" id="autoScroll" checked> 自动滚动
</label>
</div>
<div class="setting-group" id="autoScrollOptions">
<label>滚动类型:
<select id="scrollType">
<option value="line">按行滚动</option>
<option value="char">按字滚动</option>
</select>
</label>
<label>滚动速度:
<input type="range" id="scrollSpeed" min="1" max="100" value="10">
<span id="scrollSpeedValue">10</span>
</label>
<label>
<input type="checkbox" id="autoDuration"> 根据全文时长自动计算
</label>
<div id="durationSettings" style="display: none;">
<label>全文时长(分钟):
<input type="number" id="totalDuration" min="1" max="120" value="10">
</label>
</div>
<label>倒计时时长(秒):
<input type="number" id="countdownDuration" min="0" max="10" value="0">
</label>
</div>
</div>
<div class="settings-panel" id="fontSettings" style="display: none;">
<h3>字体设置</h3>
<div class="setting-group">
<label>字体:
<select id="fontFamily">
<option value="SimSun, serif">宋体</option>
<option value="Microsoft YaHei, sans-serif">微软雅黑</option>
<option value="SimHei, sans-serif">黑体</option>
<option value="KaiTi, serif">楷体</option>
</select>
</label>
<label>字号:
<input type="range" id="fontSize" min="12" max="100" value="40">
<span id="fontSizeValue">40px</span>
</label>
<label>颜色:
<input type="color" id="fontColor" value="#333333">
</label>
<label>左边距:
<input type="range" id="marginLeft" min="0" max="400" value="100">
<span id="marginLeftValue">100px</span>
</label>
<label>右边距:
<input type="range" id="marginRight" min="0" max="400" value="50">
<span id="marginRightValue">50px</span>
</label>
<label>字间距:
<input type="range" id="letterSpacing" min="0" max="10" value="1">
<span id="letterSpacingValue">1px</span>
</label>
<label>行距:
<input type="range" id="lineHeight" min="1" max="3" step="0.1" value="1.6">
<span id="lineHeightValue">1.6</span>
</label>
</div>
</div>
<div class="settings-panel" id="flipSettings" style="display: none;">
<h3>翻转设置</h3>
<div class="setting-group">
<label>
<input type="checkbox" id="horizontalFlip"> 水平翻转
</label>
<label>
<input type="checkbox" id="verticalFlip"> 垂直翻转
</label>
</div>
</div>
<div class="settings-panel" id="watermarkSettings" style="display: none;">
<h3>水印设置</h3>
<div class="setting-group">
<label>
<input type="checkbox" id="watermarkEnabled"> 启用水印
</label>
<div id="watermarkOptions" style="display: none;">
<label>水印内容:
<input type="text" id="watermarkText" placeholder="输入水印文字">
</label>
<label>水印类型:
<select id="watermarkType">
<option value="center">大字居中背景</option>
<option value="diagonal">斜向暗纹</option>
</select>
</label>
</div>
</div>
</div>
<div class="settings-panel" id="recordSettings" style="display: none;">
<h3>录音设置</h3>
<div class="setting-group">
<button id="startRecord" class="record-control-btn">开始录音</button>
<button id="stopRecord" class="record-control-btn" disabled>停止录音</button>
<button id="playRecord" class="record-control-btn" disabled>试听</button>
<label>
<input type="checkbox" id="audioSync"> 音频智能识别滚动
</label>
</div>
</div>
<!-- 倒计时显示 -->
<div class="countdown-display" id="countdownDisplay" style="display: none;">
<span id="countdownText">3</span>
</div>
<!-- 音频播放弹窗 -->
<div class="audio-player-modal" id="audioPlayerModal" style="display: none;">
<div class="audio-player-content">
<div class="audio-player-header">
<h3>录音试听</h3>
<button class="close-btn" id="closeAudioPlayer">×</button>
</div>
<div class="audio-player-body">
<audio id="audioPlayer" controls>
您的浏览器不支持音频播放。
</audio>
<div class="audio-info">
<span id="audioFileName">录音文件</span>
<span id="audioDuration">--:--</span>
</div>
</div>
<div class="audio-player-footer">
<button id="replayAudio" class="audio-control-btn">重新播放</button>
<button id="downloadAudio" class="audio-control-btn">下载录音</button>
</div>
</div>
</div>
<!-- 隐藏的文件输入 -->
<input type="file" id="fileInput" accept=".txt" style="display: none;">
<script src="js/main.js" type="module"></script>
</body>
</html>