import request from '@/utils/request' /** * 上传文件通用接口 * @param data File 对象 或 FormData 对象 * 适配说明:list.vue 中 customUpload 已经封装了 FormData,所以这里支持直接传 FormData */ export function uploadFile(data: File | FormData) { let formData: FormData if (data instanceof FormData) { formData = data } else { // 如果传入的是原始 File 对象,则手动封装 formData = new FormData() // @ts-ignore formData.append('file', data) } return request({ // 注意:这里 /v1/common/upload 需要与后端 BluePrint 注册的 url_prefix 对应 url: '/v1/common/upload', method: 'post', data: formData, headers: { 'Content-Type': 'multipart/form-data' } }) } /** * 删除文件通用接口 (新增) * @param filename 文件名 (例如: a1b2c3d4.jpg) */ export function deleteFile(filename: string) { return request({ // 对应后端路由: @upload_bp.route('/files/', methods=['DELETE']) url: `/v1/common/files/${filename}`, method: 'delete' }) }