state.ts 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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. // 预览上传到oss的地址
  17. export const getOssUploadUrl = (bucket: string) => {
  18. const tmpBucket = bucket || 'daya'
  19. return `https://${tmpBucket}.ks3-cn-beijing.ksyuncs.com/`
  20. }
  21. export const setLoginInit = () => {
  22. state.user.status = 'init'
  23. state.user.data = null
  24. }
  25. export const setLogin = (data: any) => {
  26. state.user.status = 'login'
  27. state.user.data = data
  28. }
  29. export const setLogout = () => {
  30. state.user.status = 'logout'
  31. state.user.data = null
  32. }
  33. export const setLoginError = () => {
  34. state.user.status = 'error'
  35. state.user.data = null
  36. }