跳到主要内容
Skip to content

更多二开细节见 后端开发前端开发

后端自定义开发

项目采用插件化架构,在 backend/app/plugin/ 下开发即可。系统会自动发现并注册所有符合规范的路由。

开发步骤

  1. backend/app/plugin/ 下创建 module_yourfeature/
  2. 依次编写 model.pyschema.pycrud.pyservice.pycontroller.py
  3. 路由自动注册,无需手动配置

数据模型示例

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 代码:

  1. 登录系统,进入「代码生成」模块
  2. 导入数据库表结构
  3. 配置生成参数
  4. 一键生成前后端代码

前端自定义开发

Web 端

  1. frontend/web/src/api/ 创建 API 封装文件
  2. frontend/web/src/views/ 创建页面组件
  3. 注册路由(静态路由或通过后端菜单驱动的动态路由)

移动端

  1. frontend/app/src/api/ 创建 API 封装文件
  2. frontend/app/src/pages/ 创建页面组件
  3. pages.json 中配置页面路由和样式

开发注意事项

  • 权限控制:所有 API 接口需添加 AuthPermission
  • 数据验证:使用 Pydantic schema 验证输入
  • 异常处理:统一使用项目的异常处理机制
  • 日志记录:关键操作使用 OperationLogRoute 记录
  • 代码规范:后端用 ruff,前端用 ESLint + Prettier