const version = "0.1.8"; function toggleFormula(element) { const content = element.nextElementSibling; content.style.display = content.style.display === "none" ? "block" : "none"; element.textContent = element.textContent.includes("▶") ? element.textContent.replace("▶", "▼") : element.textContent.replace("▼", "▶"); } document.addEventListener('DOMContentLoaded', function() { renderMathInElement(document.body, { delimiters: [ {left: "$$", right: "$$", display: true}, {left: "$", right: "$", display: false} ], throwOnError: false }); }); // 分页功能 document.getElementById('prevPageBtn').addEventListener('click', function() { const currentPage = parseInt(document.getElementById('currentPage').textContent); if (currentPage > 1) { loadPage(currentPage - 1); } }); document.getElementById('nextPageBtn').addEventListener('click', function() { const currentPage = parseInt(document.getElementById('currentPage').textContent); const totalPages = parseInt(document.getElementById('totalPages').textContent); if (currentPage < totalPages) { loadPage(currentPage + 1); } }); function loadPage(page) { const urlParams = new URLSearchParams(window.location.search); const user_id = urlParams.get('user_id'); fetch(`/weather?user_id=${user_id}&page=${page}`) .then(response => response.text()) .then(html => { // 创建一个临时DOM元素来 parse 返回的HTML const parser = new DOMParser(); const doc = parser.parseFromString(html, 'text/html'); // 获取新的卡片容器内容 const newCardContainer = doc.getElementById('cardContainer'); if (newCardContainer) { document.getElementById('cardContainer').innerHTML = newCardContainer.innerHTML; } // 更新分页信息 const newCurrentPage = doc.getElementById('currentPage'); const newTotalPages = doc.getElementById('totalPages'); if (newCurrentPage && newTotalPages) { document.getElementById('currentPage').textContent = newCurrentPage.textContent; document.getElementById('totalPages').textContent = newTotalPages.textContent; } // 更新按钮状态 updatePaginationButtons(parseInt(newCurrentPage.textContent), parseInt(newTotalPages.textContent)); // 隐藏详情容器 document.getElementById('detailsContainer').style.display = 'none'; }) .catch(error => { console.error('Error:', error); showNotification('加载页面失败', 'error'); }); } function updatePaginationButtons(currentPage, totalPages) { const prevBtn = document.getElementById('prevPageBtn'); const nextBtn = document.getElementById('nextPageBtn'); prevBtn.disabled = currentPage <= 1; nextBtn.disabled = currentPage >= totalPages; } // 添加删除按钮事件监听 document.getElementById('deleteBtn').addEventListener('click', function() { const selectedRadio = document.querySelector('input[name="selectedData"]:checked'); if (!selectedRadio) { alert('请先选择一条数据'); return; } if (!confirm('确定要删除这条记录吗?此操作不可撤销!')) { return; } const selectedId = selectedRadio.value; fetch('/weather/delete', { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', }, body: `id=${selectedId}` }) .then(response => response.json()) .then(data => { if (data.error) { showNotification(data.error, 'error'); } else { showNotification(data.message); // 移除已删除的卡片 const card = document.querySelector(`.card[data-id="${selectedId}"]`); if (card) { card.remove(); } // 隐藏详情容器 document.getElementById('detailsContainer').style.display = 'none'; } }) .catch(error => { console.error('Error:', error); showNotification('删除失败', 'error'); }); }); let weatherdata = null; document.getElementById('downloadBtn').addEventListener('click', function() { // 保存按钮的引用 var btn = this; // 隐藏按钮(而不是移除) btn.style.display = 'none'; // const data = weatherdata; const areaTypeMap = { urban: "城市", rural: "农村", }; // 等待一小段时间确保按钮已隐藏 setTimeout(function() { // 假设你的HTML字符串是这样的 var htmlString = `