gemercheung 1 rok temu
rodzic
commit
e6a54dc96d

+ 1 - 1
src/App.vue

@@ -368,7 +368,7 @@
       {{ maxNumber }}
     </span> -->
     <span>
-      {{ t('base.debuginfo') }}V:1.2.0-g4,角色:{{ rtcStore.role }} rId:{{
+      {{ t('base.debuginfo') }}V:1.2.0-g5,角色:{{ rtcStore.role }} rId:{{
         rtcStore.roomId || browser.getURLParam('roomId')
       }}
       sceneIndex:{{ currentSceneIndex }} uid::

+ 21 - 10
src/components/chatRoom/index.vue

@@ -199,7 +199,7 @@
   import memberList from './memberList.vue';
   import SceneList from './sceneList.vue';
   import Camera from './camera.vue';
-  import { useRoom, SceneItemType } from '/@/hooks/useRoom';
+  import { useRoom, SceneItemType, webLogin } from '/@/hooks/useRoom';
   import consola from 'consola';
   import CloseDialog from './dialog/close.vue';
   import PasswordDialog from './dialog/password.vue';
@@ -266,6 +266,8 @@
   const { isUsingMiniApp } = useMiniApp();
   const { muteVideoLeader } = useRtcSdk();
 
+  const isH5 = browser.getURLParam('platform') === 'h5' || browser.getURLParam('platform') === 'fd';
+
   const currentProfileAvatar = computed(() => {
     let url = '';
     if (currentLeader.value?.Avatar) {
@@ -373,8 +375,19 @@
   //   startJoin();
   // }
 
-  const handleNameConfirm = (userName: string) => {
+  const handleNameConfirm = async (userName: string) => {
     const rtcStore = useRtcStore();
+
+    if (isH5) {
+      const res = await webLogin(userName);
+      const { sessionKey } = res;
+      console.log('sessionKey', sessionKey);
+      if (sessionKey) {
+        rtcStore.userId = sessionKey;
+        initParams.userId = sessionKey;
+      }
+    }
+    // debugger;
     console.log('userName', unref(userName));
     rtcStore.setNickName(unref(userName));
     const search = new URLSearchParams(location.search);
@@ -382,12 +395,11 @@
     // search.set('vruserId', rtcStore.userId);
     initParams.nickname = rtcStore.nickname;
     console.log('输入后', initParams);
-    startJoin(() => {
-      search.set('vruserId', rtcStore.userId);
-      const replaceUrl = location.origin + location.pathname + '?' + search.toString();
-      console.log('replaceUrl', replaceUrl);
-      history.replaceState(null, '', replaceUrl);
-    });
+    search.set('vruserId', rtcStore.userId);
+    const replaceUrl = location.origin + location.pathname + '?' + search.toString();
+    console.log('replaceUrl', replaceUrl);
+    history.replaceState(null, '', replaceUrl);
+    startJoin();
     window.parent &&
       window.parent.postMessage(
         {
@@ -618,6 +630,7 @@
     if (browser.getURLParam('platform') && browser.getURLParam('platform').length > 0) {
       search.set('platform', browser.getURLParam('platform'));
     }
+
     const lang = unref(getLocale);
     search.set('lang', lang);
     Number(import.meta.env.VITE_SHOW_CONSOLE) === 1 && search.set('vlog', '1');
@@ -697,7 +710,6 @@
     }
   };
   const handlePasswordConfirm = async () => {
-    debugger;
     showPasswordDialog.value = false;
     const socket = createSocket();
     initSocketEvent(socket);
@@ -714,7 +726,6 @@
   // };
   const handleShare = () => {
     const { socket } = useSocket();
-    debugger;
     socket.emit('action', {
       type: 'share',
       data: {

+ 10 - 0
src/hooks/useRoom.ts

@@ -234,3 +234,13 @@ export const validPassRoom = async (roomId: string, password: string) => {
 
   return res.data?.data || false;
 };
+//h5端模拟
+export const webLogin = async (nickName: string) => {
+  shopAxios.defaults.headers.platform = browser.getURLParam('platform') || '';
+
+  const res = await shopAxios.post('/takelook/webApi/webLogin', {
+    nickName: nickName,
+  });
+
+  return res.data?.data || false;
+};

+ 1 - 1
src/hooks/useTRTC.ts

@@ -88,7 +88,7 @@ async function createRTCSocket(): Promise<void> {
 }
 const handleLeave = () => {
   //通用离开方法
-  localClient.leave();
+  localClient && localClient.leave();
   console.error('rtc-leave');
 };
 const mutedAudio = () => {

+ 0 - 2
src/hooks/useTencent.ts

@@ -377,8 +377,6 @@ function handleStreamAdded(event) {
 async function handleStreamSubscribed(event) {
   const remoteStream = event.stream;
   const rtcStore = useRtcStore();
-  // const { t } = useI18n();
-  // debugger;
   const remoteUserId = remoteStream.getUserId();
   const remoteId = remoteStream.getId();
   if (remoteUserId == rtcStore.userId) {