Files
cn-rdms-web/src/hooks/business/auth.ts

31 lines
790 B
TypeScript
Raw Normal View History

2026-03-26 20:18:20 +08:00
import { useAuthStore } from '@/store/modules/auth';
import { useObjectContextStore } from '@/store/modules/object-context';
2026-03-26 20:18:20 +08:00
export function useAuth() {
const authStore = useAuthStore();
const objectContextStore = useObjectContextStore();
2026-03-26 20:18:20 +08:00
function hasAuth(codes: string | string[]) {
if (!authStore.isLogin) {
return false;
}
if (typeof codes === 'string') {
return authStore.userInfo.buttons.includes(codes);
}
return codes.some(code => authStore.userInfo.buttons.includes(code));
}
function hasObjectAuth(codes: string | string[]) {
const targetCodes = typeof codes === 'string' ? [codes] : codes;
return targetCodes.some(code => objectContextStore.buttonCodes.includes(code));
}
2026-03-26 20:18:20 +08:00
return {
hasAuth,
hasObjectAuth
2026-03-26 20:18:20 +08:00
};
}