examCamera.vue 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <template>
  2. <view class="phone-sztqr-page">
  3. <!-- 导航区域 -->
  4. <customNavbarVue title="摄像头确认" :show-back-btn="true" @back="handleBack"></customNavbarVue>
  5. <zhuapaiConfirm ref="zhuapaiConfirmRef" @success="zpConfirmSuccess" key="1"></zhuapaiConfirm>
  6. <button type="default" class="phone-green-btn zp-qr-btn" @click="zpConfirmSuccess">确认</button>
  7. </view>
  8. </template>
  9. <script setup>
  10. import {
  11. onLoad,
  12. onShow,
  13. onHide
  14. } from "@dcloudio/uni-app";
  15. import {
  16. ref,nextTick
  17. } from "vue";
  18. import zhuapaiConfirm from "@/components/zhuapaiConfirm/index.vue";
  19. import customNavbarVue from "@/components/custom-navbar/custom-navbar.vue";
  20. const opt = ref(null);
  21. const zhuapaiConfirmRef = ref(null);
  22. onLoad((options) => {
  23. opt.value = options;
  24. setTimeout(() => {
  25. zhuapaiConfirmRef.value.showDialog()
  26. },1000)
  27. })
  28. function zpConfirmSuccess() {
  29. uni.redirectTo({
  30. url: `/pages/client/Kaoshi/exam?ksId=${opt.value.ksId}&zhuapai=${opt.value.zhuapai}&userKaozhengId=${opt.value.userKaozhengId}&from=${opt.value.from}`
  31. })
  32. }
  33. function zpConfirmError(e) {
  34. uni.showToast({
  35. icon: 'none',
  36. title: '考试环境异常请检测摄像头是否正常',
  37. duration: 3000,
  38. mask: true // 防止触摸穿透
  39. })
  40. setTimeout(() => {
  41. handleBack();
  42. }, 3000)
  43. }
  44. function zpConfirmCancel() {
  45. handleBack();
  46. }
  47. function handleBack() {
  48. const pages = getCurrentPages();
  49. if (pages.length > 1) {
  50. uni.navigateBack()
  51. } else {
  52. history.back();
  53. }
  54. }
  55. </script>
  56. <style>
  57. </style>