소스 검색

npm run server

liuq 4 달 전
부모
커밋
0edd6662e4
2개의 변경된 파일41개의 추가작업 그리고 11개의 파일을 삭제
  1. 8 1
      server.js
  2. 33 10
      src/components/NavigationTV.vue

+ 8 - 1
server.js

@@ -22,6 +22,12 @@ app.use(express.json());
 app.use(express.urlencoded({ extended: true }));
 app.use(cookieParser());
 
+// 请求日志中间件(用于调试)
+app.use((req, res, next) => {
+  console.log(`[请求] ${req.method} ${req.path} - ${new Date().toISOString()}`);
+  next();
+});
+
 // 加载自动登录配置
 let autoLoginConfig = {};
 try {
@@ -397,10 +403,11 @@ app.get('/api/auto-login/:siteId', async (req, res) => {
   
   // 立即输出日志,确认请求已到达
   console.log('\n' + '='.repeat(80));
-  console.log(`[${requestId}] ⚡ 收到自动登录请求!`);
+  console.log(`[${requestId}] ⚡⚡⚡ 收到自动登录请求!⚡⚡⚡`);
   console.log(`[${requestId}] 时间: ${new Date().toISOString()}`);
   console.log(`[${requestId}] 请求路径: ${req.path}`);
   console.log(`[${requestId}] 请求方法: ${req.method}`);
+  console.log(`[${requestId}] 完整URL: ${req.protocol}://${req.get('host')}${req.originalUrl}`);
   console.log(`[${requestId}] 客户端IP: ${req.ip || req.connection.remoteAddress || req.socket.remoteAddress}`);
   console.log(`[${requestId}] User-Agent: ${req.get('user-agent') || 'Unknown'}`);
   

+ 33 - 10
src/components/NavigationTV.vue

@@ -86,17 +86,40 @@ const handleLinkClick = (event, link) => {
     console.log('[前端] 链接名称:', link.name);
     console.log('[前端] 自动登录端点:', link.autoLoginEndpoint);
     
-    const autoLoginUrl = getAutoLoginUrl(link.autoLoginEndpoint);
-    console.log('[前端] 完整自动登录URL:', autoLoginUrl);
-    console.log('[前端] 准备跳转到后端端点...');
-    console.log('========================================');
-    
-    // 阻止默认行为并跳转到后端端点
-    event.preventDefault();
-    event.stopPropagation();
+    try {
+      const autoLoginUrl = getAutoLoginUrl(link.autoLoginEndpoint);
+      console.log('[前端] 完整自动登录URL:', autoLoginUrl);
+      console.log('[前端] 准备跳转到后端端点...');
+      
+      // 阻止默认行为并跳转到后端端点
+      event.preventDefault();
+      event.stopPropagation();
+      
+      // 先测试后端是否可达
+      console.log('[前端] 测试后端连接...');
+      fetch(autoLoginUrl, { method: 'HEAD', mode: 'no-cors' })
+        .then(() => {
+          console.log('[前端] 后端连接正常,开始跳转');
+          window.location.href = autoLoginUrl;
+        })
+        .catch((error) => {
+          console.error('[前端] 后端连接失败:', error);
+          console.log('[前端] 仍然尝试跳转...');
+          window.location.href = autoLoginUrl;
+        });
+      
+      // 如果 fetch 不支持,直接跳转
+      setTimeout(() => {
+        console.log('[前端] 执行跳转:', autoLoginUrl);
+        window.location.href = autoLoginUrl;
+      }, 100);
+      
+    } catch (error) {
+      console.error('[前端] 处理自动登录时出错:', error);
+      alert('自动登录失败: ' + error.message);
+    }
     
-    // 直接跳转,让后端处理
-    window.location.href = autoLoginUrl;
+    console.log('========================================');
   } else {
     // 普通链接,允许默认行为
     console.log('[前端] 普通链接:', link.name, link.url);