import React from 'react'; import { buildExportUrl, DEFAULT_EXPORT_TEMPLATE_API, resolveExportAction, resolveExportError, resolveFileName, type ExportTemplateApi, type ExportTemplateOption } from './exportAction'; /** * 列表页统一导出按钮。 * *
导出格式由运维在「导出模板」里配,页面这边只提供 gridKey 和当前筛选条件。 * 一个页面配了几份模板(各客户各一份),这里就出下拉让人挑。
* *没有模板时走 `legacy`——即页面原来那个硬编码的导出接口。 * 老导出接口保留并存,模板配好之前现场照常能导;模板接口挂了也走这条路。 * 三种形态(老接口 / 单模板 / 多模板)长得一样,只有多模板时右边多一个下拉箭头, * 所以运维配不配模板,操作员那边看到的都是同一个按钮。
* * @author nokecy */ export interface ExportButtonProps { /** * 发请求的函数,约定与 umi 的 `request` 一致:`request(url, { method, params, responseType, getResponse, skipErrorHandler })`, * 传 `getResponse: true` 时返回 `{ data, headers }`。宿主在这里带上自己的鉴权、网关前缀与错误处理。 */ request: (url: string, options?: Record