罗广辉
2025-11-15 b2f253e0f29eecbba808c4b3ba9188355fef40e1
src/App.vue
@@ -1,26 +1,15 @@
<script setup>
  import {
    onHide,
    onLaunch,
    onShow
  } from "@dcloudio/uni-app";
  import {
    useAppStore,
    useUserStore
  } from "@/store";
  import {
    mpUpdate
  } from "@/utils/index";
  import {
    genTestUserSig
  } from '@/utils/voiceCallByTX/GenerateTestUserSig.js';
  // #ifdef H5
  import {
    TUICallKitAPI
  } from '@trtc/calls-uikit-vue'
  // #endif
  import {onHide, onLaunch, onShow} from "@dcloudio/uni-app";
  import {useAppStore, useUserStore} from "@/store";
  import {genTestUserSig} from '@/utils/voiceCallByTX/GenerateTestUserSig.js';
  const appStore = useAppStore();
  const userStore = useUserStore();
  const userId = computed(() => userStore?.userInfo?.user_id)
  onLaunch(() => {
    // 初始化系统信息
@@ -32,50 +21,40 @@
        url: "/pages/login/index",
      })
    }
    // #ifdef MP-WEIXIN
    mpUpdate();
    // #endif
  });
  const userId = computed(() => userStore?.userInfo?.user_id)
  function initVoiceCallFromApp() {
    const TUICallKit = uni.requireNativePlugin('TencentCloud-TUICallKit');
    const {
      userSig,
      SDKAppID
    } = genTestUserSig(userId.value);
    uni.$TUICallKit = TUICallKit;
    uni.$TUICallKit.login({
      SDKAppID,
      userID: userId.value,
      userSig: userSig,
    })
  // #ifdef APP-PLUS
  import TrtcCloud from '@/utils/voiceCallByTX/TrtcCloud/lib/index';
  import { TRTCAppScene } from '@/utils/voiceCallByTX/TrtcCloud/lib/TrtcDefines';
  const trtcCloud = TrtcCloud.createInstance();
  function enterRoomFun() {
    const {userSig, SDKAppID} = genTestUserSig(userId.value);
    const params = {sdkAppId: SDKAppID, userId: userId.value, roomId: 789456, userSig: userSig};
    trtcCloud.enterRoom(params, TRTCAppScene.TRTCAppSceneVideoCall)
    trtcCloud.startLocalAudio();
  }
  // #endif
  async function initVoiceCallFromH5() {
    const {
      userSig,
      SDKAppID
    } = genTestUserSig(userId.value)
    await TUICallKitAPI.init({
      userID: userId.value,
      userSig,
      SDKAppID,
    })
  // #ifdef H5
  import TRTC from 'trtc-sdk-v5';
  const trtc = TRTC.create();
  function enterRoomFunByH5() {
    const {userSig, SDKAppID} = genTestUserSig(userId.value);
    trtc.enterRoom({ sdkAppId:SDKAppID, userId:userId.value, userSig, roomId: 789456 })
    trtc.startLocalAudio()
  }
  // #endif
  // 初始化登陆腾讯音频平台
  watch(userId, () => {
    if (!userId.value) return
    // #ifdef APP-PLUS
    // enterRoomFun()
    // #endif
    // #ifdef H5
    initVoiceCallFromH5()
    // enterRoomFunByH5()
    // #endif
    // #ifdef APP-PLUS
    initVoiceCallFromApp()
    // #endif
  }, {
    immediate: true
  })