PyBot/web/templates/index.html
2024-12-10 16:24:41 +08:00

133 lines
4.9 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>资讯推送Web端</title>
<link rel="shortcut icon" href="./static/img/favicon.ico">
<!-- 引入 Layui 的 CSS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/layui-src/dist/css/layui.css">
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
<style>
body {
font-family: Arial, sans-serif;
margin: 20px;
}
h1 {
color: #333;
}
#markdown-content {
white-space: pre-wrap;
}
/* 返回顶部按钮样式 */
#back-to-top {
display: none;
position: fixed;
bottom: 20px;
right: 30px;
z-index: 99;
font-size: 18px;
border: none;
outline: none;
background-color: #555;
color: white;
cursor: pointer;
padding: 15px;
border-radius: 4px;
}
#back-to-top:hover {
background-color: #777;
}
</style>
</head>
<body>
<div class="layui-container">
<h1 class="layui-title" id="page-title">历史推送读取</h1>
<button id="toggle-fetch-btn" class="layui-btn">切换读取源</button>
<div id="markdown-content" class="layui-card-body"></div>
</div>
<!-- 返回顶部按钮 -->
<button id="back-to-top" title="Go to top">Top</button>
<!-- 引入 Layui 的 JS -->
<script src="https://cdn.jsdelivr.net/npm/layui-src/dist/layui.js"></script>
<script>
layui.use(['layer'], function(){
var layer = layui.layer;
var currentUrl = '/get-sec-news';
var titleMap = {
'/get-sec-news': '安全新闻',
'/get-tech-passage': '技术文章'
};
function updateTitle(url) {
document.getElementById('page-title').innerText = titleMap[url] || '历史推送读取';
}
document.getElementById('toggle-fetch-btn').addEventListener('click', function() {
if (currentUrl === '/get-sec-news') {
currentUrl = '/get-tech-passage';
} else {
currentUrl = '/get-sec-news';
}
updateTitle(currentUrl);
fetch(currentUrl)
.then(response => response.json())
.then(data => {
if (data.content) {
const htmlContent = marked.parse(data.content);
document.getElementById('markdown-content').innerHTML = htmlContent;
} else {
document.getElementById('markdown-content').innerHTML = '<p>加载历史推送文件时出错!</p>';
}
})
.catch(error => {
console.error('获取源文件失败:', error);
document.getElementById('markdown-content').innerHTML = '<p>无法加载历史推送文件!</p>';
layer.msg('Failed to load markdown.', {icon: 5});
});
});
// Initial fetch on page load
updateTitle(currentUrl);
fetch(currentUrl)
.then(response => response.json())
.then(data => {
if (data.content) {
const htmlContent = marked.parse(data.content);
document.getElementById('markdown-content').innerHTML = htmlContent;
} else {
document.getElementById('markdown-content').innerHTML = '<p>加载历史推送文件时出错!</p>';
}
})
.catch(error => {
console.error('获取源文件失败:', error);
document.getElementById('markdown-content').innerHTML = '<p>无法加载历史推送文件!</p>';
layer.msg('Failed to load markdown.', {icon: 5});
});
// 显示或隐藏返回顶部按钮
window.onscroll = function() {
scrollFunction();
};
function scrollFunction() {
if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) {
document.getElementById("back-to-top").style.display = "block";
} else {
document.getElementById("back-to-top").style.display = "none";
}
}
// 返回顶部按钮点击事件
document.getElementById("back-to-top").addEventListener("click", function() {
document.body.scrollTop = 0;
document.documentElement.scrollTop = 0;
});
});
</script>
</body>
</html>