@@ -14,7 +14,7 @@ title: 插件开发
14
14
:::: steps
15
15
16
16
1 . clone 最新 fba 项目到本地并配置好开发环境
17
- 2 . 根据插件模板的目录结构进行插件开发
17
+ 2 . 根据插件模板的 [ 目录结构 ] ( #插件目录结构 ) 和其他配置说明进行插件开发
18
18
3 . 完成插件开发
19
19
4 . 使用插件模板仓库创建个人仓库,并将插件代码更新至个人仓库
20
20
@@ -26,7 +26,7 @@ title: 插件开发
26
26
27
27
::::
28
28
29
- ### 插件目录结构说明
29
+ ### 插件目录结构
30
30
31
31
::: file-tree
32
32
@@ -42,27 +42,57 @@ title: 插件开发
42
42
- service/ 服务
43
43
- utils/ 工具包,如果插件无需独立工具,则无需此目录
44
44
- \_\_ init__ .py 作为 python 包保留(必须项)
45
- - conf.py 配置,如果插件不需要独立配置 ,则无需此文件
46
- - plugin.toml 插件配置 (必填项)
45
+ - conf.py 常量配置,如果插件不需要独立常量配置 ,则无需此文件
46
+ - plugin.toml 插件配置文件 (必填项)
47
47
- README.md 插件使用说明
48
48
- requirements.txt 依赖包文件(非必须项)如果插件不需要安装额外依赖,则无需此文件
49
49
50
50
:::
51
51
52
- ::: warning 插件接口附加说明
52
+ ### 插件接口
53
53
54
54
- 如果插件作为独立 app 发布(在 ` backend/app ` 目录下的应用,视为独立
55
55
app),则插件路由应完全遵循 [ 路由结构] ( ../guide/reference/router.md#路由结构 ) 进行定义
56
- - 如果插件作为现有 app 扩展功能发布,则插件路由应当根据现有 app 中的路由结构进行 1:1 结构复制,可参考 fba
56
+ - 如果插件作为现有 app 扩展功能发布,则插件路由必须根据现有 app 中的路由结构进行 1:1 结构复制,可参考 fba
57
57
源码中的内置插件 [ notice] ( https://github.com/fastapi-practices/fastapi_best_architecture/tree/master/backend/plugin/notice/api )
58
58
59
- :::
60
-
61
- ### 插件路由说明
59
+ ### 插件路由
62
60
63
61
如果插件符合插件开发的要求,则插件的所有路由都将自动注入到 FastAPI 应用中,无需任何其他操作,但值得注意的是,启动时间可能会随着插件数量的递增而增加,因为
64
62
fba 会在启动前对所有插件进行解析
65
63
64
+ ### 插件配置
65
+
66
+ ` plugin.toml ` 是插件的配置文件,它必须存在,此配置文件根据插件的属性进行定义
67
+
68
+ - 非独立 app
69
+
70
+ ``` toml
71
+ # app 配置
72
+ [app ]
73
+ # 此插件属于哪个 app
74
+ include = ' '
75
+
76
+ # api 配置
77
+ # xxx 对应的是插件 api 目录下的接口文件名(不包含后缀)
78
+ # 例如接口文件名为 notice.py,则 xxx 应该为 notice
79
+ # 如果包含多个接口文件,则应存在多个相应的 api 配置
80
+ [api .xxx ]
81
+ # 路由前缀,必须以 '/' 开头
82
+ prefix = ' '
83
+ # 标签,用于接口文档
84
+ tags = ' '
85
+ ```
86
+
87
+ - 独立 app
88
+
89
+ ```toml
90
+ # app 配置
91
+ [app ]
92
+ # 插件路由器版本,默认为 v1(可参考源码 `backend/app/admin/api/router.py`)
93
+ router = [' v1' ]
94
+ ```
95
+
66
96
# # 前端
67
97
68
98
一旦 [Vben Admin Antd 下一代实施](https://github.com/fastapi-practices/fba_ui) 生产可用,我们将开启此计划...
0 commit comments