签入版本

This commit is contained in:
2026-09-12 23:12:15 +08:00
commit 91998056ca
1841 changed files with 341325 additions and 0 deletions
+292
View File
@@ -0,0 +1,292 @@
# 更新日志
:::tip 说明
更新日志是项目演进的完整记录,帮助开发者和企业了解每个版本的能力变化与技术演进方向。对于开发者,可快速掌握新功能与 API 变更,降低升级成本;对于企业,可评估版本稳定性与功能成熟度,为技术选型和升级决策提供依据。建议在升级前阅读目标版本的变更内容,确保业务代码平滑适配。
:::
## 版本总览
| 版本 | 日期 | 主要内容 |
|:-----|:-----|:---------|
| 2.0.0 | 2024-03-14 | 用户、角色、菜单、部门、岗位、职级管理 |
| 2.1.0 | 2024-06-23 | RBAC 权限体系 + JWT 认证 + 验证码 |
| 2.2.0 | 2024-09-06 | 字典管理 + 系统配置 + 参数管理 |
| 2.3.0 | 2024-12-19 | 文章管理 + 分类管理 + 文件上传 + XSS 防护 |
| 2.4.0 | 2025-03-11 | Vue3 + ElementPlus + TypeScript + Vite |
| 2.5.0 | 2025-06-25 | 代码生成器 CLI + Web UI + Excel 导入导出 |
| 2.6.0 | 2025-09-17 | 定时任务 + 操作日志 + 登录日志 |
| 2.7.0 | 2025-12-08 | 接口限流 + IP 地理位置 + 安全防护 |
| 2.8.0 | 2026-03-22 | Docker 容器化 + Nginx + Supervisor |
| 2.9.0 | 2026-06-15 | 文档体系 + 缓存优化 + 性能提升 |
| **3.0.0** | **2026-09-01** | **Django 6.0 + Python 3.12 + 架构优化** |
## [3.0.0] - 2026-09-01
**Django 6.0 升级,技术栈全面焕新。**
### 新增
- **Django 6.0.3**:升级至 Django 6.0 长期支持版本,安全性与性能全面提升
- **Python 3.12**:推荐使用 Python 3.12,运行性能提升 5-10%
- **pnpm 12**:前端包管理器升级至 pnpm 12,安装速度提升 30%
- **VitePress 文档站**:全新文档站上线,127 篇技术文档,支持全文搜索
- **BaseModel 字段重排**:通过 `class_prepared` 信号自动将公共字段移至业务字段之后
- **Token 黑名单机制**:退出登录后令牌立即失效,基于 Redis 存储,自动过期清理
- **操作日志装饰器**:`@operation_log` 自动记录请求参数、响应结果、执行耗时
### 优化
- Django ORM 查询性能优化,减少 N+1 查询
- 前端构建速度优化,Vite 开发服务器启动时间 < 500ms
- 代码生成器模板优化,生成代码与手写代码风格一致
- 环境变量配置统一通过 `config/env.py` 加载 `.env` 文件
### 修复
- 修复 Python 3.12 兼容性问题
- 修复并发请求下数据库连接泄露
- 修复 JWT Token 过期后未正确返回 401 状态码
## [2.9.0] - 2026-06-15
**文档体系与缓存优化。**
### 新增
- **企业级文档体系**:覆盖快速入门、模块开发、架构设计、运维部署、规范标准
- **Redis 缓存优化**:权限缓存、字典缓存、IP 地理位置缓存,减少数据库查询
- **数据库连接池**:Django ORM 连接池参数可调(`CONN_MAX_AGE`、`CONN_HEALTH_CHECKS`)
- **日志系统优化**:Python logging 模块配置化,支持按模块分级日志
### 优化
- 分页查询性能优化,大表查询速度提升 50%
- 前端首屏加载优化,路由懒加载 + 组件按需导入
- 代码生成器模板优化,生成代码风格统一
### 修复
- 修复 Redis 连接异常时权限校验失败
- 修复大表分页查询内存溢出
- 修复前端路由懒加载偶发白屏
## [2.8.0] - 2026-03-22
**Docker 容器化与生产部署能力。**
### 新增
- **Docker 容器化**:提供 Dockerfile + docker-compose.yml,支持一键启动完整环境
- **Nginx 反向代理**:生产环境 Nginx 配置模板,支持 SSL 终止与负载均衡
- **Supervisor 进程管理**:Gunicorn + Supervisor 进程管理方案
- **健康检查端点**:`/health` 接口,支持 Docker 和 Kubernetes 健康检查
- **多环境配置**:开发、测试、UAT、生产四套环境配置模板
### 优化
- Docker 镜像体积优化,多阶段构建减小 60%
- Gunicorn Worker 配置优化,支持 Gevent 异步 Worker
- 数据库迁移命令优化,支持跳过确认直接执行
### 修复
- 修复 Docker 环境下时区设置不生效
- 修复 Nginx 代理后获取客户端 IP 异常
- 修复 Supervisor 重启后进程未正确清理
## [2.7.0] - 2025-12-08
**安全防护与可观测性增强。**
### 新增
- **IP 地理位置查询**:基于离线 IP 数据库,服务启动时加载内存,查询零延迟
- **User-Agent 解析**:自动识别客户端操作系统与浏览器信息
- **接口限流**:基于 Django 缓存框架的按 IP 限流策略,支持按接口独立配置阈值
- **验证码防刷**:按 IP 频率控制,单 IP 每分钟最多获取 5 次验证码
### 优化
- JWT 认证增强:Token 支持主动刷新与过期续签
- 权限校验增强:超级管理员(ID=1)自动放行所有权限校验
- 文件上传安全:扩展名白名单 + 文件类型校验双重防护
### 修复
- 修复 Token 刷新后旧令牌未失效
- 修复大文件上传超时问题
- 修复并发请求下会话泄露
## [2.6.0] - 2025-09-17
**定时任务与日志审计能力。**
### 新增
- **定时任务调度**:支持 Cron 表达式、固定间隔、指定时间三种触发方式
- **任务执行日志**:完整记录每次执行的开始时间、结束时间、执行状态、耗时
- **登录日志**:记录所有登录与退出行为,含 IP 地址、设备信息、登录结果
- **数据字典缓存**:Redis 缓存加速字典查询,支持手动刷新与变更自动失效
- **权限缓存主动失效**:权限变更实时生效,支持版本号兜底机制
### 优化
- 定时任务分布式锁:多实例部署时避免任务重复执行
- 字典查询:支持按编码直接获取字典项列表
- 系统配置:运行时动态修改,无需重启服务生效
### 修复
- 修复定时任务夏令时偏移问题
- 修复字典项排序不生效
- 修复配置值包含特殊字符时序列化异常
## [2.5.0] - 2025-06-25
**代码生成能力上线,开发效率大幅提升。**
### 新增
- **代码生成器(CLI)**:`python generator.py django_<表名>` 一键生成 Model、Form、Service、View、URL 及前端页面
- **代码生成器(Web UI)**:`/generator` 可视化操作界面,支持单表生成与批量生成
- **自定义模板引擎**:基于 Jinja2,支持自定义生成代码风格与目录结构
- **Excel 导入导出**:支持模板下载、数据校验、错误行跳过与错误详情导出
- **文件模板管理**:支持模板文件上传、版本管理
### 优化
- 代码生成器自动注册路由与权限节点,生成即用
- 生成代码自动适配分层架构(Model/Form/Service/View/URL)
- 代码生成器自动追加路由到 `application/urls.py`,自动注册 App 到 `INSTALLED_APPS`
### 修复
- 修复生成代码唯一性校验遗漏字段
- 修复 Excel 导出日期格式不一致
- 修复模板渲染中文乱码
## [2.4.0] - 2025-03-11
**前端技术栈全面升级至 Vue3 生态。**
### 新增
- **Vue3 升级**:前端框架从 Vue 2 升级至 Vue3.4+,全面拥抱 Composition API
- **ElementPlus**:采用 ElementPlus 组件库,适配 Vue3 生态
- **Pinia 状态管理**:替代 Vuex,更轻量、更灵活、TypeScript 支持更完善
- **TypeScript 类型安全**:全量类型定义,IDE 智能提示与编译时类型检查
- **Vite 构建工具**:替代 Webpack,开发服务器毫秒级启动,HMR 即时生效
### 优化
- 构建速度:Vite 开发服务器启动时间 < 500ms,热更新 < 100ms
- 代码规范:ESLint + Prettier + Stylelint 统一代码风格
- 组件体系:可插拔架构重构,按需加载,首屏加载体积减少 40%
### 修复
- 修复热更新偶尔失效问题
- 修复 TypeScript 类型定义不完整
- 修复部分组件样式在 Vue3 下兼容性问题
## [2.3.0] - 2024-12-19
**内容管理与文件上传能力。**
### 新增
- **文章管理**:文章发布、编辑、删除、状态流转(草稿 → 审核 → 发布 → 下架)
- **分类管理**:树形分类结构,支持拖拽排序与层级校验
- **公告管理**:通知公告发布,支持置顶排序与有效期范围控制
- **友情链接**:友情链接管理,支持启用/停用状态控制
- **行政区划**:全国省市区三级联动数据管理
- **文件上传**:统一文件上传接口,支持图片、文档、压缩包等全类型文件
- **XSS 防护**:富文本内容自动过滤恶意脚本
### 优化
- 文件上传流式大小校验,超限立即中断,避免内存溢出
- 富文本编辑器集成,支持图片上传与预览
- 文件 URL 自动补全,相对路径自动转换为绝对路径
### 修复
- 修复富文本编辑器中图片路径为相对路径导致无法访问
- 修复编辑时临时文件未清理
- 修复批量删除时关联数据未同步处理
## [2.2.0] - 2024-09-06
**系统配置与基础数据管理增强。**
### 新增
- **系统配置模块**:动态配置参数,运行时可调,修改即时生效,无需重启
- **参数管理模块**:系统参数与业务参数分类管理,支持参数分组
- **字典模块增强**:字典项排序、启用/停用状态控制、批量导入导出
- **部门树形结构**:无限级部门树,支持拖拽排序与层级校验
- **职级管理**:职级信息维护,支持 Excel 导入导出
- **岗位管理**:岗位信息维护,支持状态管理
### 优化
- 配置查询:支持按配置编码直接获取值,支持默认值兜底
- 字典导入导出:支持 Excel 批量导入字典项,含数据校验
- 部门排序:拖拽交互优化,实时保存排序结果
### 修复
- 修复字典编码重复校验遗漏
- 修复部门删除时子部门未同步处理
- 修复空配置值序列化异常
## [2.1.0] - 2024-06-23
**RBAC 权限体系与认证安全。**
### 新增
- **RBAC 权限体系**:用户-角色-菜单三层权限模型,支持按钮级权限控制
- **JWT 认证**:无状态令牌认证,支持令牌刷新与黑名单机制
- **登录安全**:图形验证码、失败次数锁定、密码加密存储
- **菜单管理**:动态路由生成,权限节点可视化配置
- **PermissionRequired 权限混入**:后端接口级权限拦截
- **v-perm 权限指令**:前端按钮级权限控制
### 优化
- 管理员账号(ID=1)自动放行所有权限校验
- 权限数据 Redis 缓存加速,减少数据库查询
- Token 过期自动跳转登录页,携带 redirect URL
### 修复
- 修复 Token 过期响应码统一为 401
- 修复权限缓存刷新延迟
- 修复登录锁定时间计算错误
## [2.0.0] - 2024-03-14
**核心模块与基础架构。**
### 新增
- **Django Web 框架**:基于 Django 5.x,成熟的 MTV 架构,丰富的生态系统
- **Django ORM**:声明式模型定义,自动迁移,多数据库方言支持
- **Django ModelForm**:声明式表单验证,自动错误信息生成
- **Vue3 前端**:基于 Vue3 + ElementPlus,前后端分离架构
- **用户管理**:用户账号管理、密码重置、启用/停用状态控制
- **角色管理**:角色 CRUD、权限节点配置
- **菜单管理**:菜单 CRUD、图标设置、动态路由生成
- **部门管理**:部门树形结构管理
- **登录模块**:JWT 登录认证、图形验证码
- **统一响应**:`R.ok()` / `R.failed()` 统一 JSON 响应格式
- **软删除**:所有数据逻辑删除,避免误删
### 架构特性
- 前后端完全分离架构,前端 Vue3 + 后端 Django
- Django MTV 设计模式,Model-Form-Service-View 分层
- 统一响应格式与异常处理
- 中间件链式处理:CORS → JWT 认证 → 权限校验 → 操作日志
- 动态路由与菜单驱动,后端配置前端自动渲染