PyBot/web/templates/index.html
2025-01-15 11:02:39 +08:00

178 lines
6.6 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="en">
<head>
<meta charset="UTF-8">
<title>资讯推送Web端</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="{{ url_for('static', filename='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: 10px; /* 减少边距 */
}
h1 {
color: #333;
font-size: 1.5em; /* 适当减小标题字体 */
}
#markdown-content {
white-space: pre-wrap;
font-size: 0.9em; /* 减小内容字体 */
}
/* 返回顶部按钮样式 */
#back-to-top {
display: none;
position: fixed;
bottom: 10px; /* 调整位置 */
right: 10px; /* 调整位置 */
z-index: 99;
font-size: 16px; /* 减小字体 */
border: none;
outline: none;
background-color: #555;
color: white;
cursor: pointer;
padding: 10px; /* 减小内边距 */
border-radius: 4px;
}
#back-to-top:hover {
background-color: #777;
}
#markdown-content a {
color: blue;
text-decoration: none; /* 可选:去掉下划线 */
}
#markdown-content a:hover {
text-decoration: underline; /* 可选:鼠标悬停时显示下划线 */
}
/* 移动端样式调整 */
@media only screen and (max-width: 600px) {
body {
margin: 5px;
}
h1 {
font-size: 1.2em;
}
#markdown-content {
font-size: 0.8em;
}
#back-to-top {
font-size: 14px;
padding: 8px;
}
#markdown-content a {
color: blue;
text-decoration: none; /* 可选:去掉下划线 */
}
#markdown-content a:hover {
text-decoration: underline; /* 可选:鼠标悬停时显示下划线 */
}
}
</style>
</head>
<body>
<div class="layui-container">
<center><h1 class="layui-title" id="page-title">历史推送读取</h1><br>
<div id="button-container" class="layui-btn-group">
<button id="sec-news-btn" class="layui-btn">安全新闻</button>
<button id="tech-passage-btn" class="layui-btn">技术文章</button>
<button id="baidu-news-btn" class="layui-btn">百度新闻</button>
<button id="github-news-btn" class="layui-btn">GitHub新闻</button>
<button id="wx-news-btn" class="layui-btn">微信新闻</button>
</div>
<h4>为保证网页运作性能默认仅读取前20条记录若您有需求可自行更改app.py</h4></center>
<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 buttonMap = {
'sec-news-btn': '/get-sec-news',
'tech-passage-btn': '/get-tech-passage',
'baidu-news-btn': '/get-baidu-news',
'github-news-btn': '/get-github-news',
'wx-news-btn': '/get-wx-news'
};
var titleMap = {
'/get-sec-news': '安全新闻',
'/get-tech-passage': '技术文章',
'/get-baidu-news': '百度新闻',
'/get-github-news': 'GitHub监控',
'/get-wx-news': '微信文章监控'
};
function updateTitle(url) {
document.getElementById('page-title').innerText = titleMap[url] || '历史推送读取';
}
function fetchContent(url, buttonId) {
// Disable all buttons
Object.keys(buttonMap).forEach(key => {
document.getElementById(key).disabled = false;
});
// Enable the clicked button
document.getElementById(buttonId).disabled = true;
updateTitle(url);
fetch(url)
.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});
});
}
// Add event listeners to buttons
Object.keys(buttonMap).forEach(key => {
document.getElementById(key).addEventListener('click', function() {
fetchContent(buttonMap[key], key);
});
});
// Initial fetch on page load
var initialButtonId = 'sec-news-btn'; // Default button
fetchContent(buttonMap[initialButtonId], initialButtonId);
});
// 显示或隐藏返回顶部按钮
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>