refactor(usage): load stats via config events

This commit is contained in:
hkfires
2025-11-21 09:57:56 +08:00
parent d2fc784116
commit a6344a6a61
3 changed files with 15 additions and 4 deletions

1
app.js
View File

@@ -149,6 +149,7 @@ class CLIProxyManager {
this.initUiVersion();
this.initializeTheme();
this.registerSettingsListeners();
this.registerUsageListeners();
this.checkLoginStatus();
this.bindEvents();
this.setupNavigation();

View File

@@ -328,9 +328,6 @@ export const connectionModule = {
// 认证文件需要单独加载,因为不在配置中
await this.loadAuthFiles(keyStats);
// 使用统计需要单独加载复用已获取的usage数据
await this.loadUsageStats(usageData);
// 加载配置文件编辑器内容
await this.loadConfigFileEditor(forceRefresh);
this.refreshConfigEditor();

View File

@@ -741,5 +741,18 @@ export const usageModule = {
getTokensChartData,
switchRequestsPeriod,
switchTokensPeriod,
updateApiStatsTable
updateApiStatsTable,
registerUsageListeners
};
// 订阅全局事件,基于配置加载结果渲染使用统计
export function registerUsageListeners() {
if (!this.events || typeof this.events.on !== 'function') {
return;
}
this.events.on('data:config-loaded', (event) => {
const detail = event?.detail || {};
const usageData = detail.usageData || null;
this.loadUsageStats(usageData);
});
}