feat: 订阅链接可使用标准参数格式 #noCache&noFlow 或 井号附加 #noCache#noFlow

This commit is contained in:
xream 2024-01-16 08:11:34 +08:00
parent bdc7ee50f7
commit 1bc44ccde8
No known key found for this signature in database
GPG Key ID: 1D2C5225471789F9
2 changed files with 9 additions and 5 deletions

View File

@ -9,9 +9,11 @@ import $ from '@/core/app';
const tasks = new Map(); const tasks = new Map();
export default async function download(url, ua, timeout) { export default async function download(rawUrl, ua, timeout) {
let $arguments = {}; let $arguments = {};
let url = rawUrl.replace(/#noFlow$/, '');
const rawArgs = url.split('#'); const rawArgs = url.split('#');
url = url.split('#')[0];
if (rawArgs.length > 1) { if (rawArgs.length > 1) {
try { try {
// 支持 `#${encodeURIComponent(JSON.stringify({arg1: "1"}))}` // 支持 `#${encodeURIComponent(JSON.stringify({arg1: "1"}))}`

View File

@ -9,12 +9,11 @@ export function getFlowField(headers) {
)[0]; )[0];
return headers[subkey]; return headers[subkey];
} }
export async function getFlowHeaders(url, ua, timeout) { export async function getFlowHeaders(rawUrl, ua, timeout) {
if (url.endsWith('#noFlow')) { let url = rawUrl;
return;
}
let $arguments = {}; let $arguments = {};
const rawArgs = url.split('#'); const rawArgs = url.split('#');
url = url.split('#')[0];
if (rawArgs.length > 1) { if (rawArgs.length > 1) {
try { try {
// 支持 `#${encodeURIComponent(JSON.stringify({arg1: "1"}))}` // 支持 `#${encodeURIComponent(JSON.stringify({arg1: "1"}))}`
@ -31,6 +30,9 @@ export async function getFlowHeaders(url, ua, timeout) {
} }
} }
} }
if ($arguments?.noFlow) {
return;
}
const cached = headersResourceCache.get(url); const cached = headersResourceCache.get(url);
let flowInfo; let flowInfo;
if (!$arguments?.noCache && cached) { if (!$arguments?.noCache && cached) {