kbsearch-extension/scripts/upload-history.js

71 lines
2.1 KiB
JavaScript

const API_HISTORY = "http://app.wisdompulse.cn/api/v1/doc/fetch-os-upload-history";
const tableBody = document.getElementById("historyTableBody");
const pagination = document.getElementById("pagination");
const pageSizeSelect = document.getElementById("pageSizeSelect");
let currentPage = 1;
let total = 0;
let pageSize = parseInt(pageSizeSelect.value);
function loadUploadHistory(page = 1, size = 10) {
const url = `${API_HISTORY}?page=${page}&size=${size}`;
fetch(url)
.then(res => res.json())
.then(data => {
renderTable(data.records || []);
renderPagination(data.total || 0, page, size);
})
.catch(err => {
console.error("加载上传记录失败:", err);
});
}
function renderTable(records) {
tableBody.innerHTML = "";
if (!records.length) {
const tr = document.createElement("tr");
tr.innerHTML = `<td colspan="3">暂无记录</td>`;
tableBody.appendChild(tr);
return;
}
records.forEach(rec => {
const tr = document.createElement("tr");
tr.innerHTML = `
<td><a href="${rec.url}" target="_blank">${rec.fileName}</a></td>
<td>${rec.uploadTime}</td>
<td>${rec.daysRemaining}</td>
`;
tableBody.appendChild(tr);
});
}
function renderPagination(totalCount, current, size) {
pagination.innerHTML = "";
total = totalCount;
const totalPages = Math.ceil(totalCount / size);
if (totalPages <= 1) return;
for (let i = 1; i <= totalPages; i++) {
const btn = document.createElement("button");
btn.textContent = i;
if (i === current) btn.classList.add("active");
btn.onclick = () => {
currentPage = i;
loadUploadHistory(currentPage, pageSize);
};
pagination.appendChild(btn);
}
}
pageSizeSelect.addEventListener("change", () => {
pageSize = parseInt(pageSizeSelect.value);
currentPage = 1;
loadUploadHistory(currentPage, pageSize);
});
window.addEventListener("DOMContentLoaded", () => {
loadUploadHistory(currentPage, pageSize);
});