2026-03-04 18:17:34 +08:00
|
|
|
|
import request from '@/utils/request'
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 获取型号列表
|
|
|
|
|
|
* @param {Object} params - 查询参数
|
|
|
|
|
|
* @param {number} params.skip - 跳过记录数
|
|
|
|
|
|
* @param {number} params.limit - 返回记录数
|
|
|
|
|
|
* @param {string} params.brand_name - 品牌名称(模糊查询)
|
|
|
|
|
|
* @param {string} params.name - 型号名称(模糊查询)
|
2026-05-14 17:54:36 +08:00
|
|
|
|
* @param {string} [params.sort_by] - 排序字段:id | create_at,默认 id
|
|
|
|
|
|
* @param {string} [params.sort_order] - asc | desc,默认 desc
|
2026-03-04 18:17:34 +08:00
|
|
|
|
*/
|
|
|
|
|
|
export function getModels(params) {
|
|
|
|
|
|
return request({
|
|
|
|
|
|
url: '/models/',
|
|
|
|
|
|
method: 'get',
|
|
|
|
|
|
params
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 获取单个型号
|
|
|
|
|
|
* @param {number} id - 型号 ID
|
|
|
|
|
|
*/
|
|
|
|
|
|
export function getModel(id) {
|
|
|
|
|
|
return request({
|
|
|
|
|
|
url: `/models/${id}`,
|
|
|
|
|
|
method: 'get'
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 创建型号
|
2026-03-17 14:20:08 +08:00
|
|
|
|
* @param {Object} data - 型号数据或 FormData
|
|
|
|
|
|
* @param {Object} config - 额外配置
|
|
|
|
|
|
* @param {boolean} config.isFormData - 是否为 FormData 上传
|
2026-03-04 18:17:34 +08:00
|
|
|
|
*/
|
2026-03-17 14:20:08 +08:00
|
|
|
|
export function createModel(data, config = {}) {
|
2026-03-04 18:17:34 +08:00
|
|
|
|
return request({
|
|
|
|
|
|
url: '/models/',
|
|
|
|
|
|
method: 'post',
|
2026-03-17 14:20:08 +08:00
|
|
|
|
data,
|
|
|
|
|
|
headers: config.isFormData ? { 'Content-Type': 'multipart/form-data' } : {}
|
2026-03-04 18:17:34 +08:00
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 更新型号
|
2026-05-14 17:54:36 +08:00
|
|
|
|
* @param {number} id - 型号 ID
|
|
|
|
|
|
* @param {Object} data - 型号数据或 FormData(与创建一致,可为 multipart)
|
2026-03-17 14:20:08 +08:00
|
|
|
|
* @param {Object} config - 额外配置
|
|
|
|
|
|
* @param {boolean} config.isFormData - 是否为 FormData 上传
|
2026-03-04 18:17:34 +08:00
|
|
|
|
*/
|
2026-05-14 17:54:36 +08:00
|
|
|
|
export function updateModel(id, data, config = {}) {
|
2026-03-04 18:17:34 +08:00
|
|
|
|
return request({
|
2026-05-14 17:54:36 +08:00
|
|
|
|
url: `/models/${id}`,
|
2026-03-04 18:17:34 +08:00
|
|
|
|
method: 'put',
|
2026-03-17 14:20:08 +08:00
|
|
|
|
data,
|
|
|
|
|
|
headers: config.isFormData ? { 'Content-Type': 'multipart/form-data' } : {}
|
2026-03-04 18:17:34 +08:00
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 删除型号
|
|
|
|
|
|
* @param {number} id - 型号 ID
|
|
|
|
|
|
*/
|
|
|
|
|
|
export function deleteModel(id) {
|
|
|
|
|
|
return request({
|
|
|
|
|
|
url: `/models/${id}`,
|
|
|
|
|
|
method: 'delete'
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
2026-05-20 14:13:42 +08:00
|
|
|
|
* 推送前校验曲线数据
|
|
|
|
|
|
* @param {Array<number>} modelIds - 型号 ID 列表
|
|
|
|
|
|
*/
|
|
|
|
|
|
export function validatePushToMeilisearch(modelIds) {
|
|
|
|
|
|
return request({
|
|
|
|
|
|
url: '/models/push-to-search/validate',
|
|
|
|
|
|
method: 'post',
|
|
|
|
|
|
data: { model_ids: modelIds },
|
|
|
|
|
|
timeout: 120000,
|
|
|
|
|
|
skipErrorToast: true
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 推送到 Meilisearch(需先通过校验)
|
2026-03-04 18:17:34 +08:00
|
|
|
|
* @param {Array<number>} modelIds - 型号 ID 列表
|
|
|
|
|
|
*/
|
|
|
|
|
|
export function pushToMeilisearch(modelIds) {
|
|
|
|
|
|
return request({
|
|
|
|
|
|
url: '/models/push-to-search',
|
|
|
|
|
|
method: 'post',
|
2026-05-20 14:13:42 +08:00
|
|
|
|
data: { model_ids: modelIds },
|
|
|
|
|
|
timeout: 60000,
|
|
|
|
|
|
skipErrorToast: true
|
2026-03-04 18:17:34 +08:00
|
|
|
|
})
|
|
|
|
|
|
}
|