import { GenerateFiles } from '../generator'; export interface DataSourcePlugin { /** * 插件名 */ name: string; /** * 获取api数据方法 */ onFetchOriginData: (config: DataSourceConfig) => Promise; /** * 生成模板文件列表方法 */ onRenderTemplate: (config: DataSourceConfig, data: DataSourceDocument) => Promise; } export interface DataSourceConfig { /** * 自定义插件 */ plugins?: DataSourcePlugin[]; /** * 插件参数 */ dataSourceOptions: Record; /** * 适配器类型 */ requestAdapter: 'axios' | 'taro' | null; /** * 生成的service相关文件的存储位置 */ outputPath: string; /** * 是否覆盖固定生成的几个文件?一般不建议取消,保持文件最新 */ overwrite: boolean; /** * 是否对api的分组名和名称进行trim */ trim?: boolean; /** * 生成时可忽略的文件集合 */ ignoreFiles?: string[]; /** * 解构response返回的数据层级 */ dataPath?: null | string | string[]; }