App.ku.vue 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <script setup lang="ts">
  2. import { ref } from 'vue'
  3. import { useTokenStore } from '@/store/token'
  4. import FgTabbar from '@/tabbar/index.vue'
  5. import { useLoadingStore } from './store/loading'
  6. import { isPageTabbar, tabbarStore } from './tabbar/store'
  7. import { currRoute } from './utils'
  8. const isCurrentPageTabbar = ref(true)
  9. const loadingStore = useLoadingStore()
  10. const tokenStore = useTokenStore()
  11. onShow(() => {
  12. console.log('App.ku.vue onShow', currRoute())
  13. const { path, query } = currRoute()
  14. // “蜡笔小开心”提到本地是 '/pages/index/index',线上是 '/' 导致线上 tabbar 不见了
  15. // 所以这里需要判断一下,如果是 '/' 就当做首页,也要显示 tabbar
  16. isCurrentPageTabbar.value = path === '/' || isPageTabbar(path)
  17. setTimeout(() => {
  18. if (isCurrentPageTabbar.value) {
  19. tabbarStore.setAutoCurIdx(path)
  20. }
  21. }, 0)
  22. // 判断是否是通过分享进入
  23. if (query?.shareRecordId) {
  24. tokenStore.cacheShareParams(query)
  25. }
  26. loadingStore.hideLoading()
  27. })
  28. const exposeRef = ref('this is form app.Ku.vue')
  29. defineExpose({
  30. exposeRef,
  31. })
  32. </script>
  33. <template>
  34. <view>
  35. <!-- 这个先隐藏了,知道这样用就行 -->
  36. <!-- <view class="hidden text-center">
  37. {{ helloKuRoot }},这里可以配置全局的东西
  38. </view> -->
  39. <up-no-network />
  40. <KuRootView />
  41. <up-loading-page :loading="loadingStore.isLoading" z-index="1000" size="50" />
  42. <FgTabbar v-if="isCurrentPageTabbar" />
  43. </view>
  44. </template>