add sync download

This commit is contained in:
2025-05-12 04:30:17 +08:00
parent 4aec2bc231
commit eaccbf5ada
14 changed files with 219 additions and 32 deletions

View File

@@ -23,21 +23,25 @@ export type Package = {
type Options = {
check?: boolean;
returnContent?: boolean;
setToken?: boolean;
[key: string]: any;
};
export const fetchLink = async (url: string, opts?: Options) => {
const token = process.env.KEVISUAL_TOKEN || storage.getItem('token');
const fetchURL = new URL(url);
const check = opts?.check ?? false;
const setToken = opts?.setToken ?? true;
if (check) {
if (!url.startsWith(baseURL)) {
throw new Error('url must start with ' + baseURL);
}
}
if (token) {
if (token && setToken) {
fetchURL.searchParams.set('token', token);
}
fetchURL.searchParams.set('download', 'true');
console.log('fetchURL', fetchURL.toString());
const res = await fetch(fetchURL.toString());
const blob = await res.blob();
const type = blob.type;