增加天翼网盘在线播放
This commit is contained in:
@@ -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,
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user