chenyao
2025-11-19 28179be2881f3a6af9975136c013b0f0ca2298df
src/App.vue
@@ -1,56 +1,12 @@
<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 {useGlobalWS} from "@/hooks/useGlobalWS.js";
const appStore = useAppStore();
const userStore = useUserStore();
onLaunch(() => {
  // 初始化系统信息
  appStore.initSystemInfo();
  // #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,
  })
}
async function initVoiceCallFromH5() {
  const {userSig, SDKAppID} = genTestUserSig(userId.value)
  await TUICallKitAPI.init({
    userID: userId.value,
    userSig,
    SDKAppID,
  })
}
// 初始化登陆腾讯音频平台
watch(userId, () => {
  if (!userId.value) return
  // #ifdef H5
  initVoiceCallFromH5()
  // #endif
  // #ifdef APP-PLUS
  initVoiceCallFromApp()
  // #endif
}, {immediate: true})
useGlobalWS()
onShow(() => {
  console.log("App Show");
@@ -59,6 +15,17 @@
onHide(() => {
  console.log("App Hide");
});
onLaunch(() => {
  // 初始化系统信息
  appStore.initSystemInfo();
  if (!userStore.userInfo) {
    //不存在则跳转至登录页
    uni.reLaunch({
      url: "/pages/login/index",
    })
  }
});
</script>
<style lang="scss">
@@ -66,7 +33,7 @@
@import "uview-plus/index.scss";
@import "@/static/styles/common.scss";
.TUICallKit-mobile{
.TUICallKit-mobile {
  position: fixed;
  left: 0;
  top: 0;