state.ts 930 B

12345678910111213141516171819202122232425262728293031323334353637
  1. import { reactive } from 'vue'
  2. import { setAuth } from './helpers/utils'
  3. type status = 'init' | 'login' | 'logout' | 'error'
  4. export const state = reactive({
  5. user: {
  6. status: 'init' as status,
  7. data: {} as any
  8. },
  9. platformType: '' as 'STUDENT' | 'TEACHER',
  10. platformApi: '/api-student' as '/api-student' | '/api-teacher',
  11. version: '', // 版本号 例如: 1.0.0
  12. ossUploadUrl: 'https://ks3-cn-beijing.ksyuncs.com/',
  13. musicCertStatus: false as boolean, // 是否音乐认证
  14. openLiveStatus: false as boolean // 是否开通直播
  15. })
  16. export const setLoginInit = () => {
  17. state.user.status = 'init'
  18. state.user.data = null
  19. }
  20. export const setLogin = (data: any) => {
  21. state.user.status = 'login'
  22. state.user.data = data
  23. }
  24. export const setLogout = () => {
  25. state.user.status = 'logout'
  26. state.user.data = null
  27. }
  28. export const setLoginError = () => {
  29. state.user.status = 'error'
  30. state.user.data = null
  31. }