useUser.ts 638 B

1234567891011121314151617181920212223
  1. interface TUserData {
  2. user_id: number
  3. access_token: string
  4. }
  5. export const useUser = defineStore('useUser', () => {
  6. const log = useLogger('useUser')
  7. const data = ref<TUserData>(JSON.parse(localStorage.getItem('ktc_auth')) || {})
  8. const isStudent = ref(null)
  9. function setUserData(obj: TUserData) {
  10. data.value = obj
  11. localStorage.setItem('ktc_auth', JSON.stringify(obj))
  12. log.success('Store was updated:', JSON.stringify(obj))
  13. }
  14. function logout() {
  15. localStorage.removeItem('ktc_auth')
  16. return navigateTo('/auth', { external: true, replace: true })
  17. }
  18. return { data, setUserData, isStudent, logout }
  19. })