仰望星辰工作室

starmusic-pc

starmusic-pc/ frontend/src/common/file-picker.js 863 B · 21 行 原始文件
1/**
2 * 本地文本文件选择器(PC 版)
3 *
4 * - 首选 Wails 原生文件对话框(Go 侧读取文本,返回 name + content),体验与桌面软件一致;
5 * - 原生桥不可用时(浏览器调试 / 开发模式)回退 <input type=file> + FileReader。
6 */
7import { pickTextFileNative, pickTextFileByInput } from '../uni/native.js'
8
9/** 用户主动取消选择时抛出的错误信息,调用方可据此静默处理 */
10export const PICK_CANCELED = 'PICK_CANCELED'
11
12/**
13 * 选择一个本地文本文件并返回其内容
14 * @param {string} [accept] 浏览器回退时的 accept 过滤(如 '.js')
15 * @returns {Promise<{name: string, content: string, path?: string}>}
16 */
17export const pickTextFile = async (accept) => {
18 const native = await pickTextFileNative(accept)
19 if (native) return native
20 return pickTextFileByInput(accept)
21}