mirror of
https://github.com/qingchencloud/clawpanel.git
synced 2026-06-02 06:09:52 +08:00
fix: R2优先级反转 — 平台预装归档优先(零网络),通用tarball兜底(仍需npm)
This commit is contained in:
@@ -1041,7 +1041,17 @@ async fn try_r2_install(
|
||||
.and_then(|v| v.as_str())
|
||||
.is_some();
|
||||
|
||||
let (archive_url, expected_sha, expected_size) = if use_tarball {
|
||||
let (archive_url, expected_sha, expected_size) = if let Some(a) = asset {
|
||||
// 优先平台预装归档(直接解压,零网络依赖,最快)
|
||||
(
|
||||
a.get("url")
|
||||
.and_then(|v| v.as_str())
|
||||
.ok_or("归档 URL 缺失")?,
|
||||
a.get("sha256").and_then(|v| v.as_str()).unwrap_or(""),
|
||||
a.get("size").and_then(|v| v.as_u64()).unwrap_or(0),
|
||||
)
|
||||
} else if use_tarball {
|
||||
// 其次通用 tarball(需要 npm install,仍有网络依赖)
|
||||
let t = tarball.unwrap();
|
||||
(
|
||||
t.get("url")
|
||||
@@ -1050,14 +1060,6 @@ async fn try_r2_install(
|
||||
t.get("sha256").and_then(|v| v.as_str()).unwrap_or(""),
|
||||
t.get("size").and_then(|v| v.as_u64()).unwrap_or(0),
|
||||
)
|
||||
} else if let Some(a) = asset {
|
||||
(
|
||||
a.get("url")
|
||||
.and_then(|v| v.as_str())
|
||||
.ok_or("归档 URL 缺失")?,
|
||||
a.get("sha256").and_then(|v| v.as_str()).unwrap_or(""),
|
||||
a.get("size").and_then(|v| v.as_u64()).unwrap_or(0),
|
||||
)
|
||||
} else {
|
||||
return Err(format!("CDN 无 {source_key} 可用归档"));
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user