App.vue 820 B

123456789101112131415161718192021222324252627282930313233
  1. <template>
  2. <router-view></router-view>
  3. </template>
  4. <script setup lang="ts">
  5. import { onMounted, ref, provide, inject } from 'vue'
  6. import { useStore } from '@/store/index'
  7. const { setAsyncRoutesMark } = useStore()
  8. window.addEventListener('beforeunload', () => beforeunloadFn())
  9. const beforeunloadFn = (() => {
  10. setAsyncRoutesMark(false)
  11. })
  12. provide<GlobalPopup>('globalPopup', {
  13. showSuccess: (msg: string, time: number) => { console.log(msg, '执行成功', time) }, //!SECTION 成功
  14. showError: (msg: string, time: number) => { console.log(msg, '执行成功'), time }, //!SECTION 失败
  15. showWarning: (msg: string, time: number) => { console.log(msg, '执行成功'), time }, //!SECTION 警告
  16. })
  17. </script>
  18. <style>
  19. html,
  20. body,
  21. #app,
  22. .layouts {
  23. width: 100%;
  24. height: 100%;
  25. overflow: hidden;
  26. }
  27. </style>