From 059e45df7d9ab4ba4972f7dd343cb98d9d818236 Mon Sep 17 00:00:00 2001 From: Andy Hsu Date: Sun, 3 Dec 2023 14:56:01 +0800 Subject: [PATCH] fix: add ts to d_url of iframe preview (close alist-org/alist#5613) --- src/pages/home/previews/iframe.tsx | 1 + src/utils/str.ts | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/src/pages/home/previews/iframe.tsx b/src/pages/home/previews/iframe.tsx index 40daa14e0f..c35ed77487 100644 --- a/src/pages/home/previews/iframe.tsx +++ b/src/pages/home/previews/iframe.tsx @@ -13,6 +13,7 @@ const IframePreview = (props: { scheme: string }) => { raw_url: objStore.raw_url, name: objStore.obj.name, d_url: currentObjLink(true), + ts: true, }) }) return ( diff --git a/src/utils/str.ts b/src/utils/str.ts index 5e1b7cf8a7..5b9af3b5c4 100644 --- a/src/utils/str.ts +++ b/src/utils/str.ts @@ -53,11 +53,18 @@ export type ConvertURLArgs = { raw_url: string name: string d_url: string + ts?: boolean } export const convertURL = (scheme: string, args: ConvertURLArgs) => { let ans = scheme ans = ans.replace("$name", args.name) + if (args.ts) { + const d = new URL(args.d_url) + const ts = Date.now() + d.searchParams.set("alist_ts", ts.toString()) + args.d_url = d.toString() + } ans = ans.replace(/\$[eb_]*url/, (old) => { const op = old.match(/e|b/) let u = args.raw_url