Files
geg-gas-web/src/api/system/file/index.ts

135 lines
2.9 KiB
TypeScript
Raw Normal View History

import { defHttp } from '/@/utils/http/axios';
import { ErrorMessageMode } from '/#/axios';
2025-10-13 11:53:54 +08:00
import { FilePageListParams, FilePageListSearchModel, FilePageListResultModel, ZipFilesModel, FileModel } from './model';
import { useGlobSetting } from '/@/hooks/setting';
const globSetting = useGlobSetting();
const urlPrefix = globSetting.apiUrl;
enum Api {
File = '/system/file',
Info = '/system/file/info',
List = '/system/file/list',
Page = '/system/file/page',
DeleteFile = '/system/file/delete',
2025-10-13 11:53:54 +08:00
ZipFiles = '/system/file/package-files',
}
export function parseDownloadUrl(url:string,th?:boolean,full?:boolean) {
// 空值防护如果url为空直接返回空字符串避免拼接出错
if (!url) return '';
// 判断url是否以/api开头忽略首尾空格兼容可能的空格场景
const trimmedUrl = url.trim();
if(urlPrefix!=undefined && trimmedUrl.startsWith(urlPrefix)){
return trimmedUrl + (th ? '&th=true' : '');
}
let resultUrl = urlPrefix + trimmedUrl + (th ? '&th=true' : '');
if(full){
return location.origin + resultUrl;
}
return resultUrl;
}
2025-12-05 11:34:18 +08:00
export async function getInfoByDownloadUrl(params: {id: string}, mode: ErrorMessageMode = 'modal') {
return defHttp.get<FileModel>(
{
url: Api.Info,
params,
},
{
errorMessageMode: mode,
},
);
}
/**
* @description:
*/
export async function getFilePage(
params: FilePageListSearchModel,
mode: ErrorMessageMode = 'modal',
) {
return defHttp.get<FilePageListResultModel>(
{
url: Api.Page,
params,
},
{
errorMessageMode: mode,
},
);
}
/**
* @description:
*/
export async function deleteFile(ids: string[], mode: ErrorMessageMode = 'modal') {
return defHttp.delete<number>(
{
url: Api.DeleteFile,
data: ids,
},
{
errorMessageMode: mode,
},
);
}
/**
* @description:
*/
export async function deleteSingleFile(id: string, mode: ErrorMessageMode = 'modal') {
return defHttp.delete<string>(
{
url: Api.DeleteFile,
data: [id],
},
{
errorMessageMode: mode,
},
);
}
/**
* @description:
*/
export async function getFileList(params: FilePageListParams, mode: ErrorMessageMode = 'modal') {
return defHttp.get(
{
url: Api.List,
params,
},
{
errorMessageMode: mode,
},
);
}
2025-10-13 11:53:54 +08:00
export async function getZipFiles(params, mode: ErrorMessageMode = 'modal') {
return defHttp.get<ZipFilesModel>(
{
url: Api.ZipFiles,
params,
},
{
errorMessageMode: mode,
},
);
}
export async function getAppToken(params, mode: ErrorMessageMode = 'modal') {
return defHttp.get(
{
url: '/v1/3rd/weboffice/url',
params
},
{
errorMessageMode: mode,
},
);
}