import { invoke, isTauri } from "@tauri-apps/api/core"; function ensureTauri() { if (!isTauri()) { throw new Error("语音历史需在 Tauri 桌面端使用"); } } /** * @typedef {{ id: number, name: string, filePath: string, sourceText: string, createdAt: string }} GeneratedAudioRecord */ /** @returns {Promise} */ export async function listGeneratedAudios() { ensureTauri(); return invoke("list_generated_audios"); } /** * @param {string} name 可为空,空时由后端填入当前时间 * @param {string} filePath * @param {string} [sourceText] * @returns {Promise} */ export async function insertGeneratedAudio(name, filePath, sourceText = "") { ensureTauri(); return invoke("insert_generated_audio", { name, filePath, sourceText: sourceText || "", }); } /** * @param {number} id * @param {string} name */ export async function updateGeneratedAudioName(id, name) { ensureTauri(); return invoke("update_generated_audio_name", { id, name }); } /** * @param {number} id */ export async function deleteGeneratedAudio(id) { ensureTauri(); return invoke("delete_generated_audio", { id }); }