表盘编辑报错
表盘编辑、应用、预览过程中可能出现的报错及说明
本文档汇总 AstroBox 在表盘编辑、自定义文本、字体选择、应用等流程中可能向用户展示的报错信息。
| 触发位置 | 消息 Key | 说明 |
|---|
pages/device/watchfaceEdit.tsx:1071 | device.watchfaces.edit.text.invalid | 文本验证失败 |
pages/device/watchfaceEdit.tsx:1113 | device.watchfaces.edit.text.fontMissing | 文本字面量多字体或无字体 |
pages/device/watchfaceEdit.tsx:1143 | device.watchfaces.edit.applied | 表盘编辑应用成功 |
pages/device/watchfaceEdit.tsx:1147 | device.watchfaces.edit.applyFailed | 表盘编辑应用失败 |
pages/device/watchfaceEdit.tsx:1230 | device.watchfaces.edit.text.fontReadFailed | 字体文件读取失败 |
| 位置 | 错误消息 | 触发条件 |
|---|
frontapi/device/watchface.rs:10 | format_anyhow(&err) | 获取表盘列表失败 |
frontapi/device/watchface.rs:19 | format_anyhow(&err) | 应用表盘失败 |
frontapi/device/watchface.rs:27 | format_anyhow(&err) | 反编译表盘失败 |
| 位置 | 错误消息 | 触发条件 |
|---|
watchface_edit/commands.rs:126 | err.to_string() | 表盘归档解析错误 |
watchface_edit/commands.rs:197 | format!("{err:#}") | 表盘反编译错误 |
watchface_edit/commands.rs:245 | join parse task: {err} | 异步解析 join 错误 |
watchface_edit/commands.rs:265 | format!("{err:#}") | 表盘应用错误 |
表盘安装任务若失败,taskList.ts 会将错误写入 progressDesc:
queue.watchfaceIdConflict — 表盘 ID 冲突/降级冲突
resource.unknown.type — 文件类型未知
device.connect.noDevice — 安装时无设备连接
| 位置 | 错误消息 | 触发条件 |
|---|
logic/fontSubset.ts:67 | subsetFont: empty text | 字体子集文本为空 |
logic/fontSubset.ts:86 | hb_subset_input_create_or_fail failed | HarfBuzz 输入创建失败 |
logic/fontSubset.ts:92 | hb_subset_or_fail failed (font unsupported?) | HarfBuzz 子集失败 |
logic/fontSubset.ts:97 | subset produced empty font | 字体子集结果为空 |
| 报错 | 建议操作 |
|---|
device.watchfaces.edit.text.invalid | 检查文本内容是否符合表盘规范 |
device.watchfaces.edit.text.fontMissing | 确保只选择了一种字体,或选择有效字体 |
device.watchfaces.edit.text.fontReadFailed | 确认字体文件未损坏,尝试更换字体文件 |
device.watchfaces.edit.applyFailed | 检查设备连接状态,确认表盘文件完整 |
queue.watchfaceIdConflict | 确认是否覆盖安装,或更换不同 ID 的表盘 |
hb_subset_or_fail failed | 字体文件可能不兼容,尝试使用标准 TTF/OTF 字体 |
subset produced empty font | 确认文本内容不为空,且字体支持对应字符 |