// frontend script (JS)
// 一键清理所有笔记修改历史
(async function clearNoteRevisions() {
try {
// 显示加载提示
api.showMessage("开始清理笔记修改历史,请稍候...");
// 后端执行逻辑(通用写法,避免 runOnBackend 兼容性问题)
const deletedCount = await new Promise((resolve, reject) => {
// 模拟/替换后端执行逻辑(根据实际平台调整)
// 如果你的平台支持直接调用后端 API,替换这里的逻辑
try {
// ********** 后端执行区域 **********
// 先统计数量
const count = api.sql.getValue("SELECT COUNT(*) FROM note_revisions");
api.log(`准备删除 ${count} 条历史记录...`);
// 直接全部删除(最快,适合大数据量)
api.sql.execute("DELETE FROM note_revisions");
// 如需逐行删除(适合小数据量,更安全),取消下面注释:
/*
const revisions = api.sql.getRows("SELECT noteRevisionId FROM note_revisions");
for (const rev of revisions) {
api.sql.execute("DELETE FROM note_revisions WHERE noteRevisionId = ?", [rev.noteRevisionId]);
}
*/
// ********** 后端执行结束 **********
resolve(count);
} catch (backendErr) {
reject(backendErr);
}
});
// 前端反馈结果
api.showMessage(`成功清理 ${deletedCount} 条笔记修改历史!`);
api.log(`已删除 ${deletedCount} 条 note_revisions 记录。`);
} catch (err) {
// 全局错误处理
api.showError("清理失败:" + err.message);
api.log("错误详情:", err);
}
})();