资源下载报错

资源下载流程中可能出现的报错及说明

本文档汇总 AstroBox 在从官方源、三方源、加密资源下载等流程中可能向用户展示的报错信息。


一、Toast 弹窗报错

下载辅助函数 (downloadhelper)

触发位置消息说明
logic/queue/downloadhelper.ts:156resource.unknown.type + 资源名下载完成后 device_get_file_type 无法映射类型
logic/queue/downloadhelper.ts:459resource.unknown.type + 资源名manifest.item.restype 无法解析
logic/queue/downloadhelper.ts:543localizedMessageresource.purchase.invalidSignature / hashMismatch / invalidPayload 或原始消息)请求加密资源信息失败(非 file_not_found
logic/queue/downloadhelper.ts:558resource.purchase.decryptFailedcommprov_resource_file_decrypt 失败
logic/queue/downloadhelper.ts:344device.firmware.sharedTauri 移动端系统分享文件成功
logic/queue/downloadhelper.ts:368device.firmware.savedTo + 保存路径桌面端保存成功
logic/queue/downloadhelper.ts:388device.firmware.savedTo + 文件名Web 端 Blob 下载成功

资源详情页 (Hero)

触发位置消息说明
components/resource/detail/Hero.tsx:381resource.purchase.trialDownloadUnavailable试用入口无 URL 且无法解析
components/resource/detail/Hero.tsx:395err?.message ?? err解析试用入口失败
components/resource/detail/Hero.tsx:508resource.unavailable无外部下载 URL
components/resource/detail/Hero.tsx:569resource.purchase.emptyCdkCDK 码为空
components/resource/detail/Hero.tsx:575resource.purchase.activateSuccessCDK 兑换成功
components/resource/detail/Hero.tsx:579err?.message ?? errCDK 兑换失败
components/resource/detail/Hero.tsx:608resource.purchase.linkUnavailable购买选项无购买链接
components/resource/detail/Hero.tsx:852common.copied分享链接复制成功
components/resource/detail/Hero.tsx:855common.copyFailed分享链接复制失败

固件页面

触发位置消息说明
pages/device/firmware.tsx:540device.firmware.enqueued固件下载并安装入队
pages/device/firmware.tsx:574device.firmware.downloadQueued全量包下载入队
pages/device/firmware.tsx:607device.firmware.downloadQueued差分包下载入队

二、队列内嵌报错(progressDesc)

taskList.ts 捕获下载 action 异常后写入任务卡片:

来源典型错误消息触发场景
downloadhelper.tsNo downloadable artifact found无可用下载产物
downloadhelper.tsresource.purchase.invalidSignature加密资源签名无效
downloadhelper.tsresource_crypto_hash_mismatch加密资源哈希不匹配
downloadhelper.tsresource_crypto_invalid_payload加密资源无效 payload
downloadhelper.tsresource.purchase.decryptFailed资源解密失败
downloadhelper.tsresource.unknown.type + 资源名下载完成后类型无法识别

三、Rust 后端返回错误

社区提供商

位置错误消息触发条件
frontapi/provider.rs:185err.to_string()提供商分发失败
frontapi/provider.rs:191Plugin provider download timed out after {secs}s提供商下载超时
frontapi/provider.rs:198Plugin provider download failed: {err}提供商下载失败
frontapi/provider.rs:294Plugin provider download returned an empty result空提供商结果
frontapi/provider.rs:418/430/501/530/586/656Provider not found提供商查找失败
frontapi/provider.rs:691Invalid AES-256 key format密钥格式验证
位置错误消息触发条件
local_api/handlers.rs:515missing id下载验证缺少 ID
local_api/handlers.rs:528err下载错误
local_api/handlers.rs:540download entry not found下载条目缺失
local_api/handlers.rs:552device is required when OfficialV2 download url is unresolvedOfficialV2 下载缺少设备参数
local_api/handlers.rs:570err下载解析错误
local_api/handlers.rs:583download url is unavailable for this provider/item下载 URL 不可用

图片/数据工具

位置错误消息触发条件
frontapi/utils.rs:14fetch error: {e}远程数据获取失败
frontapi/utils.rs:18/33resource too large资源大小超限
frontapi/utils.rs:31read error: {e}远程数据读取失败

四、WASM / 逻辑层抛错

位置错误消息触发条件
logic/queue/downloadhelper.ts:114No downloadable artifact found无可用下载产物
logic/queue/downloadhelper.ts:323Expected temporary file download result in Tauri runtimeTauri 运行时临时文件结果缺失
logic/queue/downloadhelper.ts:372Expected in-memory download result in web runtimeWeb 运行时内存结果缺失
logic/queue/downloadhelper.ts:440resource.purchase.trialDownloadUnavailable试用下载不可用
logic/queue/downloadhelper.ts:544localizedMessage(签名/哈希/解密错误)加密资源处理失败
logic/queue/downloadhelper.ts:559message解密失败
logic/resourceCrypto.ts:40resource_crypto_invalid_payload加密资源无效 payload
logic/resourceCrypto.ts:43resource_crypto_hash_mismatch加密资源哈希不匹配
logic/resourceCrypto.ts:54resource_crypto_invalid_signature加密资源签名无效
logic/networkHttp.ts:157描述非 JSON 响应体HTTP 非 JSON 响应
logic/networkHttp.ts:199/218/236/250/337HTTP 错误详情HTTP 请求失败
components/resource/detail/Hero.tsx:203OfficialV2 device map is not readyOfficialV2 设备映射未就绪

五、常见排查建议

报错建议操作
resource.unknown.type确认资源文件类型正确,或联系资源作者确认
No downloadable artifact found检查资源是否已下架或链接失效
resource.purchase.invalidSignature确认已购买该资源,或重新登录账号刷新授权
resource_crypto_hash_mismatch资源文件可能在传输中损坏,尝试重新下载
resource.purchase.decryptFailed确认网络稳定,或联系资源提供方
Provider not found检查社区源配置,或尝试刷新源列表
download url is unavailable该资源当前无可用下载链接
resource too large资源超过大小限制,联系作者或使用其他渠道
OfficialV2 device map is not ready等待设备映射加载完成,或刷新页面

大纲