import { ElMessage } from "element-plus"; import { clientRuntime, openFile, pickFiles, saveFile, type FileOutput, type FilePickerOptions, type SaveFileResult, } from "../runtime"; const selectedFilesMessage = (count: number) => (count > 1 ? `已选择 ${count} 个文件` : "已选择 1 个文件"); export const pickFilesWithFeedback = async (options: FilePickerOptions = {}): Promise => { const files = await pickFiles(options); if (files.length) { ElMessage.success(selectedFilesMessage(files.length)); } return files; }; export const saveFileWithFeedback = async (output: FileOutput): Promise => { const result = await saveFile(output); if (result === "cancelled") { ElMessage.info("已取消保存文件"); return result; } ElMessage.success(clientRuntime.capabilities().nativeFiles ? "文件已保存" : "文件下载已开始"); return result; }; export const openFileWithFeedback = async (output: FileOutput): Promise => { await openFile(output); ElMessage.success("文件已打开"); };