state.ts 780 B

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