import request from '@/utils/request' /** * 上传文件通用接口 * @param data File 对象 或 FormData 对象 */ export function uploadFile(data: File | FormData) { let formData: FormData if (data instanceof FormData) { formData = data } else { formData = new FormData() // @ts-ignore formData.append('file', data) } return request({ 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({ url: `/v1/common/files/${filename}`, method: 'delete' }) } // ============================================================================ // 以图搜图 API // ============================================================================ /** 以图搜图返回的物料项 */ export interface ImageSearchItem { product_id: number product_name: string spec_model: string image_url: string similarity: number } /** 以图搜图响应结构 */ export interface ImageSearchResponse { code: number msg: string data: ImageSearchItem[] } /** * 以图搜图 * @param file 图片文件 (File 对象或 Blob) */ export function imageSearch(file: File | Blob) { const formData = new FormData() formData.append('file', file) return request({ url: '/v1/common/image-search', method: 'post', data: formData, headers: { 'Content-Type': 'multipart/form-data' } }) }