task-54(账号/权限页面): 实现后台菜单列表加载

menu-manage-model.ts 增 buildMenuManageTree 按 parentId 组装展示树(同级按 sort+name);
menu-manage-api.ts GET /api/admin/permission-menus(menuType=admin) 扁平拉取并建树;
MenusPage 去内联 http,改走 adapter 展示默认展开树形菜单。8 用例全过,395 单测 + build 绿。
This commit is contained in:
2026-09-05 15:16:25 +08:00
parent 5d9019a40d
commit ffb16bea9a
4 changed files with 183 additions and 0 deletions
@@ -0,0 +1,21 @@
/** 菜单管理列表加载适配(任务 54):GET /api/admin/permission-menus(admin) → 展示树。 */
import { http } from '@/api/http'
import {
ADMIN_MENU_TYPE,
buildMenuManageTree,
parseMenuManageList,
type MenuManageNode,
} from './menu-manage-model'
export const MENUS_ENDPOINT = '/api/admin/permission-menus'
/** 拉取扁平可编辑菜单节点。 */
export async function fetchMenuManageNodes(): Promise<MenuManageNode[]> {
const { data } = await http.get<unknown>(MENUS_ENDPOINT, { params: { menuType: ADMIN_MENU_TYPE } })
return parseMenuManageList(data)
}
/** 拉取并按 parentId 组装成展示树。 */
export async function loadMenuManageTree(): Promise<MenuManageNode[]> {
return buildMenuManageTree(await fetchMenuManageNodes())
}