state.ts 822 B

1234567891011121314151617181920212223242526272829303132333435
  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. version: '', // 版本号 例如: 1.0.0
  10. ossUploadUrl: 'https://ks3-cn-beijing.ksyuncs.com/',
  11. musicCertStatus: false as boolean, // 是否音乐认证
  12. openLiveStatus: false as boolean // 是否开通直播
  13. })
  14. export const setLoginInit = () => {
  15. state.user.status = 'init'
  16. state.user.data = null
  17. }
  18. export const setLogin = (data: any) => {
  19. state.user.status = 'login'
  20. state.user.data = data
  21. }
  22. export const setLogout = () => {
  23. state.user.status = 'logout'
  24. state.user.data = null
  25. }
  26. export const setLoginError = () => {
  27. state.user.status = 'error'
  28. state.user.data = null
  29. }