视频会议

This commit is contained in:
duoaohui
2026-05-24 00:00:56 +08:00
parent 9b85c9c9e5
commit bf04114c99
2 changed files with 11 additions and 4 deletions

View File

@@ -12,7 +12,8 @@
--> -->
<template> <template>
<view class="sso"> <view class="sso">
<text class="sso-title">{{ statusText }}</text> <!-- 仅出错时显示文字正常跳转过程肉眼无感背景与会议页一致 -->
<text v-if="hasError" class="sso-title">{{ statusText }}</text>
</view> </view>
</template> </template>
@@ -28,6 +29,7 @@ import { useGroupStore } from '@/store/group'
import { useNotifyStore } from '@/store/notify' import { useNotifyStore } from '@/store/notify'
const statusText = ref('正在登录…') const statusText = ref('正在登录…')
const hasError = ref(false)
function safeDecode(value) { function safeDecode(value) {
try { try {
@@ -165,6 +167,7 @@ onLoad((query) => {
}) })
if (!payload || !payload.token || !ssoUser) { if (!payload || !payload.token || !ssoUser) {
statusText.value = '缺少 payload 参数' statusText.value = '缺少 payload 参数'
hasError.value = true
return return
} }
markCloudLawEmbed() markCloudLawEmbed()
@@ -187,6 +190,7 @@ onLoad((query) => {
} catch (e) { } catch (e) {
console.error('[SSO] 解析失败', e) console.error('[SSO] 解析失败', e)
statusText.value = `SSO 失败:${e.message || e}` statusText.value = `SSO 失败:${e.message || e}`
hasError.value = true
} }
}) })
</script> </script>
@@ -197,10 +201,11 @@ onLoad((query) => {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
background: #F8FAFC; /* 与进入后的会议页背景一致,跳转闪烁不可见 */
background: #050b1d;
} }
.sso-title { .sso-title {
font-size: 30rpx; font-size: 30rpx;
color: #475569; color: rgba(255,255,255,0.78);
} }
</style> </style>

View File

@@ -1,6 +1,8 @@
<template> <template>
<view class="cloud-law-call"> <view class="cloud-law-call">
<view v-if="!isReady" class="entry-state"> <!-- 仅在"出错 / 已结束"时显示过渡页正常 connecting 期间直接渲染会议外壳
避免出现"正在进入视频咨询"这一中间画面 -->
<view v-if="joinError || ended" class="entry-state">
<view class="entry-avatar">{{ entryInitial }}</view> <view class="entry-avatar">{{ entryInitial }}</view>
<text class="entry-title">{{ entryTitle }}</text> <text class="entry-title">{{ entryTitle }}</text>
<text class="entry-desc">{{ joinError || stateText }}</text> <text class="entry-desc">{{ joinError || stateText }}</text>