wuzilong eb62100364 提交 6 months ago
..
app eb62100364 提交 6 months ago
migrations eb62100364 提交 6 months ago
scripts 6f9bf91f15 tijiao' 6 months ago
README.md dd48fb73e6 FIRST COMMIT 7 months ago
fix_sessions_his.py 6f9bf91f15 tijiao' 6 months ago
requirements.txt dd48fb73e6 FIRST COMMIT 7 months ago
start.bat 6f9bf91f15 tijiao' 6 months ago
start.sh dd48fb73e6 FIRST COMMIT 7 months ago
start_prod.sh 6f9bf91f15 tijiao' 6 months ago
test_selection_api.py eb62100364 提交 6 months ago

README.md

游铛铛后端API

技术栈

  • 框架:FastAPI
  • 数据库:MySQL 8.0
  • ORM:SQLAlchemy
  • 加密:cryptography (RSA)
  • 文档:Swagger/OpenAPI

项目结构

backend/
├── app/
│   ├── __init__.py
│   ├── main.py              # 应用入口
│   ├── config.py            # 配置管理
│   ├── database.py          # 数据库连接
│   ├── models/              # 数据模型
│   │   ├── __init__.py
│   │   ├── user.py
│   │   ├── card.py
│   │   ├── software.py
│   │   └── ...
│   ├── schemas/             # Pydantic模型
│   │   ├── __init__.py
│   │   ├── user.py
│   │   └── ...
│   ├── api/                 # API路由
│   │   ├── __init__.py
│   │   ├── deps.py          # 依赖注入
│   │   ├── client/          # 客户端接口
│   │   │   ├── __init__.py
│   │   │   ├── auth.py
│   │   │   └── ...
│   │   └── admin/           # 管理端接口
│   │       ├── __init__.py
│   │       ├── auth.py
│   │       └── ...
│   ├── core/                # 核心功能
│   │   ├── __init__.py
│   │   ├── security.py      # 安全相关
│   │   ├── encrypt.py       # 加密工具
│   │   └── logger.py        # 日志
│   └── utils/               # 工具函数
│       ├── __init__.py
│       └── ...
├── requirements.txt
├── .env.example
└── README.md

安装依赖

pip install -r requirements.txt

配置

复制 .env.example 为 .env 并配置数据库连接信息。

运行

# 开发模式
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000

# 生产模式
uvicorn app.main:app --host 0.0.0.0 --port 8000 --workers 4

API文档

启动服务后访问:

🚀 新功能:心跳实时配置更新

功能特性

  • 实时配置更新:通过心跳机制实现客户端配置的实时更新
  • 无需重启应用:配置变更秒级生效
  • 动态调整:支持心跳间隔、超时时间、失败重试等参数的动态调整

实现方式

心跳API (POST /api/user/heartbeat) 在每次响应中包含最新的客户端配置:

{
  "code": 200,
  "data": {
    "client_configs": {
      "api_timeout_seconds": 30,
      "client_heartbeat_interval_seconds": 30,
      "max_heartbeat_failures": 10,
      "max_network_failures": 15
    }
  }
}

配置管理

通过数据库 system_config 表管理配置:

-- 修改心跳间隔
-- 修改心跳间隔为60秒

-- 修改API超时时间
UPDATE system_config SET config_value='45' WHERE config_key='api_timeout_seconds';

详细文档

请参考:心跳配置更新文档

🚀 新功能:心跳实时配置更新

功能特性

  • 实时配置更新:通过心跳机制实现客户端配置的实时更新
  • 无需重启应用:配置变更秒级生效
  • 动态调整:支持心跳间隔、超时时间、失败重试等参数的动态调整

实现方式

心跳API (POST /api/user/heartbeat) 在每次响应中包含最新的客户端配置:

{
  "code": 200,
  "data": {
    "client_configs": {
      "api_timeout_seconds": 30,
      "client_heartbeat_interval_seconds": 30,
      "max_heartbeat_failures": 10,
      "max_network_failures": 15
    }
  }
}

配置管理

通过数据库 system_config 表管理配置:

-- 修改心跳间隔
-- 修改心跳间隔为60秒

-- 修改API超时时间
UPDATE system_config SET config_value='45' WHERE config_key='api_timeout_seconds';

详细文档

请参考:心跳配置更新文档