perpare to fix RequestFinishedEvent

This commit is contained in:
XOF
2025-11-21 13:20:47 +08:00
parent 375cfe814a
commit 1f7aa70810
16 changed files with 611 additions and 263 deletions

View File

@@ -7,8 +7,7 @@ class LogsPage {
constructor() {
this.state = {
logs: [],
// [修正] 暂时将分页状态设为默认值,直到后端添加分页支持
pagination: { page: 1, pages: 1, total: 0 },
pagination: { page: 1, pages: 1, total: 0, page_size: 20 }, // 包含 page_size
isLoading: true,
filters: { page: 1, page_size: 20 }
};
@@ -45,32 +44,35 @@ class LogsPage {
const url = `/admin/logs?page=${this.state.filters.page}&page_size=${this.state.filters.page_size}`;
const responseData = await apiFetchJson(url);
// [核心修正] 调整条件以匹配当前 API 返回的 { success: true, data: [...] } 结构
if (responseData && responseData.success && Array.isArray(responseData.data)) {
// [核心修正] 直接从 responseData.data 获取日志数组
this.state.logs = responseData.data;
// [临时] 由于当前响应不包含分页信息,我们暂时不更新 this.state.pagination
// 等待后端完善分页后,再恢复这里的逻辑
// [假设] 由于当前响应不包含分页信息,我们基于请求和返回的数据来模拟
// TODO: 当后端API返回分页对象时替换此处的模拟数据
this.state.pagination = {
page: this.state.filters.page,
page_size: this.state.filters.page_size,
total: responseData.data.length, // 这是一个不准确的临时值
pages: Math.ceil(responseData.data.length / this.state.filters.page_size) // 同样不准确
};
this.logList.render(this.state.logs);
// [修改] 将分页状态传递给 render 方法
this.logList.render(this.state.logs, this.state.pagination);
// this.renderPaginationControls();
} else {
console.error("API response for logs is incorrect:", responseData);
this.logList.render([]);
this.logList.render([], this.state.pagination);
}
} catch (error) {
} catch (error)
{
console.error("Failed to load logs:", error);
// this.logList.renderError(error);
this.logList.render([], this.state.pagination);
} finally {
this.state.isLoading = false;
}
}
}
// 导出符合 main.js 规范的 default 函数
export default function() {
const page = new LogsPage();
page.init();