From 27a178638c1d0885ca8e6b5169e13a6ac155b8f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Tue, 21 Jul 2026 01:13:25 +0800 Subject: [PATCH] =?UTF-8?q?fix(cms):=20=E4=BF=AE=E5=A4=8D=E5=AF=BC?= =?UTF-8?q?=E8=88=AA=E6=A8=A1=E5=9E=8B=E4=B8=BA=E7=A9=BA=E6=97=B6=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=E7=9A=84=E7=A9=BA=E6=8C=87=E9=92=88=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - CmsNavigationServiceImpl中增加model非空判断,防止model为null时报错 - 新增cms_model表中“案例(case)”模型数据,避免选择此模型时报错 - 保障后台栏目导航选择case模型时的保存操作正常执行 - 优化saveAsync方法,提升对未知模型的兼容性和稳定性 --- docs/sql/2026-07-21_cms_model_add_case.sql | 9 +++++++++ .../cms/service/impl/CmsNavigationServiceImpl.java | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 docs/sql/2026-07-21_cms_model_add_case.sql diff --git a/docs/sql/2026-07-21_cms_model_add_case.sql b/docs/sql/2026-07-21_cms_model_add_case.sql new file mode 100644 index 0000000..38c9961 --- /dev/null +++ b/docs/sql/2026-07-21_cms_model_add_case.sql @@ -0,0 +1,9 @@ +-- 栏目模型「案例(case)」补充:解决后台栏目导航选择模型=case 时后端 NPE 报“操作失败”的问题。 +-- 后端 CmsNavigationServiceImpl.saveAsync 会按 navigation.getModel() 到 cms_model 查模型信息, +-- 若不存在则 model 为 null,随后 model.getSuffix() 抛 NPE。 +-- 插入该模型后即可与 page/article/product 行为一致(banner/thumb/suffix 可被复用)。 +-- 说明:saveAsync 已改为 null 安全,即使本行未执行,case 也能正常保存(仅无 suffix)。 + +INSERT INTO cms_model (name, model, component, component_detail, banner, suffix, thumb, show_type, disabled, sort_number, status, deleted, create_time, update_time) +SELECT '案例', 'case', '/pages/case/index.vue', '/pages/case/[id].vue', NULL, NULL, NULL, 20, 0, 40, 0, 0, NOW(), NOW() +WHERE NOT EXISTS (SELECT 1 FROM cms_model WHERE model = 'case'); diff --git a/src/main/java/com/gxwebsoft/cms/service/impl/CmsNavigationServiceImpl.java b/src/main/java/com/gxwebsoft/cms/service/impl/CmsNavigationServiceImpl.java index de15120..bef98e0 100644 --- a/src/main/java/com/gxwebsoft/cms/service/impl/CmsNavigationServiceImpl.java +++ b/src/main/java/com/gxwebsoft/cms/service/impl/CmsNavigationServiceImpl.java @@ -102,7 +102,7 @@ public class CmsNavigationServiceImpl extends ServiceImpl