index.ts 803 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. import { Modal } from 'ant-design-vue'
  2. import { defineStore } from 'pinia'
  3. import { reactive } from 'vue'
  4. import { useId } from 'flicker-vue-hooks'
  5. export const useUserStore = defineStore('userStore', () => {
  6. const userInfo = reactive({})
  7. const clearUserInfo = () => {
  8. return new Promise((resolve) => {
  9. // 做些什么
  10. // useSchedulerOnce(() => resolve(true), 500)
  11. })
  12. }
  13. const login = () => {
  14. // 设置用户信息, 校验后的登录
  15. }
  16. const logout = () => {
  17. Modal.confirm({
  18. title: '您确定要退出吗?',
  19. cancelText: '取消',
  20. okText: '确定',
  21. onCancel: () => {},
  22. onOk: async () => {
  23. await clearUserInfo()
  24. // 退出
  25. }
  26. })
  27. }
  28. return {
  29. userInfo,
  30. login,
  31. logout,
  32. clearUserInfo
  33. }
  34. })