This commit is contained in:
@@ -75,114 +75,159 @@ DjangoAdmin 数据中台解决方案是一套面向企业级应用场景的一
|
||||
## 📁 项目结构
|
||||
|
||||
```
|
||||
├── src/ # 后端源码目录
|
||||
│ ├── main.py # 应用入口
|
||||
│ ├── api/ # API 路由层
|
||||
│ │ ├── __init__.py # 路由注册
|
||||
│ │ ├── deps.py # 全局依赖
|
||||
│ │ └── v1/
|
||||
│ │ ├── router.py # 路由集中注册
|
||||
│ │ └── endpoints/ # 各模块端点定义
|
||||
│ │ ├── auth.py # 登录/登出/验证码
|
||||
│ │ ├── user.py # 用户管理
|
||||
│ │ ├── role.py # 角色管理
|
||||
│ │ ├── menu.py # 菜单管理
|
||||
│ │ ├── dept.py # 部门管理
|
||||
│ │ ├── level.py # 职级管理
|
||||
│ │ ├── position.py # 岗位管理
|
||||
│ │ ├── dict.py # 字典管理
|
||||
│ │ ├── dict_item.py # 字典项管理
|
||||
│ │ ├── config.py # 配置管理
|
||||
│ │ ├── config_item.py # 配置项管理
|
||||
│ │ ├── notice.py # 通知公告
|
||||
│ │ ├── article.py # 文章管理
|
||||
│ │ ├── category.py # 分类管理
|
||||
│ │ ├── city.py # 城市管理
|
||||
│ │ ├── link.py # 友情链接
|
||||
│ │ ├── param.py # 参数管理
|
||||
│ │ ├── job.py # 定时任务
|
||||
│ │ ├── job_log.py # 任务日志
|
||||
│ │ ├── file_template.py # 文件模板
|
||||
│ │ ├── login_log.py # 登录日志
|
||||
│ │ ├── operation_log.py # 操作日志
|
||||
│ │ ├── upload.py # 文件上传
|
||||
│ │ └── generator.py # 代码生成器
|
||||
│ ├── core/ # 核心基础设施
|
||||
│ │ ├── config/ # 配置模块
|
||||
│ │ ├── app.py # 应用工厂
|
||||
│ │ ├── database.py # 数据库引擎/会话管理
|
||||
│ │ ├── redis_client.py # Redis 异步客户端
|
||||
│ │ ├── jwt.py # 令牌处理
|
||||
│ │ ├── password.py # 密码加密
|
||||
│ │ ├── response.py # 统一响应封装
|
||||
│ │ ├── exceptions.py # 全局异常处理
|
||||
│ │ ├── security.py # 安全工具
|
||||
│ │ ├── access_decorators.py # 权限装饰器
|
||||
│ │ ├── base_model.py # 基础模型
|
||||
│ │ ├── base_db.py # 数据库操作基类
|
||||
│ │ ├── base_repository.py # 仓储基类
|
||||
│ │ ├── base_service.py # 服务基类
|
||||
│ │ └── logger.py # 日志配置
|
||||
│ ├── modules/ # 业务模块(数据模型 + 仓储 + 服务)
|
||||
│ │ ├── auth/ # 认证模块
|
||||
│ │ ├── system/ # 系统管理
|
||||
│ │ ├── dictionary/ # 字典模块
|
||||
│ │ ├── configuration/ # 配置模块
|
||||
│ │ ├── article/ # 文章模块
|
||||
│ │ ├── category/ # 分类模块
|
||||
│ │ ├── city/ # 城市模块
|
||||
│ │ ├── notice/ # 通知公告模块
|
||||
│ │ ├── link/ # 友情链接模块
|
||||
│ │ ├── param/ # 参数模块
|
||||
│ │ ├── job/ # 定时任务模块
|
||||
│ │ ├── job_log/ # 任务日志模块
|
||||
│ │ ├── file_template/ # 文件模板模块
|
||||
│ │ ├── login_log/ # 登录日志模块
|
||||
│ │ ├── operation_log/ # 操作日志模块
|
||||
│ │ ├── upload/ # 文件上传模块
|
||||
│ │ ├── generator/ # 代码生成器模块
|
||||
│ │ └── example/ # 示例模块
|
||||
│ ├── middleware/ # HTTP 中间件
|
||||
│ │ ├── cors.py # 跨域配置
|
||||
│ │ ├── rate_limit.py # 请求限流
|
||||
│ │ ├── db_session.py # 请求级数据库会话管理
|
||||
│ │ ├── operation_log.py # 操作日志自动记录
|
||||
│ │ └── logger.py # 请求日志
|
||||
│ ├── constants/ # 常量与枚举
|
||||
│ │ ├── constants.py # 业务常量
|
||||
│ │ ├── enums.py # 枚举定义
|
||||
│ │ └── pagination.py # 分页参数
|
||||
│ └── utils/ # 工具函数
|
||||
│ ├── request.py # 请求解析工具
|
||||
│ ├── captcha/ # 验证码生成
|
||||
│ ├── file/ # 文件处理
|
||||
│ ├── ip/ # IP 归属地查询
|
||||
│ └── perm_cache/ # 权限缓存
|
||||
├── scripts/ # 运维脚本
|
||||
│ ├── init_db.py # 数据库初始化
|
||||
│ ├── seed_dict.py # 字典数据初始化
|
||||
│ ├── seed.py # 通用数据填充
|
||||
│ ├── migrate_db.py # 跨库数据迁移工具
|
||||
│ └── demo_job_loop.py # 定时任务演示脚本
|
||||
├── tests/ # 测试目录
|
||||
│ ├── contract/ # 契约快照测试
|
||||
│ ├── unit/ # 单元测试
|
||||
│ └── integration/ # 集成测试
|
||||
├── migrations/ # 数据库迁移
|
||||
│ ├── alembic.ini # 迁移配置
|
||||
│ ├── env.py # 迁移环境
|
||||
│ └── versions/ # 迁移版本
|
||||
├── deploy/ # 部署配置
|
||||
│ ├── nginx.conf # Nginx 配置
|
||||
│ └── supervisor.conf # Supervisor 配置
|
||||
├── document/ # 项目文档
|
||||
├── docker-compose.yml # Docker 编排
|
||||
├── Dockerfile # 镜像构建
|
||||
├── app.py # 应用启动入口(python app.py)
|
||||
├── generator.py # 代码生成器 CLI 入口
|
||||
├── config.json # 代码生成器配置
|
||||
├── pyproject.toml # Poetry 项目配置(依赖来源)
|
||||
├── poetry.lock # 依赖锁定文件
|
||||
├── requirements.txt # Python 依赖清单(纯文本备选)
|
||||
├── alembic.ini # Alembic 迁移配置
|
||||
├── Makefile # 常用命令快捷入口
|
||||
├── alembic.ini # 迁移配置
|
||||
├── requirements.txt # Python 依赖清单
|
||||
├── pytest.ini # 测试配置
|
||||
└── .env # 环境变量配置
|
||||
├── Dockerfile # 镜像构建
|
||||
├── docker-compose.yml # Docker 编排
|
||||
├── .env # 环境变量配置
|
||||
├── .env.example # 环境变量示例
|
||||
├── src/ # 后端源码目录
|
||||
│ ├── app.py # 应用工厂(create_app)
|
||||
│ ├── bootstrap.py # 启动引导(参数解析、信号处理)
|
||||
│ ├── api/ # API 路由层
|
||||
│ │ └── v1/
|
||||
│ │ ├── router.py # 路由集中注册(build_routes)
|
||||
│ │ ├── auth.py # 登录/登出/验证码/令牌刷新
|
||||
│ │ ├── user.py # 用户管理
|
||||
│ │ ├── user_role.py # 用户角色分配
|
||||
│ │ ├── role.py # 角色管理
|
||||
│ │ ├── role_menu.py # 角色菜单分配
|
||||
│ │ ├── menu.py # 菜单管理
|
||||
│ │ ├── dept.py # 部门管理
|
||||
│ │ ├── level.py # 职级管理
|
||||
│ │ ├── position.py # 岗位管理
|
||||
│ │ ├── dict.py # 字典管理
|
||||
│ │ ├── dict_item.py # 字典项管理
|
||||
│ │ ├── config.py # 配置管理
|
||||
│ │ ├── config_item.py # 配置项管理
|
||||
│ │ ├── notice.py # 通知公告
|
||||
│ │ ├── article.py # 文章管理
|
||||
│ │ ├── category.py # 分类管理
|
||||
│ │ ├── city.py # 城市管理
|
||||
│ │ ├── link.py # 友情链接
|
||||
│ │ ├── param.py # 参数管理
|
||||
│ │ ├── job.py # 定时任务
|
||||
│ │ ├── job_log.py # 任务日志
|
||||
│ │ ├── file_template.py # 文件模板
|
||||
│ │ ├── login_log.py # 登录日志
|
||||
│ │ ├── operation_log.py # 操作日志
|
||||
│ │ ├── upload.py # 文件上传
|
||||
│ │ ├── index.py # 首页菜单/用户信息
|
||||
│ │ └── generator.py # 代码生成器 API
|
||||
│ ├── core/ # 核心基础设施
|
||||
│ │ ├── base_handler.py # 请求处理器基类(认证、异常、会话回收)
|
||||
│ │ ├── base_model.py # 数据模型基类(审计字段、to_dict)
|
||||
│ │ ├── base_repository.py # 仓储基类(CRUD、分页、软删除)
|
||||
│ │ ├── base_schema.py # Pydantic Schema 基类
|
||||
│ │ ├── base_service.py # 服务基类(模板方法 CRUD)
|
||||
│ │ ├── context.py # 请求级上下文(current_user_id 等 contextvars)
|
||||
│ │ ├── database.py # 数据库引擎/会话管理(读写分离)
|
||||
│ │ ├── redis.py # Redis 客户端封装
|
||||
│ │ ├── jwt.py # JWT 签发/解析/黑名单/刷新
|
||||
│ │ ├── password.py # 双盐 bcrypt 密码加密
|
||||
│ │ ├── response.py # 统一响应封装(R.ok/R.failed)
|
||||
│ │ ├── exceptions.py # 自定义异常体系
|
||||
│ │ ├── logger.py # 结构化日志配置
|
||||
│ │ ├── metrics.py # 指标采集
|
||||
│ │ └── tracer.py # 链路追踪
|
||||
│ ├── config/ # 配置模块(Pydantic Settings)
|
||||
│ │ ├── app.py # 应用配置(TORNADO_DEMO 等)
|
||||
│ │ ├── database.py # 数据库配置
|
||||
│ │ ├── redis.py # Redis 配置
|
||||
│ │ ├── auth.py # 认证配置(JWT)
|
||||
│ │ ├── captcha.py # 验证码配置
|
||||
│ │ ├── email.py # 邮件配置
|
||||
│ │ └── logging.py # 日志配置
|
||||
│ ├── constants/ # 常量定义
|
||||
│ │ └── __init__.py # 通用常量与提示文案
|
||||
│ ├── common/ # 公共组件
|
||||
│ │ ├── middleware/ # 中间件/装饰器
|
||||
│ │ │ ├── authentication.py # JWT 认证(login_required)
|
||||
│ │ │ ├── cors.py # 跨域处理
|
||||
│ │ │ ├── access_decorators.py # 权限校验 + 演示模式拦截
|
||||
│ │ │ ├── operation_log.py # 操作日志装饰器
|
||||
│ │ │ ├── login_log.py # 登录日志装饰器
|
||||
│ │ │ ├── trace_id.py # 链路追踪 ID 注入
|
||||
│ │ │ └── metrics.py # 请求指标中间件
|
||||
│ │ ├── permission.py # 跨模块权限解析(Redis 缓存)
|
||||
│ │ └── utils/ # 工具函数
|
||||
│ │ ├── crypto.py # 密码加密门面
|
||||
│ │ ├── captcha.py # 验证码生成与验证
|
||||
│ │ ├── file.py # 文件操作(mkdir、魔术字节校验)
|
||||
│ │ ├── rich_text.py # 富文本处理(XSS 清洗、路径穿越防护)
|
||||
│ │ ├── ip.py # 客户端 IP 获取(代理透传)
|
||||
│ │ ├── ip2region.py # IP 归属地离线查询
|
||||
│ │ ├── dict_util.py # 字典 Redis 缓存读取
|
||||
│ │ ├── helpers.py # 通用辅助(UA 解析、参数脱敏)
|
||||
│ │ └── validators.py # 通用校验器
|
||||
│ ├── modules/ # 业务模块(每个模块 5 文件)
|
||||
│ │ ├── auth/ # 认证模块(登录/登出/验证码/令牌刷新)
|
||||
│ │ ├── user/ # 用户管理
|
||||
│ │ ├── user_role/ # 用户角色关联
|
||||
│ │ ├── role/ # 角色管理
|
||||
│ │ ├── role_menu/ # 角色菜单关联
|
||||
│ │ ├── menu/ # 菜单管理(动态路由 + 权限节点)
|
||||
│ │ ├── dept/ # 部门管理
|
||||
│ │ ├── level/ # 职级管理
|
||||
│ │ ├── position/ # 岗位管理
|
||||
│ │ ├── dictionary/ # 字典模块
|
||||
│ │ │ ├── dict/ # 字典管理
|
||||
│ │ │ └── dict_item/ # 字典项管理
|
||||
│ │ ├── configuration/ # 配置模块
|
||||
│ │ │ ├── config/ # 配置管理
|
||||
│ │ │ └── config_item/ # 配置项管理
|
||||
│ │ ├── notice/ # 通知公告
|
||||
│ │ ├── article/ # 文章管理
|
||||
│ │ ├── category/ # 分类管理
|
||||
│ │ ├── city/ # 城市管理(树形结构)
|
||||
│ │ ├── link/ # 友情链接
|
||||
│ │ ├── param/ # 参数管理
|
||||
│ │ ├── file_template/ # 文件模板
|
||||
│ │ ├── job/ # 定时任务(APScheduler)
|
||||
│ │ ├── job_log/ # 任务执行日志
|
||||
│ │ ├── login_log/ # 登录日志(IP 归属地解析)
|
||||
│ │ ├── operation_log/ # 操作日志(审计追踪)
|
||||
│ │ ├── upload/ # 文件上传
|
||||
│ │ ├── generator/ # 代码生成器
|
||||
│ │ └── example/ # 示例模块(开发参考)
|
||||
│ └── extensions/ # 扩展(可选组件)
|
||||
│ ├── sqlalchemy.py # SQLAlchemy 单例导出
|
||||
│ ├── redis.py # Redis 单例导出
|
||||
│ ├── swagger.py # Swagger(占位)
|
||||
│ └── sentry.py # Sentry(占位)
|
||||
├── scripts/ # 运维脚本
|
||||
│ ├── seed_dict.py # 业务字典初始化(幂等)
|
||||
│ ├── seed.py # 通用数据填充
|
||||
│ ├── init_db.py # 数据库初始化
|
||||
│ ├── migrate_db.py # 跨库数据迁移工具(MySQL→PG/MSSQL/SQLite/Oracle)
|
||||
│ ├── migrate.py # 迁移辅助
|
||||
│ ├── deploy.py # 部署脚本
|
||||
│ ├── health_check.py # 健康检查
|
||||
│ └── deploy.py # 部署脚本
|
||||
├── tests/ # 测试目录
|
||||
│ ├── unit/ # 单元测试
|
||||
│ │ ├── core/ # 核心模块测试(jwt、crypto、response、base_service、repository)
|
||||
│ │ └── modules/ # 业务模块测试(schema、scheduler)
|
||||
│ ├── integration/ # 集成测试(需 MySQL + Redis)
|
||||
│ │ ├── test_api.py # API 接口测试
|
||||
│ │ ├── test_database.py # 数据库连接测试
|
||||
│ │ └── test_redis.py # Redis 连接测试
|
||||
│ └── fixtures/ # 测试夹具
|
||||
│ └── factories.py # 测试数据工厂
|
||||
├── alembic/ # Alembic 数据库迁移
|
||||
│ └── versions/ # 迁移版本文件
|
||||
└── document/ # 项目文档
|
||||
├── mysql/ # MySQL 初始化 SQL
|
||||
├── postgresql/ # PostgreSQL 初始化 SQL
|
||||
├── sqlserver/ # SQL Server 初始化 SQL
|
||||
├── sqlite/ # SQLite 初始化 SQL
|
||||
└── sql/ # 通用 SQL 脚本
|
||||
```
|
||||
|
||||
## 👷 软件信息
|
||||
|
||||
Reference in New Issue
Block a user