b0a02e56b03ea4544bb18e929ff62966cf52286c
build / build-push (push) Successful in 2m42s
模块表 app_module 是 level<=5 的树,管理端下发时带 children,但开放接口这条链 转成平台 BoaModule 时层级被拍平(且旧 SDK 契约无 children 字段可承载),导致每个 子应用各自复制一份 buildModuleTree 重建父子关系。 现按同目录 BoaGroup.children 的既有口径补齐:findUserModulesForApp 的三个返回点 (超管短路 / 应用无模块 / 正常路径)统一收口到 assembleModuleTree 建树。 语义:顶层只放真根(parentId 为空),兄弟沿用开放接口原有 customId 升序口径(不与 管理端 sortNo+id 统一),叶子 children 为空列表以便前端无判空递归;父模块不在本次已 授权集合内的孤儿子节点连同整枝子孙一并丢弃,并逐条打 warn([oapi:modules] drop orphan module)避免静默少菜单——授权配置须保证「授权子模块必先授权父模块」。 新增 GroupAuthzServiceModuleTreeTest 9 例:三级嵌套与排序、sortNo 不参与、叶子空 列表、parentId 成环不死循环、全 level-1 时与改造前扁平输出等价、无模块返空、孤儿整 枝丢弃、父子同授权则嵌套、JSON 往返证明层级确实经线格式下发且可反序列化。
Description
managed by projman
1.5 MiB
Languages
Java
99.1%
JavaScript
0.6%
Python
0.2%