Update templates/index.html
Browse files- templates/index.html +77 -1
templates/index.html
CHANGED
|
@@ -1 +1,77 @@
|
|
| 1 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<html>
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="UTF-8">
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
| 6 |
+
<title>Bot 控制面板</title>
|
| 7 |
+
<script src="https://telegram.org/js/telegram-web-app.js"></script>
|
| 8 |
+
<style>
|
| 9 |
+
body { font-family: -apple-system, sans-serif; background-color: var(--tg-theme-bg-color); color: var(--tg-theme-text-color); margin: 0; padding: 15px; }
|
| 10 |
+
.card { background: var(--tg-theme-secondary-bg-color); border-radius: 12px; padding: 15px; margin-bottom: 15px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); }
|
| 11 |
+
h2 { margin-top: 0; color: var(--tg-theme-button-color); font-size: 18px; }
|
| 12 |
+
.btn { background: var(--tg-theme-button-color); color: var(--tg-theme-button-text-color); border: none; padding: 10px 20px; border-radius: 8px; width: 100%; cursor: pointer; font-weight: bold; }
|
| 13 |
+
.status-badge { font-size: 12px; padding: 2px 8px; border-radius: 10px; background: #4caf50; color: white; float: right; }
|
| 14 |
+
.input-group { margin-bottom: 10px; }
|
| 15 |
+
input { width: 92%; padding: 10px; border-radius: 6px; border: 1px solid #ccc; margin-top: 5px; }
|
| 16 |
+
</style>
|
| 17 |
+
</head>
|
| 18 |
+
<body>
|
| 19 |
+
<div id="app">
|
| 20 |
+
<h2>🚀 智能同步管理</h2>
|
| 21 |
+
<div class="card">
|
| 22 |
+
<strong>当前用户:</strong> <span id="user-name">加载中...</span>
|
| 23 |
+
</div>
|
| 24 |
+
|
| 25 |
+
<div id="task-list">
|
| 26 |
+
</div>
|
| 27 |
+
|
| 28 |
+
<div class="card">
|
| 29 |
+
<h3>➕ 快速添加任务</h3>
|
| 30 |
+
<div class="input-group">
|
| 31 |
+
<label>源频道 ID:</label>
|
| 32 |
+
<input type="text" id="src-id" placeholder="-100...">
|
| 33 |
+
</div>
|
| 34 |
+
<div class="input-group">
|
| 35 |
+
<label>目标频道 ID:</label>
|
| 36 |
+
<input type="text" id="tgt-id" placeholder="-100...">
|
| 37 |
+
</div>
|
| 38 |
+
<button class="btn" onclick="addTask()">保存同步组</button>
|
| 39 |
+
</div>
|
| 40 |
+
</div>
|
| 41 |
+
|
| 42 |
+
<script>
|
| 43 |
+
const tg = window.Telegram.WebApp;
|
| 44 |
+
tg.expand(); // 展开成全屏
|
| 45 |
+
|
| 46 |
+
// 初始化显示用户名
|
| 47 |
+
document.getElementById('user-name').innerText = tg.initDataUnsafe.user?.first_name || "未知用户";
|
| 48 |
+
|
| 49 |
+
// 点击保存任务
|
| 50 |
+
function addTask() {
|
| 51 |
+
const src = document.getElementById('src-id').value;
|
| 52 |
+
const tgt = document.getElementById('tgt-id').value;
|
| 53 |
+
|
| 54 |
+
if(!src || !tgt) {
|
| 55 |
+
tg.showAlert("请填写完整的 ID");
|
| 56 |
+
return;
|
| 57 |
+
}
|
| 58 |
+
|
| 59 |
+
// 发送数据给后端 API
|
| 60 |
+
fetch('/api/add_group', {
|
| 61 |
+
method: 'POST',
|
| 62 |
+
headers: { 'Content-Type': 'application/json' },
|
| 63 |
+
body: JSON.stringify({
|
| 64 |
+
uid: tg.initDataUnsafe.user.id.toString(),
|
| 65 |
+
src: src,
|
| 66 |
+
tgt: tgt
|
| 67 |
+
})
|
| 68 |
+
}).then(res => res.json()).then(data => {
|
| 69 |
+
if(data.ok) {
|
| 70 |
+
tg.showScanQrPopup({text: "添加成功!"});
|
| 71 |
+
setTimeout(() => tg.close(), 1000); // 关掉小程序回到对话框
|
| 72 |
+
}
|
| 73 |
+
});
|
| 74 |
+
}
|
| 75 |
+
</script>
|
| 76 |
+
</body>
|
| 77 |
+
</html>
|