// 测试清理功能的脚本 async function testCleanup() { try { // 打开数据库 const request = indexedDB.open('NanoBananaDB', 1); request.onsuccess = function(event) { const db = event.target.result; // 读取生成记录 const transaction = db.transaction(['generations'], 'readonly'); const store = transaction.objectStore('generations'); const getAllRequest = store.getAll(); getAllRequest.onsuccess = function(event) { const generations = event.target.result; console.log('生成记录数量:', generations.length); // 检查是否有base64数据 let base64Count = 0; for (const generation of generations) { for (const asset of generation.sourceAssets || []) { if (asset.url && asset.url.startsWith('data:')) { console.log('发现base64源资产:', asset.url.substring(0, 50) + '...'); base64Count++; } } for (const asset of generation.outputAssets || []) { if (asset.url && asset.url.startsWith('data:')) { console.log('发现base64输出资产:', asset.url.substring(0, 50) + '...'); base64Count++; } } } console.log('总共发现base64资产数量:', base64Count); // 读取编辑记录 const editTransaction = db.transaction(['edits'], 'readonly'); const editStore = editTransaction.objectStore('edits'); const getAllEditsRequest = editStore.getAll(); getAllEditsRequest.onsuccess = function(event) { const edits = event.target.result; console.log('编辑记录数量:', edits.length); // 检查是否有base64数据 let editBase64Count = 0; for (const edit of edits) { if (edit.maskReferenceAsset && edit.maskReferenceAsset.url && edit.maskReferenceAsset.url.startsWith('data:')) { console.log('发现base64遮罩参考资产:', edit.maskReferenceAsset.url.substring(0, 50) + '...'); editBase64Count++; } for (const asset of edit.outputAssets || []) { if (asset.url && asset.url.startsWith('data:')) { console.log('发现base64编辑输出资产:', asset.url.substring(0, 50) + '...'); editBase64Count++; } } } console.log('编辑记录中总共发现base64资产数量:', editBase64Count); console.log('清理前总共base64资产数量:', base64Count + editBase64Count); db.close(); }; }; }; request.onerror = function(event) { console.error('打开数据库失败:', event.target.error); }; } catch (error) { console.error('测试过程中出错:', error); } } // 运行测试 testCleanup();