ytdlpservice.js 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. // @ts-check
  2. // Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
  3. // This file is automatically generated. DO NOT EDIT
  4. /**
  5. * YTDLPService 是「视频下载」功能的 Wails 服务。
  6. * @module
  7. */
  8. // eslint-disable-next-line @typescript-eslint/ban-ts-comment
  9. // @ts-ignore: Unused imports
  10. import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "@wailsio/runtime";
  11. // eslint-disable-next-line @typescript-eslint/ban-ts-comment
  12. // @ts-ignore: Unused imports
  13. import * as $models from "./models.js";
  14. /**
  15. * Available 检测 PATH 中是否存在 yt-dlp,并返回其路径与版本。
  16. * @returns {$CancellablePromise<$models.YTDLPInfo>}
  17. */
  18. export function Available() {
  19. return $Call.ByID(1705936597).then(/** @type {($result: any) => any} */(($result) => {
  20. return $$createType0($result);
  21. }));
  22. }
  23. /**
  24. * FetchTitle 用 yt-dlp 解析视频标题(不下载),供工具列表显示。
  25. * 解析失败(网络/链接失效等)返回空字符串,由前端回退显示链接。
  26. * @param {string} url
  27. * @returns {$CancellablePromise<string>}
  28. */
  29. export function FetchTitle(url) {
  30. return $Call.ByID(1795836596, url);
  31. }
  32. /**
  33. * GetConfig 读取当前下载配置(每次从设置文件读取,保证与设置页保存结果一致)。
  34. * @returns {$CancellablePromise<$models.YTDLPConfig>}
  35. */
  36. export function GetConfig() {
  37. return $Call.ByID(1661667492).then(/** @type {($result: any) => any} */(($result) => {
  38. return $$createType1($result);
  39. }));
  40. }
  41. /**
  42. * StartDownload 开始下载视频:yt-dlp --newline [-P <目录>] [-x --audio-format mp3] -o "%(title)s.%(ext)s" <url>。
  43. * audioOnly 为 true 时下载并转换为 mp3(需要 ffmpeg)。
  44. * 日志与退出状态分别通过 ytdlp:log / ytdlp:exit 事件推送。
  45. * @param {string} url
  46. * @param {boolean} audioOnly
  47. * @returns {$CancellablePromise<void>}
  48. */
  49. export function StartDownload(url, audioOnly) {
  50. return $Call.ByID(1529748726, url, audioOnly);
  51. }
  52. /**
  53. * StopDownload 终止下载任务(若在运行)。
  54. * @returns {$CancellablePromise<void>}
  55. */
  56. export function StopDownload() {
  57. return $Call.ByID(2755176414);
  58. }
  59. // Private type creation functions
  60. const $$createType0 = $models.YTDLPInfo.createFrom;
  61. const $$createType1 = $models.YTDLPConfig.createFrom;