access.ts
1.08 KB
export default (initialState: API.UserInfo) => {
// 在这里按照初始化数据定义项目中的权限,统一管理
// 参考文档 https://umijs.org/docs/max/access
const { roleSmallVO, username, roles } = initialState;
const canReadAdmin = roleSmallVO?.code === 'admin';
const canReadProcure =
roleSmallVO?.code === 'procure' || roles.includes('PROCURE_MANAGER');
const canReadFinance = roleSmallVO?.code === 'finance';
const canReadWarehouseKeeper = roleSmallVO?.code === 'warehouseKeeper';
const canReadSales =
roleSmallVO?.code === 'salesManager' ||
roleSmallVO?.code === 'salesRepresentative';
return {
canReadAdmin: canReadAdmin,
canReadProcure: canReadProcure,
canReadLinda: username === 'Linda',
canReadAdminAndFinance: canReadFinance || canReadAdmin,
canReadSales: canReadSales,
canReadAdminAndFinanceAndSales:
canReadFinance || canReadAdmin || canReadSales,
canReadAdminAndSales: canReadAdmin || canReadSales,
canReadAdminAndWarehouseKeeperAndProcure:
canReadWarehouseKeeper || canReadAdmin || canReadProcure,
};
};