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