use-access.ts 696 B

12345678910111213141516171819202122232425262728
  1. import { computed } from 'vue';
  2. import { preferences } from '@vben-core/preferences';
  3. import { useAccessStore } from '@vben-core/stores';
  4. function useAccess() {
  5. const accessStore = useAccessStore();
  6. const currentAccessMode = computed(() => {
  7. return preferences.app.accessMode;
  8. });
  9. /**
  10. * 更改账号角色
  11. * @param roles
  12. */
  13. async function changeRoles(roles: string[]): Promise<void> {
  14. if (preferences.app.accessMode !== 'frontend') {
  15. throw new Error(
  16. 'The current access mode is not frontend, so the role cannot be changed',
  17. );
  18. }
  19. accessStore.setUserRoles(roles);
  20. }
  21. return { changeRoles, currentAccessMode };
  22. }
  23. export { useAccess };