You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
iTi-Flask/README.md

2.0 KiB

iTi-Flask

iTi-Flask 是基于 APIFlask / Flask 的轻量后端框架基座。

它只提供工程底座和架构约束。 它不是业务应用。 它不内置用户、角色、菜单等系统业务。 它不内置前端产物。 它可以按配置承载业务项目自己的 SPA 静态目录。

当前边界

框架内置:

  • 应用工厂和配置加载。
  • SQLAlchemy、Flask-Migrate、JWT、缓存、限流、日志、错误处理。
  • 进程内 module 协议。
  • HTTP JSON service client。
  • 单进程 task runner。
  • 可选 SPA 静态目录承载。
  • Copier 业务项目模板。

框架不内置:

  • sys_* 表。
  • 认证、用户、角色、菜单、部门、字典、配置、文件、日志等系统业务。
  • 系统 seed。
  • 系统 migration。
  • ERP 能力。
  • 前端构建产物。

系统业务放在独立包 iti-system。 MES 这类主业务项目按需依赖 iti-flask + iti-system。 ERP Service 这类服务只依赖 iti-flask

开发

uv sync --extra dev
uv run --extra dev pytest
uv run --extra dev mypy

需要覆盖可选依赖时:

uv run --extra dev --extra mysql --extra image --extra excel pytest

业务项目生成

uvx copier copy ./copier-template ../my-business-app

业务项目依赖 iTi-Flask 的 Git tag。 框架升级后,业务项目更新依赖 tag。

系统业务

需要用户、角色、菜单等能力时,业务项目额外依赖 iti-system,并在 modules 中注册:

from iti_system import create_system_module

modules = [
    create_system_module(),
]

iti-system 引入即全量引入。 不提供系统模块选择。 不拆分系统 migration。

iti-system 自己提供系统 seed 和系统 migration 同步命令。

文档