user.ts 572 B

123456789101112131415161718192021222324
  1. import { defineStore } from 'pinia'
  2. interface UserState {
  3. username: string
  4. }
  5. export const useUserStore = defineStore('user', {
  6. state: (): UserState => ({
  7. username: localStorage.getItem('username') || ''
  8. }),
  9. getters: {},
  10. actions: {
  11. setUsername(username: any) {
  12. localStorage.setItem('username', username)
  13. this.username = username
  14. },
  15. async logout(isNeedLogout: boolean = true) {
  16. if (isNeedLogout) {
  17. await $api.logout().then(() => {})
  18. }
  19. localStorage.removeItem('username')
  20. this.username = ''
  21. }
  22. }
  23. })