Chenhe 全插件设计很酷,但怎么交互呢? 计划开发文章与评论导入插件,但即使是这两种核心数据也是以插件(extensions)方式保存的。参考了「文章导入导出插件」,似乎是从官方代码库把相关的模型定义复制了过来?这样太太不优雅了,如果未来模型定义变更,岂不是要手动同步定义。 还是说我漏掉了什么信息,开发者文档实在是很简略...
guqing 没有理解你说的”似乎是从官方代码库把相关的模型定义复制了过来“ 是什么,我看了你给出的文章导入导出插件仓库,并没有复制 Post 这些自定义模型,你可以参考 Extension Client 文档来与自定义模型交互,唯一复制的一个类是 AbstractContentService 因为文章的内容存储是增量的要获得真实的文章内容需要增量还原,目前还没有给插件一个公用的逻辑因此这里通过复制逻辑实现且这里的逻辑几乎不可能变因此没有危险
guqing 你可以通过在插件中直接使用 Post 这些 Halo core 中定义的自定义模型,例如使用 client 查询数据 private final ReactiveExtensionClient client; Mono<ListResult<Post>> listPosts() { return client.listBy(Post.class, new ListOptions(), PageRequestImpl.ofSize(10)); }