Skip to content

Commit 23e036e

Browse files
committed
update docs
1 parent 4eb9048 commit 23e036e

6 files changed

Lines changed: 102 additions & 36 deletions

File tree

docs/.vuepress/components/BannerTop.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
</button>
1616
<p class="vp-banner-text vp-coupon">
1717
<span class="vp-text-primary">代码有 BUG?</span>
18-
<span> 快通过互动与我们反馈吧</span>
18+
<span> 快通过交流群与我们反馈吧</span>
1919
</p>
2020
</div>
2121
</template>

docs/.vuepress/navbar.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ export const myNavbar: ThemeNavItem[] = defineNavbarConfig([
180180
text: '插件市场',
181181
icon: 'mdi:marketplace-outline',
182182
// badge: { text: 'HOT', type: 'danger' },
183-
link: '/market'
183+
link: '/marketplace'
184184
},
185185
]
186186
}

docs/.vuepress/styles/custom.css

Lines changed: 7 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -45,35 +45,11 @@
4545
transform: translateX(-50%);
4646
font-size: 16px;
4747
font-weight: bold;
48-
color: #d91a7a;
48+
color: #ff6b9d;
4949
white-space: nowrap;
5050
padding: 6px 12px;
51-
filter: drop-shadow(0 0 3px rgba(217, 26, 122, 0.4)) drop-shadow(0 0 8px rgba(217, 26, 122, 0.7)) drop-shadow(0 0 15px rgba(217, 26, 122, 1));
52-
animation: neon-glow-flicker-light 3s ease-in-out infinite;
53-
}
54-
55-
[data-theme="dark"] .hero-content::before {
56-
color: #ff6b9d;
5751
filter: drop-shadow(0 0 3px rgba(255, 107, 157, 0.4)) drop-shadow(0 0 8px rgba(255, 107, 157, 0.7)) drop-shadow(0 0 15px rgba(255, 107, 157, 1));
58-
animation: neon-glow-flicker-dark 3s ease-in-out infinite;
59-
}
60-
61-
@keyframes neon-glow-flicker-light {
62-
0%, 18%, 22%, 25%, 53%, 57%, 100% {
63-
filter: drop-shadow(0 0 3px rgba(217, 26, 122, 0.4)) drop-shadow(0 0 8px rgba(217, 26, 122, 0.7)) drop-shadow(0 0 15px rgba(217, 26, 122, 1));
64-
}
65-
20%, 24%, 55% {
66-
filter: drop-shadow(0 0 2px rgba(217, 26, 122, 0.3)) drop-shadow(0 0 5px rgba(217, 26, 122, 0.6)) drop-shadow(0 0 10px rgba(217, 26, 122, 0.9));
67-
}
68-
}
69-
70-
@keyframes neon-glow-flicker-dark {
71-
0%, 18%, 22%, 25%, 53%, 57%, 100% {
72-
filter: drop-shadow(0 0 3px rgba(255, 107, 157, 0.4)) drop-shadow(0 0 8px rgba(255, 107, 157, 0.7)) drop-shadow(0 0 15px rgba(255, 107, 157, 1));
73-
}
74-
20%, 24%, 55% {
75-
filter: drop-shadow(0 0 2px rgba(255, 107, 157, 0.3)) drop-shadow(0 0 5px rgba(255, 107, 157, 0.6)) drop-shadow(0 0 10px rgba(255, 107, 157, 0.9));
76-
}
52+
animation: neon-glow-flicker-light 3s ease-in-out infinite;
7753
}
7854

7955
/* 首页非全屏样式 */
@@ -92,6 +68,11 @@
9268
border-radius: 10px !important;
9369
}
9470

71+
.vp-button.sponsor {
72+
background-color: var(--vp-button-alt-bg) !important;
73+
border: 2px solid var(--vp-c-brand-1) !important;
74+
}
75+
9576
/* 首页全屏时向下的箭头 */
9677
.vp-sign-down {
9778
color: var(--vp-c-brand-1) !important;

docs/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ config:
1818
text: 快速上手 ->
1919
link: /backend/summary/quick-start
2020
- theme: sponsor
21-
text: 在线体验
21+
text: 在线体验 ->
2222
link: https://fba.wu-clan.site/
2323
- theme: alt
2424
text: 伪三层架构?

docs/plugin/dev.md

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,8 @@ fba 会在每次启动前对所有插件进行实时解析
5757
```toml
5858
# 插件信息
5959
[plugin]
60+
# 图标(插件仓库内的图标路径或图标链接地址)
61+
icon = 'assets/icon.svg'
6062
# 摘要(简短描述)
6163
summary = ''
6264
# 版本号
@@ -65,19 +67,33 @@ version = ''
6567
description = ''
6668
# 作者
6769
author = ''
70+
# 标签
71+
# 当前支持:ai、mcp、agent、rag、permission、sso、rbac、auth、ldap、
72+
# storage、notification、task、other
73+
tags = ['']
74+
# 数据库支持
75+
# 当前支持:mysql、pgsql、postgresql
76+
database = ['']
6877

6978
# 应用配置
7079
[app]
7180
# 路由器最终实例
7281
# 可参考源码:backend/app/admin/api/router.py,通常默认命名为 v1
7382
router = ['v1']
83+
84+
# 代码中的配置项(全大写)
85+
# 该配置项为可选,详情请查看:热插拔
86+
[settings]
87+
XXX = X
7488
```
7589

7690
@tab <Icon name="fluent:table-simple-include-16-regular" />扩展级插件
7791

7892
```toml
7993
# 插件信息
8094
[plugin]
95+
# 图标(插件仓库内的图标路径或图标链接地址)
96+
icon = 'assets/icon.svg'
8197
# 摘要(简短描述)
8298
summary = ''
8399
# 版本号
@@ -86,6 +102,13 @@ version = ''
86102
description = ''
87103
# 作者
88104
author = ''
105+
# 标签
106+
# 当前支持:ai、mcp、agent、rag、permission、sso、rbac、auth、ldap、
107+
# storage、notification、task、other
108+
tags = ['']
109+
# 数据库支持
110+
# 当前支持:mysql、pgsql、postgresql
111+
database = ['']
89112

90113
# 应用配置
91114
[app]
@@ -101,6 +124,11 @@ extend = '应用文件夹名称'
101124
prefix = ''
102125
# 标签,用于 Swagger 文档
103126
tags = ''
127+
128+
# 代码中的配置项(全大写)
129+
# 该配置项为可选,详情请查看:热插拔
130+
[settings]
131+
XXX = X
104132
```
105133

106134
:::
@@ -133,6 +161,7 @@ fba 内所有官方实现都同时兼容 mysql 和 postgresql,但我们不对
133161
- init.sql 自增 id 模式
134162
- init_snowflake.sql 雪花 id 模式
135163
- utils/ 工具包
164+
- .env.example 环境变量
136165
- __init__.py 作为 python 包保留 <Badge type="danger" text="必须" />
137166
- … 更多内容,例如 enums.py...
138167
- plugin.toml 插件配置文件 <Badge type="danger" text="必须" />
@@ -141,6 +170,62 @@ fba 内所有官方实现都同时兼容 mysql 和 postgresql,但我们不对
141170

142171
:::
143172

173+
### 全局配置
174+
175+
fba 采用全局单配置文件(类似 Django),我们的标准做法是在 `backend/core/conf.py` 中统一添加插件的全局配置,示例如下:
176+
177+
```python
178+
##################################################
179+
# [ Plugin ] email
180+
##################################################
181+
# .env
182+
EMAIL_USERNAME: str
183+
EMAIL_PASSWORD: str
184+
185+
# 基础配置
186+
EMAIL_HOST: str = 'smtp.qq.com'
187+
EMAIL_PORT: int = 465
188+
EMAIL_SSL: bool = True
189+
EMAIL_CAPTCHA_REDIS_PREFIX: str = 'fba:email:captcha'
190+
EMAIL_CAPTCHA_EXPIRE_SECONDS: int = 60 * 3 # 3 分钟
191+
```
192+
193+
整个结构分为【插件配置说明注释】、【插件环境变量配置及注释】、【插件基础配置及注释】,但是,在发布的插件中,我们无法添加这些配置,只能通过
194+
`README` 进行说明,提醒用户如何完成插件配置,可参考 fba 官方插件:[oss](https://github.com/fastapi-practices/oss)
195+
196+
### 热插拔
197+
198+
从 ==v1.13.0=={.warning} 开始,按以下要求进行全局配置,将自动适配热插拔特性
199+
200+
1. 插件环境变量
201+
202+
如果插件需要添加环境变量,则需在插件根目录添加 `.env.example` 文件,并添加环境变量配置,参考如下:
203+
204+
```dotenv:no-line-numbers
205+
# [ Plugin ] email
206+
EMAIL_USERNAME: str
207+
EMAIL_PASSWORD: str
208+
```
209+
210+
2. 插件基础配置
211+
212+
如果插件需要添加基础配置,则需在 [插件配置](#插件配置) 中的 `settings` 配置项中添加基础配置,参考如下:
213+
214+
::: warning
215+
`plugin.toml` 和 `backend/core/conf.py` 中的配置方式完全不同。请格外注意,避免混淆
216+
:::
217+
218+
```toml:no-line-numbers
219+
[settings]
220+
EMAIL_HOST = 'smtp.qq.com'
221+
EMAIL_PORT = 465
222+
EMAIL_SSL = true
223+
EMAIL_CAPTCHA_REDIS_PREFIX = 'fba:email:captcha'
224+
EMAIL_CAPTCHA_EXPIRE_SECONDS = 180 # 3 分钟
225+
```
226+
227+
完成以上配置后,如果插件无需更多修改,通过 [CLI 或 Git](./install.md) 方式安装插件后,将无损适配热插拔
228+
144229
## 前端
145230
146231
::: steps

docs/plugin/install.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,13 @@ title: 插件安装
1212
3. 根据插件说明(README.md)进行相关配置
1313
4. 重启服务
1414

15+
@tab GIT
16+
17+
1. 获取插件 git 仓库地址,理论上支持任何平台(GitHub、Gitlab、Gitee、Gitea...)
18+
2. 通过 fba git 插件安装接口进行安装
19+
3. 根据插件说明(README.md)进行相关配置
20+
4. 重启服务
21+
1522
@tab ZIP
1623

1724
1. 获取打包好的插件 zip 压缩包 <Badge type="warning" text="二选一" />
@@ -28,13 +35,6 @@ title: 插件安装
2835
3. 根据插件说明(README.md)进行相关配置
2936
4. 重启服务
3037

31-
@tab GIT
32-
33-
1. 获取插件 git 仓库地址,理论上支持任何平台(GitHub、Gitlab、Gitee、Gitea...)
34-
2. 通过 fba git 插件安装接口进行安装
35-
3. 根据插件说明(README.md)进行相关配置
36-
4. 重启服务
37-
3838
@tab 手动
3939

4040
1. 获取插件仓库源码并下载

0 commit comments

Comments
 (0)