53 lines
3.8 KiB
Markdown
53 lines
3.8 KiB
Markdown
# 1.6 更新日志
|
||
|
||
:::tip 概述
|
||
本项目遵循语义化版本演进,重大架构决策与约定变更记录于此。详细提交历史见 [Gitee 仓库](https://gitee.com/easygoadmin/EasyGoAdmin_GoFrame_EleVue)。
|
||
:::
|
||
|
||
## v4.0.0(2026-10 · 当前版本)
|
||
|
||
GoFrame+ElementPlus 版本首个正式封板版本,25 张业务表 → 27 个模块完整落地。
|
||
|
||
### 架构定稿
|
||
|
||
+ **主键统一 int 数据库自增**(2026-10-13 定稿):禁用雪花算法(`utility/id` 已删除);新增后用 `result.LastInsertId()` 回读;hooks 不填 id
|
||
+ **目录平铺结构**:api/v1、controller、logic、service 均为单包,每模块一个 snake_case 文件,同包 init 自动注册
|
||
+ **中间件链定稿**:CORS → Response → RateLimit → Demo → JWT → Tenant → OperationLog,权限校验在 Bind 包装层完成
|
||
+ **筛选对齐三件套**(2026-10-14 定稿):前端 querySchemas.ts ↔ XxxPageReq 同名驼峰字段 ↔ spec 声明(LikeFields/EqFields),导出与列表同套筛选
|
||
+ **URL 约定**:全部路由统一 `/api` 前缀,无 `/v1` 版本段;公开白名单三处一致(public.go / gmeta public 标签 / router.go 手工注册)
|
||
|
||
### 功能清单
|
||
|
||
+ 认证与安全:JWT 双令牌(access 2h + refresh 7d 轮换)、jti 黑名单、图形验证码(TTF 渲染 + SVG 降级)、bcrypt 双重加盐、固定窗口限流(认证入口独立阈值)、演示模式、受信代理 IP
|
||
+ 权限体系:RBAC(user→role→menu 权限节点)、gmeta permission 标签、前端权限指令、超管通配权限 `*:*:*`
|
||
+ 多租户:9 张租户级表自动隔离(hooks.tenantTables)、租户状态/过期中间件校验(60s 缓存)、事务化开户、用户上限
|
||
+ 数据权限:role.data_scope 四档(全部/本部门及以下/本部门/仅本人),`ApplyDataScope("dept_id")` 一行声明接线
|
||
+ CRUD 基座:ModuleSpec 泛型(筛选/排序/树形/字典/文件/富文本/唯一校验/钩子/数据权限)
|
||
+ 监控体系:在线用户(双令牌拉黑强退)、服务器监控、缓存监控(Redis INFO)、操作日志(异步批量落库 + 脱敏)、登录日志(ip2region 归属地)
|
||
+ 定时任务:数据驱动调度器、HTTP/本地处理器双形态、三种执行策略、多实例执行锁(job:lock:{id})、内置 LogClean/CleanTemp
|
||
+ 代码生成器:HTTP + CLI 双入口、后端八件套 + 前端五件产出、菜单/权限/字典/路由幂等副作用、覆盖策略保护
|
||
+ 整库迁移器:五方言互迁(内省 → IR → 方言 DDL → 分批搬运 → 序列修复 → 行数校验)
|
||
+ 文件体系:两段式上传(temp → 正式目录)、富文本 [IMG_URL] 持久化契约、临时目录每日 03:30 自动清理
|
||
|
||
### 工程保障
|
||
|
||
+ 静态门禁:`go vet` + `gofmt` 检查;前端 ESLint + Prettier + Stylelint + commitlint
|
||
+ 测试:sqlite 集成测试 + hooks MySQL 集成测试
|
||
+ 回归:hack/golden 黄金样本接口响应比对(录制参数带 pageSize=3 等)
|
||
+ OpenAPI:gmeta 补注册进 gf goai,`/api.json` 原生输出 + `/swagger` 本地 Redoc 页面
|
||
|
||
## 历史版本
|
||
|
||
| 版本 | 说明 |
|
||
|------|------|
|
||
| v4.0.0-beta | 27 模块全量实现,架构决策落地(主键自增、中间件链、筛选三件套定稿) |
|
||
| v4.0.0-alpha | 项目初始化:GoFrame 骨架 + 核心模块(auth/user/role/menu)+ 前端工程搭建 |
|
||
|
||
## 破坏性变更记录
|
||
|
||
::: warning 变更须知
|
||
+ 2026-10-13:主键策略由雪花算法改为数据库自增——历史数据的 id 语义不变,但新增代码禁止依赖 `utility/id`(包已删除)。
|
||
+ URL 全部去版本段——`/api/v1/*` 形式的旧链接失效,前端 baseURL 为 `/api`。
|
||
+ 前端登录响应字段为 `access_token/refresh_token/expires_in/token_type`(下划线),与全局驼峰约定不同,这是 OAuth2 惯例,禁止"修正"。
|
||
:::
|