feat: 添加日志

This commit is contained in:
zdl
2025-10-18 08:08:58 +08:00
parent 36558e0715
commit b46ee4a18e
5 changed files with 74 additions and 45 deletions

View File

@@ -11,6 +11,7 @@ import {
import { FaQrcode } from "react-icons/fa";
import { useNavigate } from "react-router-dom";
import { authService, WECHAT_STATUS, STATUS_MESSAGES } from "../../services/authService";
import { logger } from "../../utils/logger";
// 配置常量
const POLL_INTERVAL = 2000; // 轮询间隔2秒
@@ -109,7 +110,7 @@ export default function WechatRegister() {
throw new Error(response?.error || '登录失败');
}
} catch (error) {
console.error('登录失败:', error);
logger.error('WechatRegister', 'handleLoginSuccess', error, { sessionId });
showError("登录失败", error.message || "请重试");
}
}, [navigate, showSuccess, showError]);
@@ -126,7 +127,7 @@ export default function WechatRegister() {
// 安全检查:确保 response 存在且包含 status
if (!response || typeof response.status === 'undefined') {
console.warn('微信状态检查返回无效数据:', response);
logger.warn('WechatRegister', '微信状态检查返回无效数据', { response });
return;
}
@@ -156,7 +157,7 @@ export default function WechatRegister() {
}
}
} catch (error) {
console.error("检查微信状态失败:", error);
logger.error('WechatRegister', 'checkWechatStatus', error, { sessionId: wechatSessionId });
// 轮询过程中的错误不显示给用户,避免频繁提示
// 但如果错误持续发生,停止轮询避免无限重试
if (error.message.includes('网络连接失败')) {
@@ -222,7 +223,7 @@ export default function WechatRegister() {
// 启动轮询检查扫码状态
startPolling();
} catch (error) {
console.error('获取微信授权失败:', error);
logger.error('WechatRegister', 'getWechatQRCode', error);
if (isMountedRef.current) {
showError("获取微信授权失败", error.message || "请稍后重试");
}
@@ -241,7 +242,7 @@ export default function WechatRegister() {
await getWechatQRCode();
} catch (error) {
// 错误已经在 getWechatQRCode 中处理,这里只需要防止未捕获的 Promise rejection
console.error('QR code button click error (caught in handler):', error);
logger.error('WechatRegister', 'handleGetQRCodeClick', error);
}
}, [getWechatQRCode]);
@@ -264,20 +265,20 @@ export default function WechatRegister() {
useEffect(() => {
// 只在有auth_url、session_id且状态为waiting时启动备用轮询
if (wechatAuthUrl && wechatSessionId && wechatStatus === WECHAT_STATUS.WAITING) {
console.log('备用轮询:启动备用轮询机制');
logger.debug('WechatRegister', '备用轮询:启动备用轮询机制');
backupPollIntervalRef.current = setInterval(() => {
try {
if (wechatStatus === WECHAT_STATUS.WAITING && isMountedRef.current) {
console.log('备用轮询:检查微信状态');
logger.debug('WechatRegister', '备用轮询:检查微信状态');
// 添加 .catch() 静默处理异步错误,防止被 ErrorBoundary 捕获
checkWechatStatus().catch(error => {
console.warn('备用轮询检查失败(静默处理):', error);
logger.warn('WechatRegister', '备用轮询检查失败(静默处理)', { error: error.message });
});
}
} catch (error) {
// 捕获所有同步错误,防止被 ErrorBoundary 捕获
console.warn('备用轮询执行出错(静默处理):', error);
logger.warn('WechatRegister', '备用轮询执行出错(静默处理)', { error: error.message });
}
}, BACKUP_POLL_INTERVAL);
}