调整,音乐模块
This commit is contained in:
@@ -241,6 +241,21 @@ export const commands = {
|
||||
downloaderInspect: (input: string) => __TAURI_INVOKE<TorrentInfo>("downloader_inspect", { input }),
|
||||
/** 磁力任务:元数据解析成功后,用户勾选文件并确认开始下载 */
|
||||
downloaderSelectBtFiles: (id: string, onlyFiles: number[]) => __TAURI_INVOKE<null>("downloader_select_bt_files", { id, onlyFiles }),
|
||||
/**
|
||||
* 查询环境状态(Python / musicdl / FFmpeg / 桥接进程),设置页「环境检查」面板调用。
|
||||
* 异步命令:子进程探测在阻塞线程池执行,避免冻结主线程/UI。
|
||||
*/
|
||||
musicEnvStatus: () => __TAURI_INVOKE<MusicEnvStatus>("music_env_status"),
|
||||
/** 安装便携 Python + musicdl(幂等),全程推送 music-runtime-install-progress 事件 */
|
||||
musicInstallRuntime: () => __TAURI_INVOKE<MusicEnvStatus>("music_install_runtime"),
|
||||
/** 取消便携运行时安装/下载 */
|
||||
musicCancelRuntimeInstall: () => __TAURI_INVOKE<null>("music_cancel_runtime_install"),
|
||||
/** 停止桥接进程 */
|
||||
musicStopBridge: () => __TAURI_INVOKE<null>("music_stop_bridge"),
|
||||
/** 读取音乐模块设置 */
|
||||
musicGetSettings: () => __TAURI_INVOKE<MusicSettings>("music_get_settings"),
|
||||
/** 保存音乐模块设置(立即生效) */
|
||||
musicSaveSettings: (settings: MusicSettings) => __TAURI_INVOKE<null>("music_save_settings", { settings }),
|
||||
/** 禁用指定窗口(按 label 查找)的显示/隐藏过渡动画,消除覆盖层出现/消失时的缩放动画 */
|
||||
screenshotDisableTransitions: (label: string) => __TAURI_INVOKE<null>("screenshot_disable_transitions", { label }),
|
||||
/** 一次 IPC 完成指定窗口的显示与聚焦(截图覆盖层显示关键路径,减少串行往返) */
|
||||
@@ -305,6 +320,20 @@ export const commands = {
|
||||
width: number,
|
||||
height: number,
|
||||
} | null, auto: boolean) => __TAURI_INVOKE<null>("screenshot_scroll_start", { hwnd, region, auto }),
|
||||
/**
|
||||
* 滚动模式遮罩挖孔:在截图覆盖层窗口上挖出选区带的真孔(region = None 时复位整窗)。
|
||||
*
|
||||
* Chromium 系浏览器(Edge/Chrome)的窗口遮挡检测会把被完全覆盖的窗口标记为
|
||||
* occluded 并暂停渲染——滚动截图时覆盖层铺满全屏,网页"看起来完全不滚动"。
|
||||
* 挖孔后目标窗口仅部分被覆盖,恢复渲染与滚轮响应(详见 capture::set_scroll_hole)。
|
||||
* 进入滚动模式时带选区调用,会话结束/新一轮截图开始时必须传 None 复位。
|
||||
*/
|
||||
screenshotSetScrollHole: (region: {
|
||||
x: number,
|
||||
y: number,
|
||||
width: number,
|
||||
height: number,
|
||||
} | null) => __TAURI_INVOKE<null>("screenshot_set_scroll_hole", { region }),
|
||||
/** 将 PNG base64 写入系统剪贴板(转 CF_DIB) */
|
||||
screenshotCopyImage: (pngBase64: string) => __TAURI_INVOKE<null>("screenshot_copy_image", { pngBase64 }),
|
||||
/** 将 PNG base64 写入文件 */
|
||||
@@ -522,6 +551,24 @@ export type ExtractResult = {
|
||||
error: string,
|
||||
};
|
||||
|
||||
/** 一条飞牛音乐连接(持久化在 `MusicSettings`)。 */
|
||||
export type FeiniuConnection = {
|
||||
id: string,
|
||||
name: string,
|
||||
/** "lan" | "frp" | "fnconnect"(fnconnect 预留) */
|
||||
kind: string,
|
||||
/** 服务器地址(http://192.168.x.x:5666 或 https://域名) */
|
||||
baseUrl: string,
|
||||
username: string,
|
||||
token: string,
|
||||
deviceId: string,
|
||||
accessCode: string,
|
||||
/** https 遇到自签证书时忽略校验 */
|
||||
insecure: boolean,
|
||||
/** fnconnect 连接的 fnId(如 fnos.net/<id> 或裸 id) */
|
||||
fnId?: string,
|
||||
};
|
||||
|
||||
export type FileEntry = {
|
||||
name: string,
|
||||
path: string,
|
||||
@@ -564,6 +611,74 @@ export type KernelUpdateInfo = {
|
||||
hasUpdate: boolean,
|
||||
};
|
||||
|
||||
/** 环境状态(返回前端,设置页「环境检查」面板展示) */
|
||||
export type MusicEnvStatus = {
|
||||
/** 系统 Python 版本(如 "3.14.5"),无则 None */
|
||||
python: string | null,
|
||||
/** python 来源:"system" | "bundled" | "none" */
|
||||
pythonSource: string,
|
||||
/** 便携 Python 可执行文件路径(未安装则 None) */
|
||||
bundledPython: string | null,
|
||||
/** musicdl 是否可导入 */
|
||||
musicdlInstalled: boolean,
|
||||
/** musicdl 版本 */
|
||||
musicdlVersion: string | null,
|
||||
/** FFmpeg 是否可用(部分音源需要,非必需) */
|
||||
ffmpeg: string | null,
|
||||
/** 桥接进程是否在运行 */
|
||||
bridgeRunning: boolean,
|
||||
/** 运行时目录({app_data_dir}/music) */
|
||||
runtimeDir: string,
|
||||
};
|
||||
|
||||
/** 音乐模块设置(settings.json 持久化;变更即时生效) */
|
||||
export type MusicSettings = {
|
||||
/** 下载保存目录 */
|
||||
savedir: string,
|
||||
/** 搜索源(musicdl 客户端名,如 NeteaseMusicClient) */
|
||||
sources: string[],
|
||||
/** 下载时同步保存歌词 */
|
||||
lyricDownload: boolean,
|
||||
/** 下载时同步保存封面 */
|
||||
coverDownload: boolean,
|
||||
/** 搜索/下载请求是否走代理模块(mihomo mixed 端口) */
|
||||
useProxy: boolean,
|
||||
/** 最大并发下载数 */
|
||||
maxConcurrent: number,
|
||||
/** 下载引擎:"musicdl" | "rust"(P2 生效) */
|
||||
downloadEngine: string,
|
||||
/** 下载时是否弹窗选择音质(默认关;开启后点下载弹出所选歌曲档位并集选择) */
|
||||
selectQualityOnDownload: boolean,
|
||||
/** 下载时默认音质:"" 表示最高;否则为搜索音质档位 label(如 "无损"、"320K") */
|
||||
defaultDownloadQuality: string,
|
||||
/** 飞牛音乐(NAS)连接:服务器地址(如 http://192.168.1.10:5666,空=未配置) */
|
||||
feiniuBaseUrl?: string,
|
||||
/** 飞牛音乐登录 token(登录成功后保存) */
|
||||
feiniuToken?: string,
|
||||
/** 飞牛音乐登录账号(展示 + 重新登录回填用) */
|
||||
feiniuUsername?: string,
|
||||
/** 飞牛音乐设备 ID(32 位 hex,登录签名用,一次生成复用) */
|
||||
feiniuDeviceId?: string,
|
||||
/** 飞牛音乐访问安全码(可选;仅需访问码的库才填,LAN 通常为空) */
|
||||
feiniuAccessCode?: string,
|
||||
/** 飞牛音乐连接列表(多连接:本地 / frp / 预留 fnconnect) */
|
||||
feiniuConnections?: FeiniuConnection[],
|
||||
/** 当前激活连接的 id */
|
||||
feiniuActiveId?: string,
|
||||
/** 本地曲库扫描目录(默认含音乐下载 savedir) */
|
||||
feiniuLocalDirs?: string[],
|
||||
/** 播放缓存开关 */
|
||||
feiniuCacheEnabled?: boolean,
|
||||
/** 缓存上限(GB) */
|
||||
feiniuCacheMaxGb?: number,
|
||||
/** 播放模式:"stream" 直连流式 | "cache" 缓存后播放 */
|
||||
feiniuPlayMode?: string,
|
||||
/** 飞牛曲库目标目录(NAS 绝对路径,如 vol1/1000/Music;上传到飞牛用) */
|
||||
feiniuLibraryNasPath?: string,
|
||||
/** 下载完成后自动上传到飞牛曲库 */
|
||||
feiniuAutoUpload?: boolean,
|
||||
};
|
||||
|
||||
/** 进程信息(返回给前端) */
|
||||
export type ProcessInfo = {
|
||||
id: string,
|
||||
|
||||
Reference in New Issue
Block a user