index.vue 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <template>
  2. <transition mode="out-in">
  3. <div>
  4. <dialogIndex @closeDialog="closeDialog" @confirmDialog="confirmDialog" v-if="dialog == 'dialogIndex'"></dialogIndex>
  5. <dialogShare :shareLink="shareLink" @closeDialog="closeDialog" v-if="dialog == 'dialogShare'"></dialogShare>
  6. <createdRoom v-if="showCreated" @closeCreated="closeCreated" @createdConfirm="createdConfirm()"></createdRoom>
  7. <PageRtcLive @closeSocket="confirmDialog" @openDialog="openDialog" v-if="show"></PageRtcLive>
  8. </div>
  9. </transition>
  10. </template>
  11. <script setup>
  12. import PageRtcLive from "./PageRtcLive";
  13. // import Draw from "./paint/Draw";
  14. import createdRoom from "./dialog/createdRoom";
  15. import dialogIndex from "./dialog/index.vue";
  16. import dialogShare from "./dialog/share.vue";
  17. import browser from "@/utils/browser";
  18. import { onMounted, watch, computed, ref, nextTick } from "vue";
  19. import { useStore } from "vuex";
  20. import { useApp, getApp } from "@/app";
  21. const store = useStore();
  22. const shareLink = ref("");
  23. const dialog = ref("");
  24. const show = ref(false);
  25. const showPaint = ref(true);
  26. const showCreated = ref(false);
  27. const roomId = ref(browser.getURLParam("roomId"));
  28. const role = ref(browser.getURLParam("role"));
  29. const userName = ref(browser.getURLParam("name"));
  30. const socket = computed(() => store.getters["rtc/socket"]);
  31. const userSig = computed(() => store.getters["rtc/userSig"]);
  32. console.log(userSig.value,'userSig');
  33. const openDialog = (str, link) => {
  34. shareLink.value = link;
  35. dialog.value = str;
  36. };
  37. const closeDialog = (str, link) => {
  38. dialog.value = "";
  39. dialog.value = str;
  40. };
  41. const confirmDialog = async () => {
  42. await getApp().Connect.follow.exit();
  43. if (socket.value) {
  44. console.log(socket.value);
  45. socket.value.close();
  46. store.commit("rtc/setSocket", null);
  47. }
  48. let tempUrl = window.location.href;
  49. ["mode", "name", "role", "roomId", "userId"].forEach((item) => {
  50. tempUrl = browser.replaceQueryString(tempUrl, item, "");
  51. });
  52. history.replaceState(null, null, tempUrl);
  53. store.commit("showShoppingguide", false);
  54. dialog.value = "";
  55. };
  56. const closeCreated = (str, link) => {
  57. store.commit("showShoppingguide", false);
  58. showCreated.value = false;
  59. };
  60. const createdConfirm = (str, link) => {
  61. showCreated.value = false;
  62. show.value = true;
  63. };
  64. onMounted(() => {
  65. useApp().then(async (sdk) => {
  66. await nextTick();
  67. if (userName.value) {
  68. createdConfirm();
  69. } else {
  70. showCreated.value = true;
  71. }
  72. });
  73. // showCreated.value = true;
  74. });
  75. </script>
  76. <style lang="scss" scoped></style>