Files
2026-09-13 17:33:13 +08:00

293 lines
12 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 更新日志
:::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 + Ant Design Vue + 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-10** | **Django 6.0 + Python 3.12 + 架构优化** |
## [3.0.0] - 2026-09-10
**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
- **Ant Design Vue**:采用 Ant Design Vue 组件库,适配 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 + Ant Design Vue,前后端分离架构
- **用户管理**:用户账号管理、密码重置、启用/停用状态控制
- **角色管理**:角色 CRUD、权限节点配置
- **菜单管理**:菜单 CRUD、图标设置、动态路由生成
- **部门管理**:部门树形结构管理
- **登录模块**:JWT 登录认证、图形验证码
- **统一响应**:`R.ok()` / `R.failed()` 统一 JSON 响应格式
- **软删除**:所有数据逻辑删除,避免误删
### 架构特性
- 前后端完全分离架构,前端 Vue3 + 后端 Django
- Django MTV 设计模式,Model-Form-Service-View 分层
- 统一响应格式与异常处理
- 中间件链式处理:CORS → JWT 认证 → 权限校验 → 操作日志
- 动态路由与菜单驱动,后端配置前端自动渲染