增加天翼网盘在线播放

This commit is contained in:
mtvpls
2026-04-27 09:43:40 +08:00
parent 945605703f
commit 30b448c920
13 changed files with 1077 additions and 9 deletions
@@ -0,0 +1,48 @@
import { getConfig } from '@/lib/config';
import { listTianyiShareVideos } from './tianyi.client';
import {
createTianyiNetdiskSession,
getTianyiNetdiskSession,
parseTianyiNetdiskId,
refreshTianyiNetdiskSession,
} from './tianyi-session-cache';
export async function resolveTianyiSession(id: string) {
const config = await getConfig();
const tianyiConfig = config.NetDiskConfig?.Tianyi;
if (!tianyiConfig?.Enabled || !tianyiConfig.Account || !tianyiConfig.Password) {
throw new Error('天翼云盘未配置或未启用');
}
let session = refreshTianyiNetdiskSession(id) || getTianyiNetdiskSession(id);
if (!session) {
const payload = parseTianyiNetdiskId(id);
const result = await listTianyiShareVideos(
payload.shareUrl,
tianyiConfig.Account,
tianyiConfig.Password,
payload.passcode || ''
);
session = createTianyiNetdiskSession({
title: result.title,
shareUrl: payload.shareUrl,
passcode: payload.passcode,
shareId: result.shareId,
shareMode: result.shareMode,
isFolder: result.isFolder,
accessCode: result.accessCode,
files: result.files,
});
}
if (!session) {
throw new Error('天翼云盘播放信息恢复失败');
}
return {
session,
account: tianyiConfig.Account,
password: tianyiConfig.Password,
};
}