فهرست منبع

增加国内版配置

gemercheung 2 سال پیش
والد
کامیت
2185943208
10فایلهای تغییر یافته به همراه79 افزوده شده و 8 حذف شده
  1. 3 0
      .env
  2. 4 0
      .env.development
  3. 1 0
      .env.eur
  4. 2 0
      .env.eur.prod
  5. 27 0
      .env.home.test
  6. 1 0
      package.json
  7. 12 4
      src/components/chatRoom/camera.vue
  8. 2 1
      src/components/chatRoom/index.vue
  9. 15 0
      src/hooks/useMiniApp.ts
  10. 12 3
      src/hooks/useTRTC.ts

+ 3 - 0
.env

@@ -20,3 +20,6 @@ VITE_USE_HTTPS=1
 VITE_PUBLIC_DIR='/livestream/'
 VITE_ROOM_MEMBER=3
 VITE_SHOW_CONSOLE=1
+VITE_SHOW_DEBUGPANEL=1
+VITE_TEST_VERSION =2022120704
+VITE_ENABLE_VIDEO=1

+ 4 - 0
.env.development

@@ -18,4 +18,8 @@ VITE_APP_APIS_URL=https://test.4dkankan.com/
 VITE_USE_HTTPS=1
 VITE_PUBLIC_DIR='/'
 VITE_SHOW_CONSOLE=1
+VITE_SHOW_DEBUGPANEL=1
+VITE_TEST_VERSION =2022120704
+VITE_ENABLE_VIDEO=1
+
 

+ 1 - 0
.env.eur

@@ -24,3 +24,4 @@ VITE_ROOM_MEMBER=10
 VITE_SHOW_CONSOLE=1
 VITE_SHOW_DEBUGPANEL=1
 VITE_TEST_VERSION =2022120704
+VITE_ENABLE_VIDEO=0

+ 2 - 0
.env.eur.prod

@@ -25,3 +25,5 @@ VITE_ROOM_MEMBER=10
 VITE_SHOW_CONSOLE=0
 VITE_SHOW_DEBUGPANEL=0
 VITE_TEST_VERSION=
+# 是否开启 web TRTC
+VITE_ENABLE_VIDEO=1

+ 27 - 0
.env.home.test

@@ -0,0 +1,27 @@
+# 场景资源地址
+VITE_APP_RESOURCE_URL=https://testeurs3.4dkankan.com/
+# 静态资源地址
+VITE_APP_CDN_URL=https://4dkk.4dage.com/v4/www/
+# sdk文件地址
+VITE_APP_SDK_DIR=https://testeurs3.4dkankan.com/v4/www/sdk
+# socket地址
+# VITE_APP_SOCKET_URL=wss://ws.gemer.xyz
+VITE_APP_SOCKET_URL=wss://testeurws.4dkankan.com
+# VITE_APP_SOCKET_URL=wss://221.4.210.172:16666
+# 静态资源目录
+VITE_APP_STATIC_DIR=viewer
+
+# 云存储环境
+VUE_APP_REGION_URL=aws
+
+# 接口请求地址
+VITE_APP_APIS_URL=https://testeur.4dkankan.com/
+# VITE_APP_APIS_URL=https://v4-uat.4dkankan.com/
+# VITE_TAKE_LOOK_API=https://testeur.4dkankan.com/
+VITE_USE_HTTPS=1
+VITE_PUBLIC_DIR='/livestream/'
+VITE_ROOM_MEMBER=10
+VITE_SHOW_CONSOLE=1
+VITE_SHOW_DEBUGPANEL=1
+VITE_TEST_VERSION =2022120704
+VITE_ENABLE_VIDEO=0

+ 1 - 0
package.json

@@ -7,6 +7,7 @@
     "dev-eur": "vite --mode eur --port=6100",
     "build-eur-test": "vue-tsc  --noEmit && vite build --mode eur",
     "build-eur-prod": "vue-tsc  --noEmit && vite build --mode eur.prod",
+    "build-home-test": "vue-tsc  --noEmit && vite build --mode home.test",
     "build-eur-fr": "vue-tsc  --noEmit && vite build --mode fr",
     "build": "vue-tsc  --noEmit && vite build --mode production",
     "commit": "git add . && git cz",

+ 12 - 4
src/components/chatRoom/camera.vue

@@ -2,9 +2,16 @@
   <div
     :id="cameraBoxId"
     class="camera_box"
-    v-show="isLeader && isRTCJoined && isPanoramaMode && !muteVideoLeader && hosterhasVideo"
+    v-show="
+      isLeader &&
+      isRTCJoined &&
+      isPanoramaMode &&
+      !muteVideoLeader &&
+      hosterhasVideo &&
+      globalVideoEnable
+    "
   >
-  <!--  -->
+    <!--  -->
     <span class="micBox">
       <i class="speak_mic" v-if="!roomLeader?.IsMuted"></i>
       <i class="speak_mic_off" v-else></i>
@@ -20,7 +27,8 @@
       roomLeader &&
       isPanoramaMode &&
       !muteVideoLeader &&
-      remoteStreams.length > 0
+      remoteStreams.length > 0 &&
+      globalVideoEnable
     "
   >
     <span class="micBox">
@@ -45,7 +53,7 @@
   const cameraBoxId = computed(() => 'camera_box_' + rtcStore.userId);
   // const cameraRemoteBoxId = computed(() => 'camera_remote_box_' + rtcStore.userId);
   const isPanoramaMode = computed(() => appStore.mode === 'panorama');
-  const { muteVideoLeader } = useRtcSdk();
+  const { muteVideoLeader, globalVideoEnable } = useRtcSdk();
   const hosterhasVideo = computed(() => rtcStore.videoDeviceId?.length > 0);
   const remoteStreams = computed(() => rtcStore.remoteStreams);
   console.log('hosterhasVideo', hosterhasVideo);

+ 2 - 1
src/components/chatRoom/index.vue

@@ -77,7 +77,7 @@
           <ImageIcon type="scene" @click="showScenes = !showScenes" />
         </div>
 
-        <div style="font-size: 0.65rem" v-if="isNativeLeader">
+        <div style="font-size: 0.65rem" v-if="isNativeLeader && globalVideoEnable">
           <template v-if="hosterhasVideo">
             <ImageIcon type="video_on" v-if="!muteVideoLeader" @click="handleHideCamera" />
             <ImageIcon type="video_off" v-if="muteVideoLeader" @click="handleShowCamera" />
@@ -222,6 +222,7 @@
 
   const selfRoomStatus = computed(() => rtcStore.getSelfRoomStatus());
   const audioMuted = computed(() => unref(selfRoomStatus)?.IsMuted);
+  const { globalVideoEnable } = useRtcSdk();
   const hosterhasVideo = computed(() => rtcStore.videoDeviceId?.length > 0);
 
   const { muteVideoLeader } = useRtcSdk();

+ 15 - 0
src/hooks/useMiniApp.ts

@@ -0,0 +1,15 @@
+import { computed } from 'vue';
+import browser from '/@/utils/browser';
+
+const isUsingMiniApp = computed(() => {
+  const res =
+    browser.getURLParam('fromMiniApp').length > 0 &&
+    Number(browser.getURLParam('fromMiniApp')) === 1;
+  return res;
+});
+
+export const useMiniApp = () => {
+  return {
+    isUsingMiniApp,
+  };
+};

+ 12 - 3
src/hooks/useTRTC.ts

@@ -1,16 +1,21 @@
 import consola from 'consola';
-import { nextTick, ref } from 'vue';
+import { computed, nextTick, ref, unref } from 'vue';
 import TRTC from 'trtc-js-sdk';
 import type { LocalStream, Client, RemoteStream } from 'trtc-js-sdk';
 import { useRtcStore } from '/@/store/modules/rtc';
 // import Dialog from '/@/components/basic/dialog';
 import { useI18n } from './useI18n';
+import { useMiniApp } from './useMiniApp';
 
 let localClient: Client;
 let localStream: LocalStream;
 const invitedRemoteStreams = ref<RemoteStream[]>([]);
 const muteAudioLeader = ref(false);
 const muteVideoLeader = ref(false);
+const { isUsingMiniApp } = useMiniApp();
+const globalVideoEnable = computed(
+  () => Number(import.meta.env.VITE_ENABLE_VIDEO) === 1 && !unref(isUsingMiniApp),
+);
 
 export const checkDevice = async () => {
   try {
@@ -57,8 +62,11 @@ const checkSystemRequirements = async () => {
 async function createLocalStream() {
   try {
     const rtcStore = useRtcStore();
-    const enableVideo = rtcStore.isLeader && rtcStore.videoDeviceId?.length > 0;
-    console.warn('enableVideo', enableVideo);
+
+    const enableVideo =
+      rtcStore.isLeader && rtcStore.videoDeviceId?.length > 0 && unref(globalVideoEnable);
+
+    console.warn('enableVideo', enableVideo, unref(globalVideoEnable));
     localStream = TRTC.createStream({
       userId: rtcStore.userId,
       audio: true,
@@ -517,5 +525,6 @@ export function useRtcSdk() {
     muteVideoLeader,
     invitedRemoteStreams,
     client: localClient,
+    globalVideoEnable,
   };
 }