From 2448707633354d8e5b83334d6aeb5f0f855f9d75 Mon Sep 17 00:00:00 2001 From: Megghy Date: Wed, 19 Mar 2025 11:56:07 +0800 Subject: [PATCH] fix open live danmaku client init --- src/data/DanmakuClients/OpenLiveClient.ts | 64 ++--------------------- src/store/useDanmakuClient.ts | 8 ++- src/views/OpenLiveLayout.vue | 2 + 3 files changed, 8 insertions(+), 66 deletions(-) diff --git a/src/data/DanmakuClients/OpenLiveClient.ts b/src/data/DanmakuClients/OpenLiveClient.ts index 66e97a6..f9d6ade 100644 --- a/src/data/DanmakuClients/OpenLiveClient.ts +++ b/src/data/DanmakuClients/OpenLiveClient.ts @@ -18,7 +18,7 @@ export default class OpenLiveClient extends BaseDanmakuClient { private timer: any | undefined public authInfo: AuthInfo | undefined - public roomAuthInfo: RoomAuthInfo | undefined + public roomAuthInfo: OpenLiveInfo | undefined public authCode: string | undefined public events: { @@ -71,6 +71,8 @@ export default class OpenLiveClient extends BaseDanmakuClient { ) }) + this.roomAuthInfo = auth.data + return await super.initClientInner(chatClient) } else { console.log(`[${this.type}] 无法开启场次: ` + auth.message) @@ -369,66 +371,6 @@ export interface AuthInfo { Caller: string CodeSign: string } -/** - * 场次信息 - */ -interface GameInfo { - /** - * 场次id,心跳key(心跳保持20s-60s)调用一次,超过60s无心跳自动关闭,长连停止推送消息 - */ - game_id: string -} - -/** - * 长连信息 - */ -interface WebsocketInfo { - /** - * 长连使用的请求json体 第三方无需关注内容,建立长连时使用即可 - */ - auth_body: string - /** - * wss 长连地址 - */ - wss_link: string[] -} - -/** - * 主播信息 - */ -interface AnchorInfo { - /** - * 主播房间号 - */ - room_id: number - /** - * 主播昵称 - */ - uname: string - /** - * 主播头像 - */ - uface: string - /** - * 主播uid - */ - uid: number - open_id: string -} -export interface RoomAuthInfo { - /** - * 场次信息 - */ - game_info: GameInfo - /** - * 长连信息 - */ - websocket_info: WebsocketInfo - /** - * 主播信息 - */ - anchor_info: AnchorInfo -} export interface DanmakuEventsMap { danmaku: (arg1: DanmakuInfo, arg2?: any) => void gift: (arg1: GiftInfo, arg2?: any) => void diff --git a/src/store/useDanmakuClient.ts b/src/store/useDanmakuClient.ts index cdaa2dd..fb57d63 100644 --- a/src/store/useDanmakuClient.ts +++ b/src/store/useDanmakuClient.ts @@ -1,8 +1,6 @@ import { useAccount } from '@/api/account' -import OpenLiveClient, { - AuthInfo, - RoomAuthInfo -} from '@/data/DanmakuClients/OpenLiveClient' +import { OpenLiveInfo } from '@/api/api-models' +import OpenLiveClient, { AuthInfo } from '@/data/DanmakuClients/OpenLiveClient' import { defineStore } from 'pinia' import { computed, ref } from 'vue' @@ -21,7 +19,7 @@ export const useDanmakuClient = defineStore('DanmakuClient', () => { const connected = computed( () => status.value === 'running' || status.value === 'listening' ) - const authInfo = ref() + const authInfo = ref() const accountInfo = useAccount() let existOtherClient = false diff --git a/src/views/OpenLiveLayout.vue b/src/views/OpenLiveLayout.vue index 1568555..b66a53a 100644 --- a/src/views/OpenLiveLayout.vue +++ b/src/views/OpenLiveLayout.vue @@ -200,6 +200,8 @@ onUnmounted(() => {