From 5955263ce59074ddd9076ab75af7cd56c6bf069b Mon Sep 17 00:00:00 2001 From: xuxueli <931591021@qq.com> Date: Wed, 19 Nov 2025 13:27:57 +0800 Subject: [PATCH] =?UTF-8?q?docs(job):=20=E6=9B=B4=E6=96=B0=E5=AE=98?= =?UTF-8?q?=E6=96=B9=E6=96=87=E6=A1=A3=E5=B9=B6=E4=BC=98=E5=8C=96=E5=89=8D?= =?UTF-8?q?=E7=AB=AF=E9=94=99=E8=AF=AF=E9=A1=B5=E9=9D=A2=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改文档中关于API响应结构调整的说明,明确指出openapi交互需要注意字段变更 - 在错误页面模板中引入公共宏定义,并增加对Tab页打开情况的判断隐藏返回按钮 - 增加JavaScript工具函数isOpenWithTab用于检测当前是否在Tab中打开页面 - 更新无框架执行器配置类中的属性加载方式,使用PropTool工具类替换自定义实现 - 优化权限工具类中对登录信息额外数据的空值判断逻辑,增强代码健壮性 - 补充版本升级备注说明,包括数据模型兼容性和客户端依赖更新建议 --- doc/XXL-JOB官方文档.md | 5 ++- .../admin/util/JobGroupPermissionUtil.java | 4 ++- .../resources/static/biz/common/admin.util.js | 11 +++++- .../templates/common/common.errorpage.ftl | 17 ++++++++- .../config/FrameLessXxlJobConfig.java | 35 +++---------------- 5 files changed, 37 insertions(+), 35 deletions(-) diff --git a/doc/XXL-JOB官方文档.md b/doc/XXL-JOB官方文档.md index 6f4af450..bb7efb93 100644 --- a/doc/XXL-JOB官方文档.md +++ b/doc/XXL-JOB官方文档.md @@ -2619,7 +2619,7 @@ public void execute() { - 7、【优化】任务回调失败日志读写磁盘逻辑优化,解决极端情况下大文件读写内存问题; - 8、【升级】Http通讯组件升级,基于接口代理方式重构通讯组件,提升组件性能及扩展性; - 9、【重构】规范API交互协议,通用响应结构体调整为Response,调度中心API统一为Response封装数据; - (注意:响应结构体从ReturnT升级为Response,其中属性值“content”会调整为“data”,取值逻辑需注意) + (注意:a)响应结构体从ReturnT升级为Response,其中属性值“content”会调整为“data”,通过openapi交互场景需要关注) - 10、【重构】调度过期策略、调度类型策略逻辑重构,代码组件化拆分并完善日志,提升健壮性及可维护性; - 11、【重构】调度中心底层组件重构,组件初始化以及销毁逻辑统一处理,任务触发及和回调逻辑优化,避免资源泄漏风险; - 12、【重构】调度中心底层组件模块化拆分,移除组件单例以及静态代码逻辑,提升组件可维护性; @@ -2657,6 +2657,9 @@ public void execute() { - 19、【优化】调度组件日志完善,提升边界情况下问题定位效率; - 20、【升级】升级多项maven依赖至较新版本,如 netty、groovy、springboot、spring-ai、dify、mybatis、xxl-sso 等; +**备注:** +a、本次升级数据模型向前兼容,v3.2.*版本可直接升级不需要进行数据调整; +b、本次升级针对客户端rollinglog依赖字段做规范约束,如不关注改功能 v2.4.* 及后续版本客户端可忽略,否则需要一并升级客户端版本; ### TODO LIST - 1、调度隔离:调度中心针对不同执行器,各自维护不同的调度和远程触发组件。 diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/util/JobGroupPermissionUtil.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/util/JobGroupPermissionUtil.java index 39b1ff8d..08603fbb 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/util/JobGroupPermissionUtil.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/util/JobGroupPermissionUtil.java @@ -51,7 +51,9 @@ public class JobGroupPermissionUtil { if (XxlSsoHelper.hasRole(loginInfoResponse.getData(), Consts.ADMIN_ROLE).isSuccess()) { return jobGroupListTotal; } else { - List jobGroups = (loginInfoResponse.getData().getExtraInfo()!=null && loginInfoResponse.getData().getExtraInfo().containsKey("jobGroups")) + List jobGroups = (loginInfoResponse.getData().getExtraInfo()!=null + && loginInfoResponse.getData().getExtraInfo().get("jobGroups")!=null + ) ? StringTool.split(loginInfoResponse.getData().getExtraInfo().get("jobGroups"), ",") :new ArrayList<>(); diff --git a/xxl-job-admin/src/main/resources/static/biz/common/admin.util.js b/xxl-job-admin/src/main/resources/static/biz/common/admin.util.js index 7a4d3467..ec91ba9b 100644 --- a/xxl-job-admin/src/main/resources/static/biz/common/admin.util.js +++ b/xxl-job-admin/src/main/resources/static/biz/common/admin.util.js @@ -34,5 +34,14 @@ $(function(){ } } } - + + // ---------------------- isOpenWithTab ---------------------- + + /** + * 是否在Tab中打开 + */ + window.isOpenWithTab = function () { + return !!window.parent.$.adminTab; + } + }); diff --git a/xxl-job-admin/src/main/resources/templates/common/common.errorpage.ftl b/xxl-job-admin/src/main/resources/templates/common/common.errorpage.ftl index 1b147586..9e81e419 100644 --- a/xxl-job-admin/src/main/resources/templates/common/common.errorpage.ftl +++ b/xxl-job-admin/src/main/resources/templates/common/common.errorpage.ftl @@ -1,6 +1,9 @@ + <#-- import macro --> + <#import "../common/common.macro.ftl" as netCommon> + Error