This commit is contained in:
fengchuanhn@gmail.com
2026-05-17 23:29:00 +08:00
parent c70995fbc9
commit 231e4167d3
6 changed files with 29 additions and 5 deletions

View File

@@ -4,7 +4,8 @@
# Tauri Rust 请求后端基址(拉取 appConfig、脚本等
# AICLIENT_API_BASE=http://127.0.0.1:8001
# ffmpeg抖音流水线提音频必需放入 src-tauri/binaries/ffmpeg.exe 或设置绝对路径
# AICLIENT_FFMPEG_PATH=C:/path/to/ffmpeg.exe
# 应用配置在 pythonbackend 的 MySQL 表 desktop_configsname/value
# 登录后自动同步Node 流水线通过环境变量 AICLIENT_CFG_<NAME> 读取。

View File

@@ -65,13 +65,18 @@ pub async fn request_json(
let res = req.send().await.map_err(|e| {
if e.is_connect() {
println!("无法连接服务器,请确认后端已启动");
"无法连接服务器,请确认后端已启动".to_string()
} else {
println!("e: {}", e);
e.to_string()
}
})?;
let status = res.status().as_u16();
println!("status: {}", status);
let encrypted = res
.headers()
.get(ENCRYPTED_HEADER)

View File

@@ -211,6 +211,7 @@ impl AppConfig {
self.clear_server().await;
return Ok(());
}
match fetch_from_server(token).await {
Ok(map) => {
let mut g = self.inner.write().await;
@@ -243,10 +244,15 @@ async fn fetch_from_server(token: &str) -> Result<HashMap<String, String>, AppCo
format!("Bearer {}", token.trim()),
);
let (status, v) = crate::api_client::request_json("GET", "/appConfig", None, headers)
.await
.map_err(|e| AppConfigError::Fetch(e))?;
let (status, v) = match crate::api_client::request_json("GET", "/appConfig", None, headers).await
{
Ok(pair) => pair,
Err(e) => {
log::warn!(target: "app_config", "GET /appConfig 请求失败(未拿到响应体): {e}");
println!("GET /appConfig 请求失败(未拿到响应体): {e}");
return Err(AppConfigError::Fetch(e));
}
};
if status == 401 {
return Err(AppConfigError::Fetch("未认证或令牌已失效".into()));
}

View File

@@ -43,6 +43,11 @@ pub fn locate_ffmpeg() -> Option<PathBuf> {
if flat.exists() {
return Some(flat);
}
// target/debug/tauri-app.exe → src-tauri/binaries/ffmpeg.exe
let dev_bin = dir.join("..").join("..").join("binaries").join(exe_name());
if dev_bin.exists() {
return Some(dev_bin);
}
}
}
let dev = PathBuf::from("src-tauri/binaries").join(exe_name());

View File

@@ -364,6 +364,11 @@ async fn run_script_bundle(
for (key, value) in config_env {
cmd.env(key, value);
}
if let Some(ffmpeg_path) = crate::ffmpeg::locate_ffmpeg() {
if ffmpeg_path.exists() {
cmd.env("AICLIENT_FFMPEG_PATH", ffmpeg_path);
}
}
let mut child = cmd.spawn()?;
// 把 params JSON 灌进 stdin

View File

@@ -48,6 +48,8 @@ async function loadAll() {
invoke("list_local_app_config"),
invoke("get_app_config_detail"),
]);
// console.log("local",local)
// console.log("detail",detail)
localItems.value = Array.isArray(local) ? local : [];
mergedDetail.value = Array.isArray(detail) ? detail : [];
} catch (err) {