| | |
| | | <script setup lang="ts"> |
| | | import { driver } from 'driver.js'; |
| | | import 'driver.js/dist/driver.css'; |
| | | import { onMounted, reactive, ref } from 'vue'; |
| | | import { onMounted, onUnmounted, reactive, ref } from 'vue'; |
| | | import waterBottom from './component/waterRight/bottom.vue'; |
| | | import waterCenter from './component/waterRight/center.vue'; |
| | | import waterTop from './component/waterRight/top.vue'; |
| | | import CustomDrawer from '/@/components/drawer/CustomDrawer.vue'; |
| | | import { exampleSceneList } from '/@/stores/chatRoom'; |
| | | import { exampleSceneList, userInfo } from '/@/stores/chatRoom'; |
| | | import emitter from '/@/utils/mitt'; |
| | | import { accessSessionKey } from '/@/utils/request'; |
| | | import { Local } from '/@/utils/storage'; |
| | | let state = reactive({ |
| | | isShowAdvanceExample: false, |
| | | }); |
| | | const isLoginStatus = ref(!!Local.get(accessSessionKey)); |
| | | // 引导步骤 |
| | | |
| | | const driverObj = driver({ |
| | | showProgress: true, |
| | | allowClose: true, |
| | |
| | | }); |
| | | }; |
| | | let isFinishPromise = null; |
| | | const showGuide = (isHome) => { |
| | | if (!!Local.get(accessSessionKey) && userInfo.isNew && isHome) { |
| | | userInfo.set({ |
| | | ...userInfo.get(), |
| | | web_login: true, |
| | | }); |
| | | isFinishPromise?.then(() => { |
| | | driverObj.drive(); |
| | | }); |
| | | } |
| | | }; |
| | | onMounted(() => { |
| | | isFinishPromise = new Promise(async (resolve) => { |
| | | await getSelectListSample(); |
| | | if (isLoginStatus.value) { |
| | | driverObj.drive(); |
| | | } |
| | | resolve(true); |
| | | }); |
| | | emitter.on('isShowHomePage', showGuide); |
| | | }); |
| | | |
| | | onUnmounted(() => { |
| | | emitter.off('isShowHomePage', showGuide); |
| | | }); |
| | | </script> |
| | | <style scoped lang="scss"> |