refactor: debugLog for frontend (#5587)

This commit is contained in:
Sline
2025-11-25 10:01:04 +08:00
committed by GitHub
parent 64727ad660
commit caca8b2bc4
24 changed files with 181 additions and 99 deletions
+11 -10
View File
@@ -7,6 +7,7 @@ import {
patchProfilesConfig,
} from "@/services/cmds";
import { calcuProxies } from "@/services/cmds";
import { debugLog } from "@/utils/debug";
export const useProfiles = () => {
const {
@@ -25,7 +26,7 @@ export const useProfiles = () => {
console.error("[useProfiles] SWR错误:", error);
},
onSuccess: (data) => {
console.log(
debugLog(
"[useProfiles] 配置数据更新成功,配置数量:",
data?.items?.length || 0,
);
@@ -71,7 +72,7 @@ export const useProfiles = () => {
// 根据selected的节点选择
const activateSelected = async () => {
try {
console.log("[ActivateSelected] 开始处理代理选择");
debugLog("[ActivateSelected] 开始处理代理选择");
const [proxiesData, profileData] = await Promise.all([
calcuProxies(),
@@ -79,7 +80,7 @@ export const useProfiles = () => {
]);
if (!profileData || !proxiesData) {
console.log("[ActivateSelected] 代理或配置数据不可用,跳过处理");
debugLog("[ActivateSelected] 代理或配置数据不可用,跳过处理");
return;
}
@@ -88,18 +89,18 @@ export const useProfiles = () => {
);
if (!current) {
console.log("[ActivateSelected] 未找到当前profile配置");
debugLog("[ActivateSelected] 未找到当前profile配置");
return;
}
// 检查是否有saved的代理选择
const { selected = [] } = current;
if (selected.length === 0) {
console.log("[ActivateSelected] 当前profile无保存的代理选择,跳过");
debugLog("[ActivateSelected] 当前profile无保存的代理选择,跳过");
return;
}
console.log(
debugLog(
`[ActivateSelected] 当前profile有 ${selected.length} 个代理选择配置`,
);
@@ -160,7 +161,7 @@ export const useProfiles = () => {
}
if (savedProxy !== now) {
console.log(
debugLog(
`[ActivateSelected] 需要切换代理组 ${name}: ${now} -> ${savedProxy}`,
);
hasChange = true;
@@ -171,15 +172,15 @@ export const useProfiles = () => {
});
if (!hasChange) {
console.log("[ActivateSelected] 所有代理选择已经是目标状态,无需更新");
debugLog("[ActivateSelected] 所有代理选择已经是目标状态,无需更新");
return;
}
console.log(`[ActivateSelected] 完成代理切换,保存新的选择配置`);
debugLog(`[ActivateSelected] 完成代理切换,保存新的选择配置`);
try {
await patchProfile(profileData.current!, { selected: newSelected });
console.log("[ActivateSelected] 代理选择配置保存成功");
debugLog("[ActivateSelected] 代理选择配置保存成功");
setTimeout(() => {
mutate("getProxies", calcuProxies());
+5 -4
View File
@@ -9,6 +9,7 @@ import {
import { useProfiles } from "@/hooks/use-profiles";
import { useVerge } from "@/hooks/use-verge";
import { syncTrayProxySelection } from "@/services/cmds";
import { debugLog } from "@/utils/debug";
// 缓存连接清理
const cleanupConnections = async (previousProxy: string) => {
@@ -20,7 +21,7 @@ const cleanupConnections = async (previousProxy: string) => {
if (cleanupPromises.length > 0) {
await Promise.allSettled(cleanupPromises);
console.log(`[ProxySelection] 清理了 ${cleanupPromises.length} 个连接`);
debugLog(`[ProxySelection] 清理了 ${cleanupPromises.length} 个连接`);
}
} catch (error) {
console.warn("[ProxySelection] 连接清理失败:", error);
@@ -57,7 +58,7 @@ export const useProxySelection = (options: ProxySelectionOptions = {}) => {
previousProxy?: string,
skipConfigSave: boolean = false,
) => {
console.log(`[ProxySelection] 代理切换: ${groupName} -> ${proxyName}`);
debugLog(`[ProxySelection] 代理切换: ${groupName} -> ${proxyName}`);
try {
if (current && !skipConfigSave) {
@@ -77,7 +78,7 @@ export const useProxySelection = (options: ProxySelectionOptions = {}) => {
await selectNodeForGroup(groupName, proxyName);
await syncTrayProxySelection();
console.log(
debugLog(
`[ProxySelection] 代理和状态同步完成: ${groupName} -> ${proxyName}`,
);
@@ -100,7 +101,7 @@ export const useProxySelection = (options: ProxySelectionOptions = {}) => {
await selectNodeForGroup(groupName, proxyName);
await syncTrayProxySelection();
onSuccess?.();
console.log(
debugLog(
`[ProxySelection] 代理切换回退成功: ${groupName} -> ${proxyName}`,
);
} catch (fallbackError) {
+10 -8
View File
@@ -1,6 +1,8 @@
import { useEffect, useRef, useCallback, useReducer } from "react";
import { Traffic } from "tauri-plugin-mihomo-api";
import { debugLog } from "@/utils/debug";
// 增强的流量数据点接口
export interface ITrafficDataPoint {
up: number;
@@ -34,7 +36,7 @@ class ReferenceCounter {
increment(): () => void {
this.count++;
console.log(`[ReferenceCounter] 引用计数增加: ${this.count}`);
debugLog(`[ReferenceCounter] 引用计数增加: ${this.count}`);
if (this.count === 1) {
// 从0到1,开始数据收集
@@ -43,7 +45,7 @@ class ReferenceCounter {
return () => {
this.count--;
console.log(`[ReferenceCounter] 引用计数减少: ${this.count}`);
debugLog(`[ReferenceCounter] 引用计数减少: ${this.count}`);
if (this.count === 0) {
// 从1到0,停止数据收集
@@ -116,7 +118,7 @@ class TrafficDataSampler {
this.compressedBuffer.push(compressedPoint);
this.compressionQueue = [];
console.log(`[DataSampler] 压缩了 ${compressedPoint.samples} 个数据点`);
debugLog(`[DataSampler] 压缩了 ${compressedPoint.samples} 个数据点`);
}
getDataForTimeRange(minutes: number): ITrafficDataPoint[] {
@@ -194,12 +196,12 @@ export const useTrafficMonitorEnhanced = () => {
// 注册引用计数
useEffect(() => {
console.log("[TrafficMonitorEnhanced] 组件挂载,注册引用计数");
debugLog("[TrafficMonitorEnhanced] 组件挂载,注册引用计数");
const cleanup = refCounter.increment();
cleanupRef.current = cleanup;
return () => {
console.log("[TrafficMonitorEnhanced] 组件卸载,清理引用计数");
debugLog("[TrafficMonitorEnhanced] 组件卸载,清理引用计数");
cleanup();
cleanupRef.current = null;
};
@@ -208,13 +210,13 @@ export const useTrafficMonitorEnhanced = () => {
// 设置引用计数变化回调
useEffect(() => {
const handleCountChange = () => {
console.log(
debugLog(
`[TrafficMonitorEnhanced] 引用计数变化: ${refCounter.getCount()}`,
);
if (refCounter.getCount() === 0) {
console.log("[TrafficMonitorEnhanced] 所有组件已卸载,暂停数据收集");
debugLog("[TrafficMonitorEnhanced] 所有组件已卸载,暂停数据收集");
} else {
console.log("[TrafficMonitorEnhanced] 开始数据收集");
debugLog("[TrafficMonitorEnhanced] 开始数据收集");
}
};