293 lines
12 KiB
Markdown
293 lines
12 KiB
Markdown
# 更新日志
|
||
|
||
:::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 认证 → 权限校验 → 操作日志
|
||
- 动态路由与菜单驱动,后端配置前端自动渲染
|