Files
KCGL/inventory-web/src/api/common/upload.ts

75 lines
1.7 KiB
TypeScript

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<ImageSearchResponse>({
url: '/v1/common/image-search',
method: 'post',
data: formData,
headers: {
'Content-Type': 'multipart/form-data'
}
})
}