From df2a71cf5feb914a9ca0540142bb6bf1865e26fb Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Thu, 13 Nov 2025 18:26:19 +0800
Subject: [PATCH] feat:未登录跳转登录页
---
src/App.vue | 210 +++++++++++++++++++++++++++++----------------------
1 files changed, 119 insertions(+), 91 deletions(-)
diff --git a/src/App.vue b/src/App.vue
index 498f372..fbe3bf7 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,109 +1,137 @@
<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
-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
+ 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
- initVoiceCallFromH5()
+ import {
+ TUICallKitAPI
+ } from '@trtc/calls-uikit-vue'
// #endif
+ const appStore = useAppStore();
+ const userStore = useUserStore();
- // #ifdef APP-PLUS
- initVoiceCallFromApp()
- // #endif
-}, {immediate: true})
+ onLaunch(() => {
+ // 初始化系统信息
+ appStore.initSystemInfo();
-onShow(() => {
- console.log("App Show");
-});
+ if (!userStore.userInfo) {
+ //不存在则跳转至登录页
+ uni.reLaunch({
+ url: "/pages/login/index",
+ })
+ }
-onHide(() => {
- console.log("App Hide");
-});
+ // #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
+ })
+
+ onShow(() => {
+ console.log("App Show");
+ });
+
+ onHide(() => {
+ console.log("App Hide");
+ });
</script>
<style lang="scss">
-/* 每个页面公共css */
-@import "uview-plus/index.scss";
-@import "@/static/styles/common.scss";
+ /* 每个页面公共css */
+ @import "uview-plus/index.scss";
+ @import "@/static/styles/common.scss";
-.TUICallKit-mobile{
- position: fixed;
- left: 0;
- top: 0;
- z-index: 9999;
-}
+ .TUICallKit-mobile {
+ position: fixed;
+ left: 0;
+ top: 0;
+ z-index: 9999;
+ }
-page {
- background-image: url('~@/static/images/user/bg.png');
- background-size: cover;
- background-position: center;
- background-repeat: no-repeat;
- background-attachment: fixed;
- // min-height: 10vh;
-}
+ page {
+ background-image: url('~@/static/images/user/bg.png');
+ background-size: cover;
+ background-position: center;
+ background-repeat: no-repeat;
+ background-attachment: fixed;
+ // min-height: 10vh;
+ }
-.uni-tabbar__item:nth-child(4) {
- .uni-tabbar__bd {
- .uni-tabbar__icon {
- width: 60px !important;
- height: 60px !important;
- margin-top: -20px;
+ .uni-tabbar__item:nth-child(4) {
+ .uni-tabbar__bd {
+ .uni-tabbar__icon {
+ width: 60px !important;
+ height: 60px !important;
+ margin-top: -20px;
+ }
}
}
-}
-.uni-tabbar-border {
- background-color: #f6f6f6 !important;
-}
+ .uni-tabbar-border {
+ background-color: #f6f6f6 !important;
+ }
-.uni-page-head__title {
- font-family: Source Han Sans CN, Source Han Sans CN !important;
- font-weight: 400 !important;
- font-size: 17px !important;
- color: #222324 !important;
-}
+ .uni-page-head__title {
+ font-family: Source Han Sans CN, Source Han Sans CN !important;
+ font-weight: 400 !important;
+ font-size: 17px !important;
+ color: #222324 !important;
+ }
-.uni-page-head {
- background: transparent !important;
-}
+ .uni-page-head {
+ background: transparent !important;
+ }
</style>
--
Gitblit v1.9.3