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

135 lines
2.9 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { defHttp } from '/@/utils/http/axios';
import { ErrorMessageMode } from '/#/axios';
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',
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;
}
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,
},
);
}
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,
},
);
}