package com.yunhai.flowcenter.controller.api;
import com.yunhai.platform.openapi.client.YschBaseOpenApi;
import com.yunhai.platform.utils.model.BoaModule;
import com.yunhai.platform.utils.model.BoaUser;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
/**
* 前端壳基础端点(对齐 UserBase BaseController 的 /api/base/* 形态):GetUserInfo / GetUserMod。
*
GetUserMod 与其他子应用(Notice / svc-hall / 事项库 Cms)统一走平台下发:经 SDK
* {@code YschBaseOpenApi.getUserModule} 取当前用户在本应用({@code yh.open.app-key=100019})下的
* 已授权模块树,层级由平台契约 {@code BoaModule.children} 承载,本侧仅映射为前端 layout
* 期望的字段形状({@code page/modId/children})。
*
设计概览 §9.4「菜单为本地路由约定、不进 app_module」的口径自 2026-09-15 起作废,改为平台统一下发。
*/
@RestController
public class FlowBaseController {
@GetMapping("/api/base/GetUserInfo")
public BoaUser getUserInfo(BoaUser authUserWithDept) {
return authUserWithDept;
}
/**
* 当前用户已授权模块树(左侧菜单)。
*
依赖 UserBase 侧数据:本应用的 {@code app_module} 行({@code path} 须逐字对上
* front 路由,见 router/routes.ts)+ 角色/组授权,二者缺一即返回空菜单。
* 这里不保留本地 MENUS 兜底——静默回退会把「平台未配模块/未授权」伪装成正常,
* 与其他三个子应用口径一致,配置缺失应表现为空菜单并被发现。
*/
@GetMapping("/api/base/GetUserMod")
public List