11
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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()));
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user