scan.page.vue 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. <script setup lang="ts">
  2. import { useRequest } from 'alova/client';
  3. import { getApplicationMethod } from '@/request/api';
  4. import Start from '@/components/Start.vue';
  5. const { data } = useRequest(getApplicationMethod, { initialData: { image: { el: '', copyright: '' } } });
  6. const title = computed(() => data.value.image.title || import.meta.env.SIX_APP_TITLE);
  7. const copyright = computed(() => data.value.copyright);
  8. const button = computed(() => data.value.image.el.split('|').includes('btn'));
  9. </script>
  10. <template>
  11. <div class="wrapper flex flex-col">
  12. <div class="flex-none h-[106px]">
  13. <div class="h-full flex justify-center items-center text-4xl" style="letter-spacing: 0.2em">{{ title }}</div>
  14. </div>
  15. <div class="flex-auto relative">
  16. <Start v-if="button" class="decorate" />
  17. </div>
  18. <div class="flex-none text-xl p-2 text-center tracking-widest" v-html="copyright"></div>
  19. </div>
  20. </template>
  21. <style scoped lang="scss">
  22. .wrapper {
  23. background: url('@/assets/images/screen.scan.png') no-repeat center / 100%;
  24. }
  25. .decorate {
  26. position: absolute;
  27. bottom: 10px;
  28. left: 50%;
  29. transform: translateX(-50%);
  30. }
  31. </style>