Skip to content

插件开发

Fastdotnet 采用插件化架构,支持功能的动态扩展和热插拔。本章节将带你从零开始学习如何开发 Fastdotnet 插件。


📖 本章内容


🎯 快速开始

1. 安装 CLI 工具

bash
dotnet tool install -g Fastdotnet.Plugin.CLI

2. 学习 PluginA 演示插件 ⭐

强烈建议:在开始开发之前,先阅读 PluginA 演示插件文档。

PluginA 是官方提供的完整示例,展示了:

  • ✅ 所有技术特性的实际使用
  • ✅ 最佳实践和代码规范
  • ✅ 从开发到部署的完整流程
  • ✅ 常见问题和解决方案

你可以:

  • 📖 阅读 PluginA 的源码和文档
  • 🔍 研究具体的实现细节
  • 🧪 运行和调试 PluginA
  • 💡 借鉴其设计模式

3. 创建你的第一个插件

bash
fd-plugin

按照提示输入插件信息,即可自动生成完整的项目结构。

4. 参考 PluginA 开发

  • 后端:参考 PluginA 的 Controllers、Services、Initializers
  • 前端:参考 PluginA 的 Admin 和 App 项目
  • 调试:将插件复制到宿主应用 Plugins 目录测试

详见各章节详细内容。


🔑 核心概念

插件架构

Plugin/
├── Backend/           # 后端 .NET 10 项目
│   ├── Controllers/   # API 控制器
│   ├── Services/      # 业务服务
│   └── plugin.json    # 插件元数据
└── Frontend/          # 前端 Vue 3 项目
    ├── {Plugin}.Admin/  # 管理端
    └── {Plugin}.App/    # 应用端

技术栈

  • 后端: .NET 10 + SqlSugar ORM + OIDC
  • 前端: Vue 3 + TypeScript + Element Plus + Vite
  • 微前端: qiankun
  • 包管理: pnpm

插件生命周期

创建 → 开发 → 调试 → 打包 → 发布 → 安装 → 运行

📚 学习路径

新手路线

  1. 插件概述 → 理解插件系统
  2. 环境准备 → 安装必要工具
  3. 创建插件 → 生成第一个插件
  4. 后端开发 → 学习 API 开发
  5. 前端开发 → 学习页面开发
  6. 调试与测试 → 本地测试插件
  7. 打包发布 → 发布到插件市场

进阶路线

  1. 微前端集成 → 深入 qiankun
  2. 高级特性 → 事件总线、依赖注入
  3. 性能优化 → 提升插件性能
  4. 最佳实践 → 插件开发规范

💡 常见问题

Q: 如何获取 Plugin ID?

A: 访问 Fastdotnet 官网插件市场,在开发者中心申请唯一的 Plugin ID。

Q: 插件和主程序的关系?

A: 插件是独立的模块,通过接口与主程序交互,可以动态加载和卸载。

Q: 前端为什么分 Admin 和 App?

A:

  • Admin: 管理端,面向管理员,提供配置和管理功能
  • App: 应用端,面向最终用户,提供业务操作界面

Q: 如何调试插件?

A: 将编译后的 DLL 复制到宿主应用的 Plugins/{PluginId}/dependencies/ 目录,启动宿主应用即可。


🔗 相关链接

Released under the MIT License.