state.ts 725 B

123456789101112131415161718192021222324252627282930313233
  1. import { reactive } from 'vue'
  2. type status = 'init' | 'login' | 'logout' | 'error'
  3. export const state = reactive({
  4. user: {
  5. status: 'init' as status,
  6. data: {} as any
  7. },
  8. platformType: '' as 'STUDENT' | 'TEACHER',
  9. musicCertStatus: false as boolean, // 是否音乐认证
  10. openLiveStatus: false as boolean // 是否开通直播
  11. })
  12. export const setLoginInit = () => {
  13. state.user.status = 'init'
  14. state.user.data = null
  15. }
  16. export const setLogin = (data: any) => {
  17. state.user.status = 'login'
  18. state.user.data = data
  19. }
  20. export const setLogout = () => {
  21. state.user.status = 'logout'
  22. state.user.data = null
  23. }
  24. export const setLoginError = () => {
  25. state.user.status = 'error'
  26. state.user.data = null
  27. }