state.ts 953 B

1234567891011121314151617181920212223242526272829303132333435363738
  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. application: window.matchMedia('(display-mode: standalone)').matches, // 是否在应用里面
  9. navBarHeight: 0, // 状态栏高度
  10. ossUploadUrl: 'https://ks3-cn-beijing.ksyuncs.com/'
  11. });
  12. // 预览上传到oss的地址
  13. export const getOssUploadUrl = (bucket: string) => {
  14. const tmpBucket = bucket || 'gym';
  15. return `https://${tmpBucket}.ks3-cn-beijing.ksyuncs.com/`;
  16. };
  17. export const setLoginInit = () => {
  18. state.user.status = 'init';
  19. state.user.data = null;
  20. };
  21. export const setLogin = (data: any) => {
  22. state.user.status = 'login';
  23. state.user.data = data;
  24. };
  25. export const setLogout = () => {
  26. state.user.status = 'logout';
  27. state.user.data = null;
  28. };
  29. export const setLoginError = () => {
  30. state.user.status = 'error';
  31. state.user.data = null;
  32. };