diff --git a/backend/database.js b/backend/database.js index 0a5c591..6667532 100644 --- a/backend/database.js +++ b/backend/database.js @@ -333,13 +333,31 @@ const ShareDB = { // 根据分享码查找 findByCode(shareCode) { - return db.prepare(` + // 调试日志: findByCode 调用 + const currentTime = db.prepare("SELECT datetime('now') as now").get(); + console.log('[ShareDB.findByCode]', { + shareCode, + currentTime: currentTime.now, + timestamp: new Date().toISOString() + }); + + const result = db.prepare(` SELECT s.*, u.username, u.ftp_host, u.ftp_port, u.ftp_user, u.ftp_password, u.http_download_base_url FROM shares s JOIN users u ON s.user_id = u.id WHERE s.share_code = ? AND (s.expires_at IS NULL OR s.expires_at > datetime('now')) `).get(shareCode); + + // 调试日志: SQL查询结果 + console.log('[ShareDB.findByCode] SQL结果:', { + found: !!result, + shareCode: result?.share_code || null, + expires_at: result?.expires_at || null, + share_type: result?.share_type || null + }); + + return result; }, // 根据ID查找 diff --git a/backend/server.js b/backend/server.js index 13a8a66..1fc94af 100644 --- a/backend/server.js +++ b/backend/server.js @@ -1582,8 +1582,26 @@ app.post('/api/share/:code/verify', shareRateLimitMiddleware, async (req, res) = let storage; try { + + // ===== 调试日志: 分享验证开始 ===== + console.log('[分享验证]', { + timestamp: new Date().toISOString(), + shareCode: code, + hasPassword: !!password, + requestIP: req.ip + }); + const share = ShareDB.findByCode(code); + + // 调试日志: findByCode 结果 + console.log('[分享验证] findByCode结果:', { + found: !!share, + expires_at: share?.expires_at || null, + current_time: new Date().toISOString(), + is_expired: share?.expires_at ? new Date(share.expires_at) <= new Date() : false + }); + if (!share) { return res.status(404).json({ success: false, @@ -1743,8 +1761,27 @@ app.post('/api/share/:code/list', shareRateLimitMiddleware, async (req, res) => let storage; try { + + // ===== 调试日志: 获取分享文件列表 ===== + console.log('[获取文件列表]', { + timestamp: new Date().toISOString(), + shareCode: code, + subPath: subPath, + hasPassword: !!password, + requestIP: req.ip + }); + const share = ShareDB.findByCode(code); + + // 调试日志: findByCode 结果 + console.log('[获取文件列表] findByCode结果:', { + found: !!share, + expires_at: share?.expires_at || null, + current_time: new Date().toISOString(), + is_expired: share?.expires_at ? new Date(share.expires_at) <= new Date() : false + }); + if (!share) { return res.status(404).json({ success: false,