feat: 添加弹幕投票相关功能, 修复礼物兑换外部链接bug

- 在api-models.ts中定义弹幕投票相关类型
- 在constants.ts中添加VOTE_API_URL常量
- 在路由中添加弹幕投票管理和OBS视图
- 更新组件以支持弹幕投票功能
This commit is contained in:
2025-05-05 02:01:01 +08:00
parent aea5e825f6
commit f90f2057bb
18 changed files with 1596 additions and 114 deletions

View File

@@ -1,22 +1,20 @@
import { cookie, useAccount } from '@/api/account';
import { getEventType, recordEvent, streamingInfo } from '@/client/data/info';
import { QueryBiliAPI } from '@/client/data/utils';
import { BASE_HUB_URL, isDev, isTauri } from '@/data/constants';
import BaseDanmakuClient from '@/data/DanmakuClients/BaseDanmakuClient';
import DirectClient, { DirectClientAuthInfo } from '@/data/DanmakuClients/DirectClient';
import OpenLiveClient from '@/data/DanmakuClients/OpenLiveClient';
import { DirectClientAuthInfo } from '@/data/DanmakuClients/DirectClient';
import * as signalR from '@microsoft/signalr';
import * as msgpack from '@microsoft/signalr-protocol-msgpack';
import { ZstdCodec, ZstdInit } from '@oneidentity/zstd-js/wasm';
import { platform, version } from '@tauri-apps/plugin-os';
import { defineStore } from 'pinia';
import { computed, ref, shallowRef } from 'vue'; // shallowRef 用于非深度响应对象
import { useRoute } from 'vue-router';
import { useWebRTC } from './useRTC';
import { QueryBiliAPI } from '@/client/data/utils';
import { platform, type, version } from '@tauri-apps/plugin-os';
import { ZstdCodec, ZstdInit } from '@oneidentity/zstd-js/wasm';
import { onReceivedNotification } from '@/client/data/notification';
import { encode } from "@msgpack/msgpack";
import { getVersion } from '@tauri-apps/api/app';
import { onReceivedNotification } from '@/client/data/notification';
import { useDanmakuClient } from './useDanmakuClient';
export const useWebFetcher = defineStore('WebFetcher', () => {
@@ -335,6 +333,12 @@ export const useWebFetcher = defineStore('WebFetcher', () => {
Success: true,
Data: data
} as ResponseFetchRequestData;
} else {
return {
Message: '请求失败: ' + result.statusText,
Success: false,
Data: ''
} as ResponseFetchRequestData;
}
}