Files
eh-downloader/frontend/wailsjs/go/main/App.js
T
toor 0f927147cd feat: EH Downloader 用 Go + Wails v2 重写
原 Electron 版在这台 Windows 机器上无法启动(0x80000003 崩在 V8 初始化),
整个业务逻辑用 Go 重写,前端界面与协议结论完全保留。

- internal/eh: 协议核心,画廊页分页 -> /s/ -> hath 直链 -> 下载
- internal/core: 并发引擎 / 状态存储 / 目录模板 / 油猴桥口
- app.go: Wails 绑定层,替代 Electron IPC
- frontend/js/api.js: 适配层,renderer.js 一行未改
- 37 个测试,含 httptest 模拟 EH 的端到端链路验证

相比 Electron 版:90MB -> 12.4MB,180MB 内存 -> 27MB,构建 90s -> 2s。

顺带修掉原版代理探测的 bug(永远返回第一个端口,从不等连接结果)。
2026-10-08 23:28:16 +08:00

80 lines
1.8 KiB
JavaScript

// @ts-check
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
export function AddTasks(arg1) {
return window['go']['main']['App']['AddTasks'](arg1);
}
export function ClearAll(arg1) {
return window['go']['main']['App']['ClearAll'](arg1);
}
export function ClearFinished() {
return window['go']['main']['App']['ClearFinished']();
}
export function CountDone() {
return window['go']['main']['App']['CountDone']();
}
export function ExportFailed(arg1) {
return window['go']['main']['App']['ExportFailed'](arg1);
}
export function GetSettings() {
return window['go']['main']['App']['GetSettings']();
}
export function ListTasks() {
return window['go']['main']['App']['ListTasks']();
}
export function OpenPath(arg1) {
return window['go']['main']['App']['OpenPath'](arg1);
}
export function PickDir() {
return window['go']['main']['App']['PickDir']();
}
export function Placeholders() {
return window['go']['main']['App']['Placeholders']();
}
export function PreviewDir(arg1) {
return window['go']['main']['App']['PreviewDir'](arg1);
}
export function RemoveTask(arg1, arg2) {
return window['go']['main']['App']['RemoveTask'](arg1, arg2);
}
export function RequeueFailed() {
return window['go']['main']['App']['RequeueFailed']();
}
export function SelectAll(arg1) {
return window['go']['main']['App']['SelectAll'](arg1);
}
export function SetSettings(arg1) {
return window['go']['main']['App']['SetSettings'](arg1);
}
export function ShowItem(arg1) {
return window['go']['main']['App']['ShowItem'](arg1);
}
export function Start(arg1) {
return window['go']['main']['App']['Start'](arg1);
}
export function Status() {
return window['go']['main']['App']['Status']();
}
export function Stop() {
return window['go']['main']['App']['Stop']();
}