进阶与排错

高级

高级与实验性 API

稳定性:advanced。本页能力已在当前源码实现,但接口成熟度、转换规则或跨部署兼容性不足以标为 stable;上线前必须用目标数据和目标环境评估。

getReportHtmlContent

方法签名:

getReportHtmlContent(options, Vue?): Promise<string>

它生成报表 HTML 字符串,不直接打印。实现会从 printOptions 移除 businessId、续打偏移、配置面板和 viewPdf。HTML 可能包含与当前样式、字体和资源路径相关的内容,保存或发送前要完成安全与资源可达性评估。

const html = await api.getReportHtmlContent(
  {
    reportOptions: {
      reportCode: "sales-summary",
      reportVersion: "1.0.0",
    },
    printOptions: {},
  },
  Vue,
);

convertWidgetReportToMobile

该转换属于实验性子能力。方法签名:

interface WidgetReportToMobileOptions {
  sourceReportCode: string;
  sourceReportVersion: string;
  targetReportName: string;
  targetReportCode: string;
  targetCategoryId?: string;
}

interface WidgetReportToMobileResult {
  targetReportCode: string;
  targetReportVersion: string;
  targetReportName: string;
}

convertWidgetReportToMobile(options): Promise<WidgetReportToMobileResult>

前四项必填;targetCategoryId 省略时沿用源报表目录。当前实现读取 PC 模板,把受支持控件转换为移动组件、过滤不支持的事件和部分控件,重建为两列表单,再调用创建接口。目标模板创建版本当前写为 1.0.1,这是实现细节,不应被当作永久版本策略。

const result = await api.convertWidgetReportToMobile({
  sourceReportCode: "sales-summary",
  sourceReportVersion: "1.0.0",
  targetReportName: "Sales summary mobile",
  targetReportCode: "sales-summary-mobile",
  targetCategoryId: "YOUR_CATEGORY_ID",
});

当前映射覆盖 button、select、radiogroup、checkboxgroup、datePicker/datePickerQuick 和 input;checkbox、timePicker、upload、richtext 会被忽略。部分控件属性、事件和复杂布局会丢失,转换后必须人工审阅并在副本上测试。常见失败包括必填参数缺失、源模板不存在/无法解析、目标标识冲突和创建接口失败。

iframe 模式差异

两者都是顶层 ExportApi 方法,不是 iframe 运行时代理方法。

相关 API

API 概览与访问方式、状态码与错误排查。

常见错误

不要直接转换唯一的生产报表;先复制并使用占位目录 YOUR_CATEGORY_ID 对应的测试目录。HTML 内容也不要未经清理直接插入不可信页面。