1. app.ts layout 中 添加menu
import {fetchMenuData} from '@/services/ant-design-pro/api';
//省略代码
export const layout: RunTimeLayoutConfig = ({ initialState, setInitialState }) => {
// ......省略代码
menu: {
locale: false, //关闭国际化
params:initialState,
request: async (params, defaultMenuData) => {
// initialState.currentUser 中包含了所有用户信息
const menuData = await fetchMenuData();
return menuData;
},
},
}
2. api.ts 中 fetchMenuData
import { MenuDataItem } from '@ant-design/pro-layout';
/** 获取当前的用户的菜单 GET /api/menuData */
export async function fetchMenuData() {
return request<MenuDataItem[]>('/api/menuData', {
method: 'GET',
});
}
3. 菜单数据模拟 mock 下新建menu.ts
export default {
'GET /api/menu