feat: 新增 Frpc 一键启动与实时日志回显功能

新增一键启动/停止 Frpc 的命令及后端进程管理模块,支持生成配置文件、独立进程拉起、日志实时推送与退出事件通知。新增 Frpc 状态与日志类型定义,同步更新前端仪表盘逻辑以展示运行状态与实时日志。新增中英文启动失败提示文案,完善应用退出时自动终止 Frpc 子进程的逻辑。
This commit is contained in:
Yuhang Wu
2026-10-13 17:35:50 +08:00
parent 85a52dfbe9
commit a6276680cc
13 changed files with 1105 additions and 40 deletions
+26 -1
View File
@@ -1,6 +1,11 @@
import { invoke } from "@tauri-apps/api/core"
import type { ApiResponse } from "@/types/api"
import type { FrpDownload, FrpDownloadPayload, FrpRelease } from "@/types/frp"
import type {
FrpDownload,
FrpDownloadPayload,
FrpRelease,
FrpcStatus,
} from "@/types/frp"
/**
* 调用后端命令并统一解包 ApiResponse。
@@ -42,3 +47,23 @@ export function deleteFrp(id: number) {
export function importFrp() {
return call<FrpDownload[]>("import_frp")
}
/**
* 一键启动 Frpc。
*
* 后端会依据所选版本、已启用的服务器与隧道生成 frpc.toml 并拉起独立进程,
* 随后通过 `frpc-log` / `frpc-exit` 事件回传运行日志与退出信息。
*/
export function startFrpc(downloadId: number) {
return call<FrpcStatus>("start_frpc", { downloadId })
}
/** 停止 Frpc 服务进程 */
export function stopFrpc() {
return call<FrpcStatus>("stop_frpc")
}
/** 获取 Frpc 当前运行状态 */
export function getFrpcStatus() {
return call<FrpcStatus>("get_frpc_status")
}