chaoge f7acae8dee fix(security,config): 移除默认高权限密码,统一数据库配置逻辑
- 删除core/settings.py中的默认高权限配置项
- 重构binlog监听工具的凭据获取逻辑,不再硬编码root账号与默认密码
- 重写项目README文档,更新配置说明与启动流程
- 新增API安全与稳定性修复计划文档,梳理后续优化方向
2026-05-25 14:24:44 +08:00
2026-05-10 21:43:32 +08:00
2026-05-24 13:41:42 +08:00
2026-05-24 16:18:44 +08:00
2026-05-10 23:26:56 +08:00
2026-05-22 00:23:30 +08:00
2026-05-13 00:23:41 +08:00
2026-05-10 23:26:56 +08:00
2026-05-20 22:26:08 +08:00

MyAPS API

MyAPS API 是一个基于 FastAPI 的企业级数据操作平台,包含数据接口、数据清洗、监控、WebSocket 通信、日志与定时任务等能力。

项目概览

目录结构

myaps_api/
├── apps/                 # 业务模块
│   ├── common/           # 监控、帮助、通用工具
│   ├── data_opt/         # 数据操作、清洗、binlog、调度
│   └── io_api/           # 对外 API 接口
├── core/                 # 应用工厂、配置、数据库、生命周期
├── globalobjects/        # 全局对象、日志、数据库管理
├── static/               # 前端静态资源
├── scripts/              # 开发、部署、迁移脚本
├── tests/                # 自动化测试
├── main.py               # 应用入口
├── requirements.txt      # Python 依赖
└── .env.example          # 环境变量示例

技术栈

  • FastAPI
  • Uvicorn
  • Tortoise ORM
  • Pydantic
  • MySQL / PostgreSQL / SQLite
  • Redis

快速开始

1. 准备虚拟环境

项目依赖当前已安装在仓库内虚拟环境 venv 中。

Linux / macOS:

source venv/bin/activate

或者直接使用虚拟环境解释器执行命令:

./venv/bin/python --version

2. 准备环境变量

复制示例文件并按实际环境填写:

cp .env.example .env

至少需要确认以下配置:

PROJECT_DIR=YOUR_PROJECT_DIR
MYAPS_DB_HOST=localhost
MYAPS_DB_PORT=3333
MYAPS_DB_USER=your_db_user
MYAPS_DB_PASSWORD=your_db_password
MYAPS_DB_SET=db1,db2
MYAPS_MAIN_DB=db1

如使用 PostgreSQL staging / 清洗能力,还需要补充:

THIS_DB_HOST=localhost
THIS_DB_PORT=5432
THIS_DB_USER=postgres
THIS_DB_PASSWORD=your_password
THIS_DB_NAME=appsmith

3. 启动服务

使用项目脚本:

./scripts/dev_server.sh start

直接启动:

./venv/bin/python -m uvicorn main:app --host 0.0.0.0 --port 8000 --reload

4. 访问服务

  • 首页: http://127.0.0.1:8000/
  • Swagger 文档: http://127.0.0.1:8000/docs

常用命令

测试

运行全部测试:

./venv/bin/python -m pytest tests/ -v

验证应用可导入:

./venv/bin/python -c "import main; print(main.app.title)"

开发脚本

./scripts/dev_server.sh start
./scripts/dev_server.sh stop
./scripts/dev_server.sh restart
./scripts/dev_server.sh status
./scripts/dev_server.sh logs

数据库配置说明

全局数据库账号

项目统一使用以下变量作为主数据库连接配置:

MYAPS_DB_HOST
MYAPS_DB_PORT
MYAPS_DB_USER
MYAPS_DB_PASSWORD

binlog 配置说明

binlog 相关校验与参数设置逻辑当前也统一使用:

MYAPS_DB_USER
MYAPS_DB_PASSWORD

注意事项:

  • 不再使用单独的 MYAPS_ROOT_PASSWORD
  • binlog 相关逻辑不会再写死 root 用户
  • MYAPS_DB_USERMYAPS_DB_PASSWORD 未配置,相关校验会显式失败
  • 如需执行高权限 binlog 配置操作,请确保 MYAPS_DB_USER 对应账号本身具备所需权限

staging / 清洗模式

  • THIS_DB_* 用于 PostgreSQL staging 数据库配置
  • STAGING_DB_NAME 默认为 --s
  • 清洗模式与主业务数据库配置分离

监控与日志

  • 实时日志与历史日志页面位于 /monitor
  • 统一日志系统位于 globalobjects/logger/
  • 开发期可通过 ./scripts/dev_server.sh logs -f 查看实时日志

当前验证状态

在当前仓库环境下,以下命令已验证通过:

./venv/bin/python -m pytest tests/ -v
./venv/bin/python -c "import main; print(main.app.title)"

备注

  • PROJECT_DIR 未配置,应用配置加载会失败
  • 若数据库或 Redis 未就绪,部分功能会在启动或运行阶段报出明确错误
  • 修改数据库、binlog、生命周期逻辑后,建议至少重新执行一次测试和导入校验
S
Description
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,到期日0830
Readme 6.2 MiB
Languages
JavaScript 59.5%
Python 33.5%
HTML 3.7%
CSS 1.1%
Shell 0.8%
Other 1.4%