夸克网盘在线播放移除openlist依赖
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
import { getConfig } from '@/lib/config';
|
||||
|
||||
import { listQuarkShareVideos } from './quark.client';
|
||||
import {
|
||||
createQuarkNetdiskSession,
|
||||
getQuarkNetdiskSession,
|
||||
parseQuarkNetdiskId,
|
||||
refreshQuarkNetdiskSession,
|
||||
} from './quark-session-cache';
|
||||
|
||||
export async function resolveQuarkSession(id: string) {
|
||||
const config = await getConfig();
|
||||
const quarkConfig = config.NetDiskConfig?.Quark;
|
||||
if (!quarkConfig?.Enabled || !quarkConfig.Cookie) {
|
||||
throw new Error('夸克网盘未配置或未启用');
|
||||
}
|
||||
|
||||
let session = refreshQuarkNetdiskSession(id) || getQuarkNetdiskSession(id);
|
||||
if (!session) {
|
||||
const payload = parseQuarkNetdiskId(id);
|
||||
const result = await listQuarkShareVideos(payload.shareUrl, quarkConfig.Cookie, payload.passcode || '');
|
||||
session = createQuarkNetdiskSession({
|
||||
title: result.title,
|
||||
shareUrl: payload.shareUrl,
|
||||
passcode: payload.passcode,
|
||||
shareId: result.shareId,
|
||||
shareToken: result.shareToken,
|
||||
files: result.files,
|
||||
});
|
||||
}
|
||||
|
||||
if (!session) {
|
||||
throw new Error('夸克网盘播放信息恢复失败');
|
||||
}
|
||||
|
||||
return { session, cookie: quarkConfig.Cookie, savePath: quarkConfig.SavePath || '/' };
|
||||
}
|
||||
Reference in New Issue
Block a user