/** * 打开一个对话框,让用户选择一个文件,读取 * */ export async function openFile(): Promise<{ file: File; content: string } | null> { return new Promise((resolve) => { const input = document.createElement('input'); input.type = 'file'; input.onchange = async () => { if (input.files && input.files.length > 0) { const file = input.files[0]; const reader = new FileReader(); reader.onload = () => { resolve({ file, content: reader.result as string }); }; reader.onerror = () => { resolve(null); }; reader.readAsText(file); } else { resolve(null); } }; input.click(); }); }