注意!这段代码会删除所有闪卡
注意!这段代码会删除所有闪卡
注意!这段代码会删除所有闪卡
无法恢复!请做好数据备份
打开开发者工具,console 粘贴
// 删除所有闪卡的脚本
async function deleteAllFlashcards() {
try {
console.log("开始获取所有闪卡...");
let allCards = [];
let page = 1;
let hasMore = true;
// 循环获取所有页面的闪卡
while (hasMore) {
console.log(`正在获取第 ${page} 页闪卡...`);
const response = await fetch("/api/riff/getRiffCards", {
headers: {
"content-type": "application/json"
},
body: JSON.stringify({"id": "", "page": page}),
method: "POST",
credentials: "include"
});
const data = await response.json();
if (data.code === 0 && data.data && data.data.blocks) {
const currentPageCards = data.data.blocks;
if (!currentPageCards.length) {
console.log("没有更多闪卡了");
hasMore = false;
} else {
const validCards = currentPageCards.filter(card => card.id);
allCards = allCards.concat(validCards);
console.log(`第 ${page} 页获取到 ${validCards.length} 张闪卡`);
page++;
}
} else {
console.error("获取闪卡失败:", data.msg);
hasMore = false;
}
}
console.log(`总共获取到 ${allCards.length} 张闪卡`);
if (allCards.length === 0) {
console.log("没有需要删除的闪卡");
return;
}
// 提取所有卡片的ID
const cardIds = allCards.map(card => card.id);
console.log("开始删除闪卡...");
// 分批删除,避免请求过大
const batchSize = 50;
for (let i = 0; i < cardIds.length; i += batchSize) {
const batchIds = cardIds.slice(i, i + batchSize);
console.log(`正在删除第 ${Math.floor(i/batchSize) + 1} 批闪卡 (${batchIds.length} 张)...`);
const deleteResponse = await fetch("/api/riff/removeRiffCards", {
headers: {
"content-type": "application/json"
},
body: JSON.stringify({
"deckID": "",
"blockIDs": batchIds
}),
method: "POST",
credentials: "include"
});
const deleteResult = await deleteResponse.json();
if (deleteResult.code === 0) {
console.log(`成功删除 ${batchIds.length} 张闪卡`);
} else {
console.error(`删除失败:`, deleteResult.msg);
}
}
console.log("所有闪卡删除完成!");
} catch (error) {
console.error("执行过程中发生错误:", error);
}
}
// 执行删除操作
deleteAllFlashcards();
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于