access.ts
1.18 KB
export default (initialState: API.UserInfo) => {
// 在这里按照初始化数据定义项目中的权限,统一管理
// 参考文档 https://umijs.org/docs/max/access
const { username, roles } = initialState;
const canReadAdmin = roles?.includes('ADMIN');
const canReadProcure =
roles?.includes('PROCURE') || roles?.includes('PROCURE_MANAGER');
const canReadFinance = roles?.includes('FINANCE');
const canReadWarehouseKeeper = roles.includes('WAREHOUSE_KEEPER');
const canReadSales =
roles.includes('SALES_MANAGER') || roles.includes('SALES_REPRESENTATIVE');
const canReadSalesManager = roles.includes('SALES_MANAGER');
return {
canReadAdmin: canReadAdmin,
canReadProcure: canReadProcure || canReadAdmin,
canReadLinda: username === 'Linda',
canReadAdminAndFinance: canReadFinance || canReadAdmin,
canReadSales: canReadSales,
canReadAdminAndFinanceAndSales:
canReadFinance || canReadAdmin || canReadSales,
canReadAdminAndSales: canReadAdmin || canReadSales,
canReadAdminAndWarehouseKeeperAndProcure:
canReadWarehouseKeeper || canReadAdmin || canReadProcure,
canReadAdminAndSalesManager: canReadAdmin || canReadSalesManager,
};
};