| /** | |
| * 错误处理工具函数 | |
| */ | |
| import { DemoFormatError } from './localFileUtils'; | |
| import { tr } from '../lang/i18n-lite'; | |
| /** | |
| * 从错误对象中提取错误消息 | |
| * 支持多种错误类型,提供统一的错误消息提取接口 | |
| * | |
| * @param error 错误对象(可能是 Error、DemoFormatError、SyntaxError 等) | |
| * @param defaultMessage 默认错误消息(当无法提取时使用) | |
| * @returns 错误消息字符串 | |
| */ | |
| export function extractErrorMessage(error: unknown, defaultMessage: string): string { | |
| if (error instanceof DemoFormatError) { | |
| return error.message; | |
| } | |
| if (error instanceof SyntaxError) { | |
| return tr('File is not a valid JSON format'); | |
| } | |
| if (error instanceof Error) { | |
| return error.message; | |
| } | |
| return defaultMessage; | |
| } | |
| /** | |
| * 将可与翻译表精确匹配的 API/后端英文错误转为当前界面语言。 | |
| * 带数字等变化内容的错误一般不翻译,保持服务端返回的英文。 | |
| */ | |
| export function translateApiErrorMessage(message: string): string { | |
| return tr(message); | |
| } | |