import request from '@/utils/request'; import { AxiosPromise } from 'axios'; import { FileCategoryVO, FileCategoryForm, FileCategoryQuery, TableDataInfo } from './types'; /** * 查询文件分类列表 * @param query 查询参数 * @returns Promise> */ export const listFileCategory = (query?: FileCategoryQuery): AxiosPromise> => { // 移除空值 const cleanQuery: Record = {}; if (query) { Object.keys(query).forEach((key) => { if ( query[key as keyof FileCategoryQuery] !== undefined && query[key as keyof FileCategoryQuery] !== null && query[key as keyof FileCategoryQuery] !== '' ) { cleanQuery[key] = query[key as keyof FileCategoryQuery]; } }); } return request({ url: '/resource/file/category/list', method: 'get', params: cleanQuery }); }; /** * 查询文件分类详细 * @param id 分类ID * @returns Promise */ export const getFileCategory = (id: number): AxiosPromise => { return request({ url: `/resource/file/category/${id}`, method: 'get' }); }; /** * 新增文件分类 * @param data 分类数据 * @returns Promise */ export const addFileCategory = (data: FileCategoryForm): AxiosPromise => { return request({ url: '/resource/file/category', method: 'post', data: data }); }; /** * 修改文件分类 * @param data 分类数据 * @returns Promise */ export const updateFileCategory = (data: FileCategoryForm): AxiosPromise => { return request({ url: '/resource/file/category', method: 'put', data: data }); }; /** * 删除文件分类 * @param id 分类ID * @returns Promise */ export const delFileCategory = (id: number | number[]): AxiosPromise => { const ids = Array.isArray(id) ? id.join(',') : id; return request({ url: `/resource/file/category/${ids}`, method: 'delete' }); }; /** * 查询文件分类树结构 * @returns Promise */ export const listFileCategoryTree = (): AxiosPromise => { return request({ url: '/resource/file/category/tree', method: 'get' }); }; /** * 根据类型查询分类列表 * @param type 分类类型 * @returns Promise */ export const listFileCategoryByType = (type: number): AxiosPromise => { return request({ url: `/resource/file/category/type/${type}`, method: 'get' }); };