1
0

QrCodeForm.vue 1.0 KB

12345678910111213141516171819202122232425262728293031
  1. <template>
  2. <div v-if="getShow">
  3. <LoginFormTitle class="enter-x" />
  4. <div class="enter-x min-w-64 min-h-64">
  5. <QrCode
  6. :value="qrCodeUrl"
  7. class="enter-x flex justify-center xl:justify-start"
  8. :width="280"
  9. />
  10. <Divider class="enter-x">{{ t('sys.login.scanSign') }}</Divider>
  11. <Button size="large" block class="mt-4 enter-x" @click="handleBackLogin">
  12. {{ t('sys.login.backSignIn') }}
  13. </Button>
  14. </div>
  15. </div>
  16. </template>
  17. <script lang="ts" setup>
  18. import { computed, unref } from 'vue';
  19. import LoginFormTitle from './LoginFormTitle.vue';
  20. import { Button, Divider } from 'ant-design-vue';
  21. import { QrCode } from '/@/components/Qrcode/index';
  22. import { useI18n } from '/@/hooks/web/useI18n';
  23. import { useLoginState, LoginStateEnum } from './useLogin';
  24. const qrCodeUrl = 'https://vben.vvbin.cn/login';
  25. const { t } = useI18n();
  26. const { handleBackLogin, getLoginState } = useLoginState();
  27. const getShow = computed(() => unref(getLoginState) === LoginStateEnum.QR_CODE);
  28. </script>