audioRightWrong.vue 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <template>
  2. <uni-popup ref="popupRef" :animation="false" :is-mask-click="false"
  3. mask-background-color="rgba(51, 137, 217, 0.95);">
  4. <view :class="data.image">
  5. </view>
  6. </uni-popup>
  7. </template>
  8. <script setup>
  9. import {
  10. onLoad
  11. } from "@dcloudio/uni-app"
  12. import {
  13. ref,
  14. reactive,
  15. onUnmounted
  16. } from "vue"
  17. import {
  18. resultAudioPlayer,
  19. resultImageList
  20. } from "./useAudioRightWrong.js"
  21. const popupRef = ref(null)
  22. const data = reactive({
  23. result: '',
  24. image: '',
  25. showImage: false,
  26. })
  27. onLoad(() => {
  28. pageInit()
  29. })
  30. onUnmounted(() =>{
  31. uni.$off('result-audio-play')
  32. uni.$off('result-audio-ended')
  33. })
  34. function pageInit() {
  35. uni.$on('result-audio-play', (code) => {
  36. const {
  37. codeT
  38. } = code;
  39. data.result = codeT;
  40. data.image = resultImageList[code]
  41. data.showImage = true;
  42. popupRef.value.open();
  43. })
  44. uni.$on('result-audio-ended', (code,) => {
  45. const {
  46. codeT
  47. } = code;
  48. data.result = codeT;
  49. data.image = resultImageList[code];
  50. data.showImage = false;
  51. popupRef.value.close();
  52. })
  53. }
  54. </script>
  55. <style scoped>
  56. </style>