state.ts 856 B

12345678910111213141516171819202122232425262728293031323334353637
  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. navBarHeight: 0, // 状态栏高度
  9. ossUploadUrl: 'https://ks3-cn-beijing.ksyuncs.com/'
  10. });
  11. // 预览上传到oss的地址
  12. export const getOssUploadUrl = (bucket: string) => {
  13. const tmpBucket = bucket || 'gym';
  14. return `https://${tmpBucket}.ks3-cn-beijing.ksyuncs.com/`;
  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. };