diff --git a/src/App.tsx b/src/App.tsx index 92a36d8..3c752f3 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -9,7 +9,7 @@ import Meeting from '@/page/Meeting/index' import NotFound from '@/page/NotFound/index' import { storage } from '@/utils' import { message, Spin } from "antd"; -import { onOtherSignalr, onReconnected, onStop, startSignalr } from "@/utils/package/signalr"; +import { onOtherSignalr, onStop, startSignalr } from "@/utils/package/signalr"; import JoinMeetingModal from "@/components/JoinMeetingModal"; import UpdateModal from "@/components/UpdateModal"; import * as CryptoJS from 'crypto-js'; @@ -185,9 +185,6 @@ const App: React.FC = () => { break; } }) - onReconnected(async () => { - storage.setItem('reconnect', true) - }) } const toSrc = (path: string): void => { window.electron.getWindowSize().then((res: any) => { diff --git a/src/page/Meeting/index.tsx b/src/page/Meeting/index.tsx index 8141d4d..afc3bc7 100644 --- a/src/page/Meeting/index.tsx +++ b/src/page/Meeting/index.tsx @@ -232,31 +232,31 @@ const Meeting: React.FC = () => { case 0: setNetworkQuality({ level: '断开连接', - text: '网络连接断开。' + text: '网络连接断开' }) break; case 1: setNetworkQuality({ level: '非常差', - text: '完全无法沟通。' + text: '完全无法沟通' }) break; case 2: setNetworkQuality({ level: '差', - text: '勉强能沟通但不顺畅,网络质量非常差,基本不能沟通。' + text: '勉强能沟通但不顺畅' }) break; case 3: setNetworkQuality({ level: '良好', - text: ' 用户主观感受有瑕疵但不影响沟通。' + text: ' 有瑕疵但不影响沟通' }) break; case 4: setNetworkQuality({ level: '佳', - text: '网络质量极好。' + text: '网络质量极好' }) break; } @@ -748,7 +748,7 @@ const Meeting: React.FC = () => { setCurrentEffective(0) break; default: - setCurrentEffective(storage.getItem('reconnect') ? 4 : 0) + setCurrentEffective(storage.getItem('reconnect') =='true'? 4 : 0) break; } } @@ -759,7 +759,6 @@ const Meeting: React.FC = () => { onConnectionStateChanged: async (_connection: RtcConnection, stateNumber: ConnectionStateType, reason: ConnectionChangedReasonType) => { const reconnectingCode = [2, 16, 11, 13, 14, 12] if (stateNumber === 4 && reconnectingCode.indexOf(reason) >= 0) { - storage.setItem('reconnect', false) message.error('网络断开,请检查网络') } }, @@ -1212,10 +1211,10 @@ const Meeting: React.FC = () => { await getLeave() } await agora.leaveChannel() - if (Number(user.perms)) { - navigate('/home/index') - } else { + if (user.isAnonymous) { storage.setItem('userLogin', false) + } else { + navigate('/home/index') } } // 分享屏幕 diff --git a/src/utils/package/signalr.ts b/src/utils/package/signalr.ts index b31353e..0f7dd9d 100644 --- a/src/utils/package/signalr.ts +++ b/src/utils/package/signalr.ts @@ -10,10 +10,15 @@ export const startSignalr = async () => { accessTokenFactory: () => user.token }) .build(); - await onStart() + onStart() storage.setItem('isSignalr', true) - connection.onclose(async () => { - await onStart() + storage.setItem('reconnect', true) + connection.onreconnected(async () => { + storage.setItem('reconnect', true) + }); + connection.onreconnecting(async () => { + onStart() + storage.setItem('reconnect', false) }); } @@ -29,13 +34,6 @@ export const onStart = async (callBack?: Function) => { } } } -export const onReconnected = async (callBack: Function) => { - if (connection) { - connection.onreconnected(async (_newConnectionId: any) => { - callBack() - }); - } -} export const onOtherSignalr = (callBack: Function) => { if (connection) { // 邀请