littlebot
Published on 2025-04-09 / 0 Visits
0

【源码】基于PythonFastAPI框架的桌面管理系统

项目简介

本项目是基于FastAPI框架搭建的桌面管理系统。集成Pydantic保障数据验证和类型安全,利用SQLAlchemy进行数据库操作,通过Dynaconf完成配置管理。系统包含用户管理、桌面管理、日志管理、数据库迁移、异常处理以及API测试等模块,能为用户提供创建、查询、更新和删除桌面等功能。

项目的主要特性和功能

  1. 用户管理:支持用户的增、查、改、删操作及信息查询修改。
  2. 桌面管理:实现桌面基本信息与状态管理,可进行桌面的增、查、改、删。
  3. 日志管理:记录操作详细信息、时间戳、用户信息和操作结果等,支持日志查询与记录。
  4. 数据库迁移:利用Alembic库进行数据库结构变更和版本控制。
  5. 异常处理:定义多个自定义异常类处理特定错误,如身份验证失败、资源未找到等。
  6. API测试:提供测试脚本确保API端点功能稳定正确。
  7. OpenAPI支持:集成自动化文档功能,基于pydantic定义接口生成swagger JSON定义文档,结合Swagger UI和ReDoc提供交互式API文档。
  8. 雪花算法生成唯一ID:使用雪花算法生成分布式唯一ID,处理时间回拨等问题。
  9. 上下文管理:使用contextvars管理request请求的上下文环境变量,方便log追踪。
  10. 逻辑分层清晰:采用分层架构,包括schema层、API层、业务层和数据/模型层,实现逻辑隔离,便于开发维护。
  11. 异步数据库操作:支持异步数据库操作,提升系统性能。

安装使用步骤

1. Python环境准备

  • 安装依赖:apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev libjpeg-dev zlib1g-dev cronolog rsyslog logrotate
  • 下载Python源码:wget https://www.python.org/ftp/python/3.10.12/Python-3.10.12.tgz
  • 解压源码:tar -xf Python-3.10.12.tgz
  • 配置:cd Python-3.10.12 && ./configure --enable-optimizations prefix=/usr/local/python310
  • 编译:make -j 4
  • 安装:make install
  • 验证安装:/usr/local/python310/bin/python3 -V
  • 修改pyproject.toml,设置Python版本: toml [tool.poetry.dependencies] python = "~3.10.12"

2. 安装Poetry

官方脚本安装

  • 执行安装命令:curl -sSL https://install.python-poetry.org | /usr/local/python310/bin/python3 -
  • 修改环境变量:根据安装输出,修改bashrc或者profile,增加export PATH="/root/.local/bin:$PATH"
  • 验证安装:poetry -V

pip安装

shell python3 -m venv /opt/pyenv/eojo /opt/pyenv/eojo/bin/pip install -U pip setuptools /opt/pyenv/eojo/bin/pip install poetry 记得修改PATH,以便直接访问poetry

3. 安装项目依赖

执行poetry install下载安装依赖。

4. 配置文件管理

  • 添加dynaconf依赖:poetry add dynaconf
  • 初始化dynaconf:在项目应用目录下运行dynaconf init,生成config.py.secrets.tomlsettings.toml文件。
  • 项目引入设置: ```python from dynaconf import Dynaconf

settings = Dynaconf( envvar_prefix="DYNACONF", settings_files=['./eojo/conf/settings.toml', '/etc/eojo/settings.toml'], ) ```

5. 数据库版本管理

  • 配置文件位于{PROJECT_NAME}/db/migrations/alembic.ini,修改sqlalchemy.url配置项。
  • 修改alembicenv.py文件,设置db url为项目配置文件中设置的urlpython def run_migrations_online(): connectable = engine_from_config( {"sqlalchemy.url": settings.db.url}, # 使用dynaconf文件的配置替换alembic.ini的配置 prefix='sqlalchemy.', poolclass=pool.NullPool)
  • 生成增量版本:alembic revision --autogenerate -m "2.0.3"
  • 升级到最新版本:alembic upgrade head

6. 启动项目

完成上述步骤后,即可启动项目。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】