Skip to content

Commit 5aa5f25

Browse files
committed
update docs
1 parent 7a982c3 commit 5aa5f25

File tree

7 files changed

+186
-10
lines changed

7 files changed

+186
-10
lines changed

docs/.vuepress/sidebar.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ export const mySidebar: SidebarMulti = {
2020
collapsed: false,
2121
prefix: 'ide/',
2222
items: [
23-
{ text: 'Visual Studio Code', link: 'vscode' }
23+
{ text: 'Visual Studio Code', link: 'vscode' },
24+
{ text: 'Cursor', link: 'cursor' },
2425
]
2526
},
2627
{

docs/code/docker-compose.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,8 @@ services:
157157
restart: always
158158
depends_on:
159159
- fba_rabbitmq
160+
volumes:
161+
- ./deploy/backend/docker-compose/.env.server:/fba/backend/.env
160162
networks:
161163
- fba_network
162164
command:

docs/code/fastapi.mdc

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
您是 FastAPI 和可扩展 API 开发方面的专家,请严格遵守以下编码规则:
2+
3+
## 依赖管理
4+
5+
- 使用 FastAPI 的依赖注入系统管理状态和共享资源
6+
- 遵循项目的依赖版本要求:
7+
- Python 3.10+
8+
- FastAPI
9+
- Pydantic v2
10+
- Pydantic Settings @backend\core\conf.py
11+
- SQLAlchemy 2.0(如果使用 ORM 功能)
12+
- SQLAlchemy 配置: @backend\database\db.py
13+
14+
## SQLAlchemy 规范
15+
16+
- 模型类文档只需描述它是什么表
17+
- 模型类中存在关系属性时在文件开头添加 `from __future__ import annotations`
18+
- 关系属性 Mapped[] 中的类不要使用字符串
19+
20+
## Schema 规范
21+
22+
- schema 类文档只需描述简短几个字
23+
- 为 schema 属性添加 Field
24+
25+
## 路由处理规范
26+
27+
- 同步操作使用 `def`
28+
- 异步操作使用 `async def`
29+
- `api` 目录下的文件自动跳过任何处理
30+
- 使用异步函数处理 I/O 绑定任务
31+
- 理解并遵循 @backend\common\response\response_schema.py 的返回模式
32+
- 保持 API 响应格式的一致性
33+
34+
## 性能优化规范
35+
36+
- 接口函数内的阻塞型事件使用 run_in_threadpool 处理
37+
- 尽量减少阻塞 I/O 操作
38+
- 在所有数据库调用和外部 API 请求中使用异步操作
39+
- 使用 Redis 工具 @backend\database\redis.py,对静态数据和频繁访问的数据实施缓存
40+
- 优先考虑 API 性能指标(响应时间、延迟、吞吐量)
41+
42+
## 错误处理规范
43+
44+
- 使用 FastAPI 的异常处理机制
45+
- 统一错误响应格式
46+
- 根据错误工厂 @backend\common\exception\errors.py 提供清晰的错误信息和错误码
47+
- 记录关键错误信息到日志系统 @backend\common\log.py
48+
49+
## 数据验证规范
50+
51+
- 使用 Pydantic 模型进行数据验证
52+
- 定义清晰的请求和响应模型,参考:@backend\app\admin\schema\user.py
53+
- 不要新增字段验证器
54+
- 提供有意义的验证错误信息

docs/code/python.mdc

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
您是 Python 3.10+ 方面的专家,请严格遵守以下编码规则:
2+
3+
## 类型注解规范
4+
5+
- 使用 Python 3.10+ 的类型/注解语法
6+
- 只在必要时使用 `Any` 类型,如果使用了则必须保留
7+
- 为所有函数参数和返回值添加类型注解,args, kwargs 参数直接忽略注解
8+
- 为字典返回值添加具体的类型注解(如 `dict[str, Any]`)
9+
- 为列表返回值添加具体的类型注解(如 `list[dict[str, str]]`)
10+
11+
## 文档注释规范
12+
13+
- 不要在文件开头添加注释
14+
- 函数文档格式如下:
15+
1. 有参数的函数:
16+
- 使用多行文档字符串
17+
- 跳过第一行
18+
- 编写函数文档
19+
- 空一行
20+
- 参数说明格式为 ":param 参数名: 参数说明"
21+
- 返回说明格式为 ":return: 不添加返回说明"
22+
2. 无参数的函数:
23+
- 使用单行文档字符串
24+
- 只写函数描述
25+
- 描述和引号在同一行
26+
3. 通用要求:
27+
- 函数描述要简洁明了
28+
- 不需要举例说明
29+
- 中英文之间要有空格
30+
- 参数说明要具体和清晰
31+
- 如果函数没有入参且描述只有简短文字,那么引号和内容写在同一行
32+
- 如果函数被 model_validator 或 field_validator 注释,则只需添加函数描述即可
33+
34+
## 代码逻辑规范
35+
36+
- 在保证逻辑清晰的情况下,尽量避免使用多元表达式(如三元运算符)
37+
- 保持代码的可读性和可维护性
38+
- 使用提前返回模式简化代码
39+
- 移除不必要的中间变量
40+
- 添加适当的空行,提高代码可读性
41+
- 优先处理错误和边缘案例
42+
- 只要必要时添加 try
43+
- 对错误条件使用提前返回,以避免嵌套较深的 if 语句
44+
- 避免不必要的 else 语句,而应使用 if-return 模式
45+
- 实施适当的错误记录和用户友好型错误信息
46+
- 使用自定义错误类型或错误工厂进行一致的错误处理
47+
48+
## 代码格式规范
49+
50+
- 统一代码风格
51+
- 保持适当的空行
52+
- 优化长行(超过 120 个字符)的格式
53+
- 使用括号进行换行
54+
- 保持一致的缩进
55+
56+
## 代码注释规范
57+
58+
- 每个 py 文件开头都需添加以下内容
59+
```
60+
#!/usr/bin/env python3
61+
# -*- coding: utf-8 -*-
62+
```
63+
- 合理的注释,避免不必要的注释
64+
- 中英文之间应包加空格
65+
- 注释文字描述应具体和清晰
66+
- 注释要让人视觉上更清晰
67+
68+
## 命名规范
69+
70+
- 变量名要具有描述性
71+
- 避免使用单字母变量名(除非是循环变量)
72+
- 使用下划线命名法(snake_case)
73+
- 类名使用大驼峰命名法(PascalCase)
74+
75+
## 函数定义规范
76+
77+
- 纯函数使用 `def`
78+
- 异步操作使用 `async def`
79+
- 函数尽量单一职责,避免过于复杂的函数,但也不要过于琐碎
80+
- 不要擅自修改任何参数命名

docs/guide/deploy/Docker.md

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ title: Docker 部署
5454
> 此教程以 https 为例,如果你没有相关经验,请自行 Google 进行了解
5555
5656
> [!NOTE]
57-
> 免费 SSL 证书推荐使用 [httpsok-SSL证书自动续期](https://httpsok.com/p/4Qjd),一行命令,轻松搞定 SSL
57+
> 免费 SSL 证书推荐使用 [httpsok-SSL 证书自动续期](https://httpsok.com/p/4Qjd),一行命令,轻松搞定 SSL
5858
> 证书自动续签,支持:nginx、通配符证书、七牛云、腾讯云、阿里云、CDN、OSS、LB(负载均衡)
5959
6060
### 后端
@@ -70,15 +70,22 @@ title: Docker 部署
7070

7171
2. env
7272

73+
`backend` 目录中,创建环境变量文件
74+
75+
```shell:no-line-numbers
76+
touch .env
77+
```
78+
7379
进入 `deploy/backend/docker-compose` 目录,按需修改 `.env.server` 文件
7480

75-
::: note
76-
我们在 docker-compose 脚本内通过挂载的方式直接使用此文件作为 fba 环境变量文件,因此,本地修改此文件,将同步更新至 docker
81+
::: tip
82+
我们在 docker-compose 脚本内通过挂载的方式使用 `.env.server` 文件作为 fba 环境变量文件,因此,本地修改此文件,将同步更新至 docker
7783
容器,这意味着,修改环境变量将无需重新 build
7884
:::
7985

8086
::: warning
81-
如果你需要使用 PostgreSQL 数据库,执行命令前,需修改 `.env.server` 部分配置如下:
87+
如果您正在使用 PostgreSQL 数据库,需修改 `.env.server` 部分配置如下:
88+
8289
```dotenv:no-line-numbers
8390
# Database
8491
DATABASE_TYPE='postgresql'
@@ -87,12 +94,13 @@ title: Docker 部署
8794
DATABASE_USER='postgres'
8895
DATABASE_PASSWORD='123456'
8996
```
97+
9098
:::
9199

92100
3. 按需修改配置文件 `backend/core/conf.py`
93101

94102
4. 更新脚本文件
95-
103+
96104
@[code yml :collapsed-lines=6](../../code/docker-compose.yml)
97105

98106
5. 务必在 `docker-compose.yml` 所在目录打开终端
@@ -126,7 +134,7 @@ title: Docker 部署
126134
3. 更新 nginx 配置
127135

128136
进入 deploy 目录,修改 `nginx.conf` 文件
129-
137+
130138
@[code nginx :collapsed-lines=6](../../code/nginx.conf)
131139

132140
4. 更新脚本文件
@@ -139,11 +147,11 @@ title: Docker 部署
139147
networks:
140148
fba_network:
141149
external: true
142-
150+
143151
volumes:
144152
fba_static:
145153
external: true
146-
154+
147155
services:
148156
fba_ui:
149157
build:

docs/guide/ide/cursor.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
title: cursor
3+
---
4+
5+
官网地址:[cursor](https://www.cursor.com/)
6+
7+
我们在 cursor 中为 fba 定做了一些规则,或许可以帮助您更好的使用 AI 生成代码
8+
9+
::: warning
10+
我们未对规则进行 token 消耗量测试,请根据实际情况自行抉择
11+
:::
12+
13+
## 规则
14+
15+
查看 cursor 官方文档:[rules-for-ai](https://docs.cursor.com/context/rules-for-ai),然后添加以下规则:
16+
17+
### Python
18+
19+
::: note
20+
此规则可用于任何 Python 3.10+ 项目
21+
:::
22+
23+
@[code mdc](../../code/python.mdc)
24+
25+
### FastAPI
26+
27+
::: tip
28+
此规则仅限用于 fba 项目
29+
:::
30+
31+
@[code mdc](../../code/fastapi.mdc)

docs/guide/summary/quick-start.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ title: 快速开始
1717
### 后端
1818

1919
::: tip
20-
如果你是 PostgreSQL 用户,请先移步到 [切换数据库](../reference/db.md)
20+
如果您是 PostgreSQL 用户,请先移步到 [切换数据库](../reference/db.md)
2121
:::
2222

2323
:::: steps

0 commit comments

Comments
 (0)