useUser.ts 530 B

123456789101112131415161718192021
  1. import { computed } from 'vue';
  2. import { useStore } from '@/store';
  3. import { UserDispatcher, TokenDispatcher } from '@/store/dispatchers';
  4. export const useUser = () => {
  5. const store = useStore();
  6. const userInfo = computed(() => store.state.user);
  7. const userLoggedIn = computed(() => store.state.user.role !== 'GUEST');
  8. const userLogOut = () => {
  9. UserDispatcher.userLogOut();
  10. TokenDispatcher.destroyToken();
  11. window.location.href = '/';
  12. };
  13. return {
  14. userInfo,
  15. userLoggedIn,
  16. userLogOut,
  17. };
  18. };