后端自定义开发
项目采用插件化架构,在 backend/app/plugin/ 下开发即可。系统会自动发现并注册所有符合规范的路由。
开发步骤
- 在
backend/app/plugin/下创建module_yourfeature/ - 依次编写
model.py→schema.py→crud.py→service.py→controller.py - 路由自动注册,无需手动配置
数据模型示例
python
from sqlalchemy import Column, Integer, String
from app.core.database import Base
class YourModel(Base):
__tablename__ = "your_table"
id = Column(Integer, primary_key=True, index=True)
name = Column(String(255), nullable=False)控制器示例
python
from fastapi import APIRouter, Depends, Path
from fastapi.responses import JSONResponse
from app.common.response import SuccessResponse
from app.core.router_class import OperationLogRoute
from app.core.dependencies import AuthPermission
from app.api.v1.module_system.auth.schema import AuthSchema
from .service import YourFeatureService
YourFeatureRouter = APIRouter(
route_class=OperationLogRoute,
prefix="/yourcontroller",
tags=["你的功能模块"],
)
@YourFeatureRouter.get("/detail/{id}", summary="获取详情")
async def get_detail(
id: int = Path(..., description="功能ID"),
auth: AuthSchema = Depends(AuthPermission(["module_yourfeature:yourcontroller:detail"])),
) -> JSONResponse:
result = await YourFeatureService.detail_service(id=id, auth=auth)
return SuccessResponse(data=result)代码生成器
内置代码生成器可根据数据库表结构自动生成前后端 CRUD 代码:
- 登录系统,进入「代码生成」模块
- 导入数据库表结构
- 配置生成参数
- 一键生成前后端代码
前端自定义开发
Web 端
- 在
frontend/web/src/api/创建 API 封装文件 - 在
frontend/web/src/views/创建页面组件 - 注册路由(静态路由或通过后端菜单驱动的动态路由)
移动端
- 在
frontend/app/src/api/创建 API 封装文件 - 在
frontend/app/src/pages/创建页面组件 - 在
pages.json中配置页面路由和样式
开发注意事项
- 权限控制:所有 API 接口需添加
AuthPermission - 数据验证:使用 Pydantic schema 验证输入
- 异常处理:统一使用项目的异常处理机制
- 日志记录:关键操作使用
OperationLogRoute记录 - 代码规范:后端用 ruff,前端用 ESLint + Prettier