From a24f901d1d82ebb9de9c8a7ea1b91941dc890b31 Mon Sep 17 00:00:00 2001 From: algerkong Date: Fri, 4 Apr 2025 21:16:09 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat:=20=E4=BC=98=E5=8C=96B?= =?UTF-8?q?=E7=AB=99=E8=A7=86=E9=A2=91=E4=BB=A3=E7=90=86URL=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/api/bilibili.ts | 8 ++++++-- src/renderer/utils/index.ts | 11 +++++++++++ src/renderer/utils/request.ts | 14 ++------------ 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/src/renderer/api/bilibili.ts b/src/renderer/api/bilibili.ts index b16a11d..0998846 100644 --- a/src/renderer/api/bilibili.ts +++ b/src/renderer/api/bilibili.ts @@ -1,4 +1,5 @@ import type { IBilibiliPlayUrl, IBilibiliVideoDetail } from '@/types/bilibili'; +import { getSetData, isElectron } from '@/utils'; import request from '@/utils/request'; interface ISearchParams { @@ -121,10 +122,13 @@ export const getBilibiliPlayUrl = ( }); }; -// `http://127.0.0.1:30666/bilibili/stream-proxy?url=${encodeURIComponent(`https:${item.pic}`)}`, export const getBilibiliProxyUrl = (url: string) => { + const setData = getSetData(); + const baseURL = isElectron + ? `http://127.0.0.1:${setData?.musicApiPort}` + : import.meta.env.VITE_API; const AUrl = url.startsWith('http') ? url : `https:${url}`; - return `${import.meta.env.VITE_API}/bilibili/stream-proxy?url=${encodeURIComponent(AUrl)}`; + return `${baseURL}/bilibili/stream-proxy?url=${encodeURIComponent(AUrl)}`; }; export const getBilibiliAudioUrl = async (bvid: string, cid: number): Promise => { diff --git a/src/renderer/utils/index.ts b/src/renderer/utils/index.ts index 73e2c38..7252764 100644 --- a/src/renderer/utils/index.ts +++ b/src/renderer/utils/index.ts @@ -101,3 +101,14 @@ export const isElectron = (window as any).electron !== undefined; export const isLyricWindow = computed(() => { return window.location.hash.includes('lyric'); }); + +export const getSetData = (): any => { + let setData = null; + if (window.electron) { + setData = window.electron.ipcRenderer.sendSync('get-store-value', 'set'); + } else { + const settingsStore = useSettingsStore(); + setData = settingsStore.setData; + } + return setData; +}; diff --git a/src/renderer/utils/request.ts b/src/renderer/utils/request.ts index 8a51548..7b3508f 100644 --- a/src/renderer/utils/request.ts +++ b/src/renderer/utils/request.ts @@ -1,20 +1,10 @@ import axios, { InternalAxiosRequestConfig } from 'axios'; -import { useSettingsStore } from '@/store/modules/settings'; import { useUserStore } from '@/store/modules/user'; -import { isElectron } from '.'; +import { getSetData, isElectron } from '.'; let setData: any = null; -const getSetData = () => { - if (window.electron) { - setData = window.electron.ipcRenderer.sendSync('get-store-value', 'set'); - } else { - const settingsStore = useSettingsStore(); - setData = settingsStore.setData; - } - return setData; -}; // 扩展请求配置接口 interface CustomAxiosRequestConfig extends InternalAxiosRequestConfig { @@ -39,7 +29,7 @@ const RETRY_DELAY = 500; // 请求拦截器 request.interceptors.request.use( (config: CustomAxiosRequestConfig) => { - getSetData(); + setData = getSetData(); config.baseURL = window.electron ? `http://127.0.0.1:${setData?.musicApiPort}` : import.meta.env.VITE_API;