稳定性:stable。下表以当前 errorMaps.ts 的 createError 映射为准。成功返回由具体方法和下游服务决定,不能用一个固定状态码概括。
错误码
| 状态码 | 当前含义 | 排查方向 |
|---|---|---|
| 401 | 缺少报表标识 | 检查 reportCode、reportVersion |
| 402 | 报表模板解析失败 | 检查标识、版本和模板内容 |
| 404 | 报表 API 调用失败 | 检查方法入参和 Vue;注意 handler 缺 Vue 的部分路径会使用此码 |
| 405 | 报表数据获取失败 | 检查数据服务、认证和 serviceInputs |
| 406 | 续打偏移错误 | 检查偏移配置和打印模板 |
| 501 | 未找到打印客户端 | 检查本机服务和版本 |
| 502 | 打印文件失败 | 查看打印客户端日志和驱动 |
| 503 | 打印服务调用失败 | 检查服务连通性和响应 |
| 601 | 挂载点不存在 | 确保 DOM 已创建并传入实际 HTMLElement;不要依赖缺失字符串选择器进入此映射 |
| 602 | Vue 类未定义 | 传入 Vue 或加载 window.Vue |
| 500100001 | 数据集行数超限 | 缩小查询范围或调整服务限制 |
| 500100002 | 数据集配置错误 | 检查数据集字段和查询配置 |
| 500100003 | 数据集查询超时 | 优化查询或检查数据源 |
| 31300013 | 数据连接不存在 | 检查数据连接配置和权限 |
返回值与异常
createError 对未知码返回 { code: -1 }。printAll 另有字符串类型错误,如 PARAM_ERROR、PRINT_ALL_BUSY、REPORT_GENERATE_FAILED;它们不是本表数字映射的一部分。
最小排查示例
try {
const container = document.querySelector("#report-host");
if (!container) throw new Error("Missing #report-host");
await api.mount(
{
reportOptions: {
reportCode: "sales-summary",
reportVersion: "1.0.0",
},
},
container,
Vue,
);
} catch (error) {
if (error?.code === 601) console.error("Create #report-host before mount");
else if (error?.code === 602) console.error("Pass the Vue 2 constructor");
else console.error("BeeReport failed", error);
}
iframe 模式差异
iframe 的代理读取方法可能 reject 子页返回的数据,并不保证转换为 createError 数字码;同时检查父页错误和子页控制台/网络请求。
相关 API
mount 与 unmount、print 与 printAll。
常见错误
打印问题先在最终用户电脑访问 http://127.0.0.1:45111/bios-printer/;报表问题先保留首次 reject 和失败网络响应,不要用重复重试覆盖根因。
