refactor: Separate store

This commit is contained in:
vben
2024-07-30 21:10:28 +08:00
parent cf0ec053e4
commit 89dcf522f5
40 changed files with 338 additions and 345 deletions

View File

@@ -33,6 +33,6 @@ const authDirective: Directive = {
mounted,
};
export function useAccessDirective(app: App) {
export function registerAccessDirective(app: App) {
app.directive('access', authDirective);
}

View File

@@ -1,10 +1,11 @@
import { computed } from 'vue';
import { preferences, updatePreferences } from '@vben/preferences';
import { useCoreAccessStore } from '@vben/stores';
import { useAccessStore, useUserStore } from '@vben/stores';
function useAccess() {
const coreAccessStore = useCoreAccessStore();
const accessStore = useAccessStore();
const userStore = useUserStore();
const accessMode = computed(() => {
return preferences.app.accessMode;
});
@@ -15,7 +16,7 @@ function useAccess() {
* @param roles
*/
function hasAccessByRoles(roles: string[]) {
const userRoleSet = new Set(coreAccessStore.userRoles);
const userRoleSet = new Set(userStore.userRoles);
const intersection = roles.filter((item) => userRoleSet.has(item));
return intersection.length > 0;
}
@@ -26,7 +27,7 @@ function useAccess() {
* @param codes
*/
function hasAccessByCodes(codes: string[]) {
const userCodesSet = new Set(coreAccessStore.accessCodes);
const userCodesSet = new Set(accessStore.accessCodes);
const intersection = codes.filter((item) => userCodesSet.has(item));
return intersection.length > 0;