更新日志
v1
v1.5.4(2026-07-29)
- 增强了 AI 开发规范:软删除场景下唯一性校验须覆盖已删记录,新表唯一约束改用部分唯一索引
WHERE del_flag = false;表单须前后端双校验;handle.ts导出函数须写 JSDoc;实体下拉走缓存/options接口,禁止用分页/list;响应 DTO 须声明完整字段以免被 Elysia 剥离;明确 禁止读写server/database/sql/pg.sql(仅作备份快照)。 - 同步了各 IDE Agent 规则与 Skill(Cursor / Claude / Qoder / Trae / Kiro / Codex
AGENTS.md),并补齐.ai模板索引、生成规则与前端硬规则中的对应条目。 - 优化了模块脚手架产出:
create:module生成的handle.ts五个导出函数自动带中文 JSDoc;create:page生成的表格列、搜索/弹窗表单标签、placeholder 与校验message改用 Schema 行尾注释解析出的中文标签,开箱与后端fieldLabels对齐。
v1.5.3(2026-07-22)
- 增强了生产构建安全:
bun run build复制production.yaml到dist后,自动为jwt.accessToken.secret/jwt.refreshToken.secret注入 ≥32 字节随机串(base64url),源码配置不变;每次重新打包会轮换密钥,旧 token 失效。 - 修复了登录失败可枚举用户名的问题:账号不存在与密码错误统一返回
400+ 用户名或密码错误,与忘记密码接口的防探测思路一致。 - 修复了改密 / 重置后会话未失效的问题:新增
InvalidateUserSession,在SetUserPassword、禁用用户、软删用户时清理ONLINE_USER/ refresh / 菜单缓存;登出与在线用户强退复用同一逻辑。 - 增强了 Refresh Token 重放检测:轮换时写入
refreshUsed墓碑;已作废的 refresh 再被使用时调用InvalidateUserSession整族吊销,并返回401「会话已失效,请重新登录」。 - 优化了密码哈希性能:
BcryptHash/BcryptCompare由hashSync/verifySync改为异步Bun.password.hash/verify,避免并发登录阻塞事件循环。 - 优化了操作日志落库:
onAfterResponse中AddOperLog改为投递专用 BullMQ 队列system-oper-log-queue,由 Worker 异步InsertOne,降低请求尾延迟并减轻与请求共用连接池的争抢。 - 增强了 API 安全响应头:新增
SecurityHeadersMiddleware,统一下发X-Content-Type-Options/X-Frame-Options/CSP frame-ancestors/Referrer-Policy;HSTS 由配置项app.hsts控制(开发关、生产开,需 HTTPS / 前置 TLS)。 - 优化了鉴权 Redis 压力:
AuthGuard对ONLINE_USER增加 2s 进程内 L1;登出/强退/改密与角色权限刷新时清本机缓存(多实例他机最多滞后约 2s)。 - 优化了角色权限变更:按
roleId查受影响用户,只删USER_PERM/ 菜单 / L1,不再Keys(ONLINE_USER+*);鉴权与findPerm按需加载权限。 - 修复了列表缓存写路径竞态:IP 黑名单改为写库后
Del(IP_BLACK),读继续WithCache;移除无锁的CacheInsert/CacheUpdate/CacheDelete。 - 增强了列表分页边界:
FindPage统一 clamp(pageNum≥1,pageSize默认 10、上限 100);BaseListQueryDto同步minimum/maximum校验。
v1.5.2(2026-07-21)
- 新增了 AI 后端「跨表数据访问」规范:跨表须调用所属模块
handle.ts导出的 PascalCase 函数,禁止直接引入他模块 schema;路由函数小写驼峰,跨模块导出 PascalCase。 - 优化了生产构建的 chunk 输出:
Bun.build的 chunk 命名改为chunks/chunk-[hash].[ext],打包产物统一落在dist/chunks/目录,清理时可整文件夹删除,不再散落于dist/根目录。 - 修复了 chunk 移入子目录后的路径解析:
src/config/index.ts与src/app.ts改用getDistRoot()定位 dist 根目录,避免import.meta.dirname指向dist/chunks/导致production.yaml与静态资源public/读取失败。
v1.5.1(2026-07-19)
- 重构了服务端日志:自研
consoleLogger 替换为 pino;开发环境用pino-pretty彩色输出,生产环境按日写入dist/logs/YYYYMMDD/(主进程app.log/error.log/http.log,Worker / 沙箱 Processor 为worker.log/worker-error.log)。 - 新增了配置项
log.level、log.showRequestParams(development.yaml/production.yaml):控制日志级别,以及 HTTP 访问日志是否记录 query / body / params。 - 修复了 BullMQ 沙箱 Processor 定时任务日志落到 PM2 stdout 的问题:识别
dist/processors/*.js与dist/dist/cjs入口,日志目录锚定dist/logs,子进程继承APP_ROLE=worker。 - 优化了日志分流:
warn/error写入错误文件,info保留在 app/worker;请求校验失败仅记短消息,不再整包 dump 进app.log(详情以http.log状态码为准)。 - 增强了启动失败可观测性:配置校验失败、未捕获异常与启动失败通过
appendFatalLog同步写入当天error.log/worker-error.log;PM2ecosystem不再采集 stdout/stderr,排查直接看dist/logs/YYYYMMDD/。 - 调整了 TypeScript 配置:移除已弃用的
baseUrl,paths改为相对 tsconfig 的显式映射(含database/*、script/*)。 - 修复了在线用户列表接口响应校验失败:
monitor-online的ListDto将username/email/phone/sex/avatar改为可选且允许null,与 Redis 中实际在线用户字段一致。
v1.5.0(2026-07-11)
- 新增了 MCP 服务 指南:覆盖官方
elysia-admin-mcp(源码活索引,14 个工具)与pg-mcp-server(PostgreSQL 只读查询)的职责边界、Cursor / Claude Code / Codex 接入配置、环境变量与只读纪律;与.ai/AI_MCP_SETUP.md对齐。
v1.4.14(2026-07-08)
- 新增了登录日志与操作日志列表筛选:后端
system-login-log/system-oper-log扩展ListDto与QueryBuilder(用户/IP/模块/操作/请求方式/用户类型/状态及createTime日期范围);前端拆分loginlog-search.vue、operlog-search.vue搜索栏,字典下拉与日期快捷范围与列表页联动。 - 优化了
CrudDto.create与模块脚手架:fieldLabels/fieldTypes为必填字段自动生成中文error校验文案;create:module模板从 Schema 字段comment写入 DTO,避免校验失败时前端收到 JSON 而非可读提示。 - 重构了 AI 代码模板与 Token 预算:
.ai/AI_CODE_EXAMPLES.md拆为索引 +AI_CODE_EXAMPLES_BACKEND.md/AI_CODE_EXAMPLES_FRONTEND.md,各 IDE Agent 规则统一「按任务只读对应章节、单轮最多 2–3 份 .ai 文档」等读文件纪律;dto.ts校验须含中文error写入全局规则。 - 新增了 Qoder IDE 项目配置(
.qoder/rules/、elysia-module-devSkill、settings.json),与 Cursor / Claude / Trae / Kiro / Codex 规则语义对齐;根目录AGENTS.md与分层 rules 说明见.qoder/README.md。 - 新增了开发者本地偏好示例
.ai/dev-preferences.local.example.md:复制为 gitignore 的dev-preferences.local.md并设置db_push: allowed后,AI 可在 schema 变更后自动执行bun run db:push。
v1.4.13(2026-07-03)
- 重构了 Docker 镜像构建:改为多阶段执行
bun run build,运行镜像仅包含完整dist/(index.js、workers.js、processors/、dist/cjs/、production.yaml、public/);单容器同时启动 HTTP 与 Worker,不再使用--compile单文件 + distroless;新增server/.dockerignore并收窄 build 阶段 COPY(仅script/、src/、database/schema、public/等必要文件)。 - 优化了生产构建:
script/build.ts合并为单次Bun.build,index / Worker / 全部 Processor 共享 chunk,减少重复打包与构建时间;stub 入口由script/build-shared.ts临时生成于script/.build-entries/。 - 统一了 Processor 增量构建:
script/build-processors.ts与生产 build 共用runProcessorBuild、copyBullmqCjs(BullMQ 沙箱 bootstrap 统一输出至dist/dist/cjs/,修正 dev 原先写到dist/cjs/的路径偏差)。 - 拆分了启动种子数据:
script/seed.prod.ts(API 同步 + 定时任务恢复)、script/seed.dev.ts(空库执行pg.sql);src/index.ts生产路径仅静态加载 prod,dev 动态 import,减小生产 bundle 体积。 - 移除了无效的
task-registry.generated.ts构建:任务恢复仍由task-registry.ts的RegisterAllTasks()从数据库加载,不再在 build 时扫描modules/*/task.ts。 - 更新了 部署指南 Docker 章节与 内置命令 Docker 说明:反映单容器双进程、配置挂载路径与
--init建议。 - 更新了 队列指南 自定义队列 checklist:移除向
build.ts/build-processors.ts手动追加 processor 列表的过时步骤(已由discoverProcessorEntries()自动发现)。
v1.4.12(2026-07-01)
- 移除了服务端
zod依赖:配置校验改为 Elysiat(TypeBox)schema +Value.Check,与路由 DTO 校验栈统一;IConfig类型改为Static<typeof ConfigSchema>。 - 优化了生产构建体积:主进程与 Worker、多个 Processor 分别启用
bun build --minify --splitting共享 chunk;相较独立单文件打包,主进程 + Worker 与 Processor 区 JS 总体积显著下降(部署时需连同dist/根目录及dist/processors/下的chunk-*.js一并上传)。 - 新增了 Processor 构建自动发现:
discoverProcessorEntries()扫描queues/*/processor.ts,新增沙箱队列无需再改build.ts/build-processors.ts硬编码列表;构建参数抽取至script/build-shared.ts。 - 调整了 Docker 镜像构建:编译参数由
--minify-whitespace --minify-syntax改为完整--minify。 - 简化了本地开发与构建命令:
package.json中dev/dev:debug*/dev:workers内置NODE_ENV=development,build/build:processors/start内置NODE_ENV=production;新增bun run start生产直启dist/index.js,无需再在命令行前手动设环境变量。
v1.4.11(2026-06-23)
- 修复了生产环境打包部署后静态资源路径错误:
staticPlugin原先使用resolve(import.meta.dirname, '../public'),打包后index.js位于部署目录(如/www/wwwroot/elysia-admin)时实际解析到上一级public/(如/www/wwwroot/public),与build复制到dist/public的布局不一致,启动时报ENOENT: no such file or directory;生产环境改为同目录public,开发环境保持../public指向server/public。 - 修复了未登录调用登出接口可能误删缓存的问题:
logout在无userId时直接返回成功,避免undefined拼入 Redis key 前缀。
v1.4.10(2026-06-16)
- 新增了系统管理「通知公告」菜单及前后端 CRUD,通知类型复用字典
system_notice_type,内容支持富文本编辑; - 新增了仪表盘「分析页」「电商页」示例(
dashboard/analysis、dashboard/ecommerce),含销售趋势、热门商品、访客洞察等演示模块,种子数据补充对应菜单; - 修复了系统用户批量删除对 uuid 主键无效的问题:
SoftDeleteByKeys原先对ctx.params.ids一律.map(Number),uuid 会变成NaN导致软删除失效;现按主键列dataType区分,number仍转数字、string(含 uuid)保留原值;system-user的remove改走 repository 抽象,移除 handle 内直连pg的写法。
v1.4.9(2026-06-12)
- 修复了后台 CRUD 弹窗「编辑后再新增」时表单数据未清理的问题:
initFormData使用Object.assign(formData, { ...row })会把列表行的主键(如deptId、apiId)与审计字段挂到 reactive 表单上,切换新增后仍随 create 请求提交导致接口报错。 - 统一改为
getDefaultFormData()打开弹窗时先重置默认值、删除可能残留的审计字段、编辑模式再显式赋值;已修复部门(dept-dialog)、接口(api-dialog)、角色(role-edit-dialog)、IP 黑名单(blacklist-dialog)、定时任务(job-dialog)、存储配置(storage-dialog)共 6 个弹窗;字典、用户、菜单等页面此前已采用相同模式无需改动。 - 修复了系统用户新增时备注未入库的问题:
system-user模块CreateDto未声明remark(及avatar、status),Elysia 校验请求体时会丢弃未定义字段;编辑接口基于SelectSystemUser含remark故不受影响。已在CreateDto补全上述字段。 - 修复了
/api/system/menu/simple只勾选子菜单时子菜单丢失的问题:handleMenuListToTree在父节点未授权时会丢弃孤儿节点;现于loadUserMenuTree自动补全祖先链,未直接授权的父级合成isHide,并增加孤儿挂 root 兜底。 - 修复了只勾选按钮权限时侧边栏误显示所属菜单的问题:
GetRoleMenuIdsAndBtnIds原先将按钮行的menuId一并计入可见菜单;现menuIds仅取menuBtnId为 null 的纯菜单授权行,按钮权限仍通过menuBtnIds与 API 权限字符串正常生效。 - 修复了角色权限弹窗仍展示已禁用菜单与按钮的问题:
/api/system/menu/tree原先仅过滤delFlag;新增查询参数enabledOnly,角色权限分配时传true仅返回status=true的菜单与按钮,菜单管理页保持展示全部记录。
v1.4.8(2026-06-10)
- 新增了模块脚手架:在
server/下执行bun run create:module生成后端route.ts/dto.ts/handle.ts,bun run create:page生成后台 types、api、views 标准 CRUD 骨架;依赖已有 Drizzle Schema,支持--schema、--dry-run。 - 新增了脚手架脚本与模板(
server/script/create-module.ts、create-page.ts、script/scaffold/)及server/test/script/scaffold.test.ts单测。 - 新增了
.ai/AI_MODULE_SCAFFOLD.md,说明脚手架使用场景、命令示例及跑完后 AI 增量职责(业务逻辑、表格/弹窗排版、字典与 handoff SQL)。 - 更新了 AI 模块工作流(
.ai/AI_MODULE_WORKFLOW.mdStep 2.5)、.ai/README.md、.ai/AI_CONTEXT_CAPSULE.md与 Cursor Skill(.cursor/skills/elysia-module-dev/):标准单表 CRUD 优先脚手架,再让 AI 做增量。 - 同步更新了 Cursor / Codex / Claude Code / Trae / Kiro 的 Agent 规则(
AGENTS.md、server/AGENTS.md、admin/AGENTS.md等),各 IDE 均可识别create:module+create:page推荐流程。 - 更新了 AI 开发指南:新增「推荐流程(脚手架 + AI)」与档0 提示词(脚手架已生成后的增量开发)。
- 补充了 内置命令「模块脚手架命令」章节。
- 优化了 BullMQ Redis 键前缀:Queue / Worker 使用
app.id作为prefix(如Elysia-Admin:flow-buffer-queue:meta),替代默认bull:+ 队列名拼appId的旧形态;多应用共用 Redis 时仍按应用隔离,旧bull:*键需手动清理。 - 新增了内置队列监控,替代原 Bull Board 独立面板:移除
@bull-board/api、@bull-board/elysia依赖及bull-board-ui.ts,监控能力统一纳入 Admin 后台与 RBAC。 - 新增了后端
monitor-queue模块(server/src/modules/monitor-queue/):队列列表、按状态分页查任务、任务详情与日志、单/批量重试、删除、清空 completed/failed、暂停/恢复、延迟任务立即执行(promote);权限码monitor:queue:query/retry/delete/clean/pause/promote。 - 新增了前端队列监控页(
admin/src/views/monitor/bullmq/):三栏布局(队列列表 / 任务列表 / 任务详情),支持延迟倒计时、运行日志、3 秒 / 5 秒自动刷新;配套api/monitor/queue.ts与types/api/monitor-queue.d.ts。 - 扩展了
QueueManager:注册队列时记录description元数据,对外提供getQueueMeta/getAllQueueMeta供监控接口使用;closeAll时同步清空内部 Map。 - 更新了种子数据
server/database/sql/pg.sql:补充「系统监控 → 队列监控」菜单(/monitor/bullmq)及按钮权限;启动横幅移除 Bull Board 地址提示。 - 更新了 队列指南 与 部署指南 监控章节:入口改为 Admin 后台,说明新面板能力与权限要求。
- 修复了生产环境经 Nginx 反代后登录日志 IP 全为
127.0.0.1:production.yaml默认开启trustProxy并配置trustedProxyCidrs(127.0.0.1/::1),在受信代理场景下正确解析X-Forwarded-For/X-Real-IP(需反代层传递对应头)。 - 为
server/src/config/schema.ts各配置段与字段补充了 JSDoc 注释,说明用途、单位及可被环境变量覆盖的项。
v1.4.7(2026-06-09)
- 重构了后端错误处理:HTTP 路由 handler 移除重复的
try/catch,未捕获异常统一由全局onError收口;服务端日志保留完整stack,客户端仍返回通用 500 文案。 - 新增了
server-error工具(getHttpStatus/getPgErrorCode/logServerError),支持业务httpStatus(如 409)、PostgreSQL 唯一约束23505等在全局层映射。 - 调整了
BaseResultData.fail:仅对业务主动返回的字符串 500 打日志,避免与onError重复记录异常对象。 - 拆分了应用启动配置:
ConfigureErrorHandler→middleware/error-handler.ts,ConfigureOpenAPI→infrastructure/openapi.ts,ConfigureBullMQUI→infrastructure/queue/bull-board-ui.ts,app.ts仅保留CreateApp组装逻辑。 - 更新了 AI 代码模板(
.ai/AI_CODE_EXAMPLES.md):标准 CRUD handler 不再生成通用try/catch;补充useDictStore字典字段示例。 - 新增了 AI 模块开发工作流(
.ai/AI_MODULE_WORKFLOW.md及 Schema / Handoff SQL / MCP / 页面排版子指南),Handoff SQL 统一输出至server/database/sql/{模块名}-init.sql。 - 新增了 Cursor 项目 Skill(
.cursor/skills/elysia-module-dev/),9 步 checklist 对齐 Schema → 代码 → 字典 → 前端 → SQL 交付;AI 规范文档(.ai/、.cursor/rules/)面向 Agent 统一为英文。 - 新增了
.ai/AI_PAGE_QUALITY.md(列表页art-full-height、useDictStore、弹窗排版等整页质量规范)。 - 同步更新了 Trae / Kiro steering 与
.cursor/rules/general.mdc(模块开发触发语、Git 只读、MCP 查库优先)。 - 重写了 AI 开发指南:三档提示词(一句话 / 两句 / 结构化)、网页版短前缀指引,移除过时内联代码模板。
- 新增了 OpenAI Codex 分层指令(根目录及
server/、admin/的AGENTS.md)与.codex/README.md。 - 新增了 Claude Code 配置(
.claude/CLAUDE.md、.claude/rules/),规则语义与 Cursor / Trae 对齐。 - 新增了 VS Code / Cursor 开发配置(
.vscode/:settings、extensions、tasks、launch)及多根工作区elysia-admin.code-workspace。 - 新增了后端调试命令:
dev:debug(IDE Attach 6499)、dev:debug:browser(推荐,配合 debug.bun.sh)、dev:debug:watch(调试 + 热重载,默认不推荐)。 - 新增了
server/script/dev-debug.ts调试启动脚本,终端提示浏览器断点流程。 - 调整了
.vscode/launch.json:改用内置 Node 调试器 Attach 6499,替代原type: bun(Cursor / Trae 下扩展调试适配器常不可用);.vscode/tasks.json补充Server: dev:debug相关任务。 - 补充了 内置命令 文档:独立「调试命令」「构建命令」章节,说明命令与编辑器 Tasks / Launch 配套用法。
v1.4.6(2026-06-08)
- 新增了启动期 Zod strict 校验
*.yaml配置,缺字段、类型错误或未知 key 时 fail-fast 并输出可读错误。 - 修复了 PostgreSQL 连接池
connect_timeout配置未生效(原误读connection_timeout)。 - 修复了 PM2 生产部署下队列 Worker 沙箱 processor 子进程找不到
production.yaml的问题(CONFIG_PATH误解析为dist/dist/路径)。 - 修复了用户管理删除用户失败的问题。
- 修复了用户弹窗「编辑 → 新增」切换时表单未完整重置、异步详情回填错乱的问题(Gitee IJRSXJ)。
- 修复了登录后菜单/权限数据为空时路由初始化失败,500 页无法返回登录页的问题;菜单校验失败时自动登出并提示,异常页支持「重新登录」兜底。
v1.4.5(2026-06-01)
- 修复了字典类型弹窗在「编辑 → 新增」切换时表单未完整重置,偶发提交 400 的问题。
- 更新了字典类型编码修改逻辑:同步级联更新下属字典数据的
dictType,并清理类型/数据相关 Redis 缓存;前端同步刷新右侧字典值列表与当前选中类型。 - 新增了
sha256WithRsa(RSA-SHA256)供 v3 请求签名与 JSAPI 调起签名使用,与 OpenSSL 算法名对齐。 - 优化了
buildWechatOrderBody,仅白名单透传attach、goods_tag、time_expire等文档允许的可选字段,避免将openid、clientIp等由各渠道自行处理的字段误写入通用下单 body。 - 更新了微信支付回调验签,统一使用
RSA-SHA256(crypto.createVerify),与微信 v3 平台证书验签规范一致。 - 接入了 Bun 内置
bun test(test/test:watch/test:coverage),新增server/test/纯函数与QueryBuilder单元测试基线。 - 补充了架构文档测试命令说明(内置命令 - 测试命令)。
v1.4.4(2026-05-21)
- 修复了在环境中同时存在 Node.js v24 时,
@bull-board/elysia顶层静态 import 触发 CJSrequire()加载含 Top-Level Await 的 ESM 模块而报错的问题:将@bull-board/api、@bull-board/elysia及queues的 import 由顶层静态引入改为configureBullMQUI函数内部的动态await import()。 - 文档:补充了存储配置指南中各服务商(RustFS、COS、OSS、Kodo)的后端配置字段示例。
v1.4.3(2026-05-20)
- 将系统用户主键
userId由自增数字改为 UUID 字符串,避免管理端与小程序等多套用户表在 Redis 在线会话、令牌等场景下 ID 冲突;同步调整createBy/updateBy及关联表、前后端类型定义。 - 修复了在线用户强退无效的问题:强退接口不再将 UUID 转为数字,并同步清除刷新令牌与菜单缓存。
- 优化了在线监控页:强退当前登录账号后自动执行前端登出。
v1.4.2(2026-05-18)
- 修复了菜单删除或禁用后左侧栏仍显示的问题:用户菜单查询增加
delFlag、status过滤,菜单变更后自动清除 Redis 菜单缓存。 - 优化了菜单管理页:保存或删除后自动刷新侧边栏动态路由(后端权限模式)。
v1.4.1(2026-05-16)
- 规范了 HTTP 路由注册方式,并收紧路由、接口处理函数的类型定义,便于 IDE 提示与排查。
- 优化了路由自动加载:某个业务模块加载失败时会在日志中明确提示,不再静默跳过。
- 优化了队列 Worker 与业务模块的耦合方式:沙箱任务统一登记,基础设施层不再直接引用业务代码。
- 新增了请求上下文类型
AppContext,业务接口可 typed 访问当前用户、路由权限等信息,减少(ctx as any)写法。 - 生产构建时预生成的路由列表带类型信息,TypeScript 检查更准确。
- 更新了后端开发规范与工程配置,与当前目录划分(业务类型 / 声明文件 / 沙箱任务)保持一致。
- 调整了定时任务与 Redis 分布式锁的代码归属,与「工具层不依赖核心层」的架构约定一致。
v1.4.0(2026-05-15)
- 优化了订单管理前后端功能。
- 新增了支付调试能力。
- 优化了服务端启动日志的版本提示。
- 更新了项目文档与 AI 开发指引。
自 2026-05-15 起,版本号按功能域重新对齐。原文档中的 v1.2.2 对应 v1.3.2,当前最新版为 v1.4.2。
v1.3.2(2026-05-13)
- 新增了服务端预编译能力。
- 新增了公开注册
allowPublicRegister与ALLOW_PUBLIC_REGISTER开关,生产配置默认关闭。 - 修复了注册假成功(未向上抛出异常)与重置密码操作顺序不一致的问题。
- 优化了 IP 获取逻辑,仅在
trustProxy受信代理场景下解析X-Forwarded-For。 - 增加了 IP 归属地查询超时与降级处理,失败不再影响登录流程。
- IP 路由限流改为 Redis 原子计数,消除高并发下的「先读后写」竞态。
- 修复了
BaseResultData.fail在 500 状态码下错误日志拼接问题。 - 优化了
WithCache,现在可正确缓存0、false、空数组等合法结果。 - 统一了 CORS/静态资源配置。
- 规范了
SIGINT/SIGTERM服务关闭顺序,移除重复的信号处理。 - 为
IConfig补充了针对app.listen返回值类型的 TypeScript 修复。
v1.3.1(2026-05-12)
- 新增了退款接口。
- 新增了 AI 开发规范文件。
- 修复了
WithCache缓存命中判断缺陷(空数组和对象类型缓存永远未命中问题)。 - 修复了权限守卫读取路径错误,细粒度接口权限校验现已正确生效。
- 修复了
GetMenuPermissionByRoleIds和GetRoleMenuIdsAndBtnIds在角色无按钮权限时触发全表扫描,导致权限数据返回异常的严重 Bug。 - 优化了
FindPage分页查询,使用窗口函数COUNT(*) OVER()将常规分页由 2 次 DB 查询合并为 1 次。 - 优化了认证守卫,去除了 JWT 重复解析(移除冗余的
ParseToken调用)。 - 优化了 IP 黑名单缓存,SQL 层直接过滤
status=true数据,减少缓存体积。 - 修复了角色权限变更时
forEach(async)并发无序问题,改为串行处理确保稳定性。
v1.3.0(2026-05-10)
- 新增了支付适配层与路由分发。
- 新增了支付宝 PC / H5 / App / 小程序各端接入,并修复了各端支付与回调问题。
- 新增了微信支付、PayPal 多渠道接入。
- 新增了 PC 端支付完成处理与异步通知回调校验优化。
- 同步更新了支付相关文档。
v1.2.0(2026-04-18)
- 修复了配置角色权限后菜单不更新等问题。
- 移除了
build:binary命令,具体原因可在 常见问题 中查看。 - 优化了创建订单接口。
- 修复了生产环境 Worker 处理器路径错误。
v1.1.0(2026-04-15)
- 新增了
BullMQ,添加了队列功能。 - 基于
BullMQ重写了定时任务功能。
v1.0.3(2026-04-10)
- 扩充了项目文档体系(快速开始、架构、中间件等章节)。
- 调整了
server中的部分接口目录。
v1.0.2(2026-04-01)
- 新增了订单模块初版接口。
v1.0.1(2026-03-24)
- 新增了业务模块。
- 规范化了部分代码结构。
- 修复了数据库迁移交互不显示的问题。
v1.0.0(2026-03-04)
- 整个系统前后端全部可用。
- 完成了认证、字典、菜单/角色/部门、API 管理、种子数据等核心模块。
- 新增了四重守卫与全局中间件、登录日志、操作日志。
- 新增了存储/文件上传、定时任务(Redis 分布式锁)。
- 新增了缓存模块、接口限流、登录次数限制。
- 启用了 YAML 配置,优化了 Drizzle ORM 配置。
- 修复了 PM2 在线部署等问题。
