Files
lanecarford_front/src/api/workshop.ts
2025-10-27 11:43:07 +08:00

113 lines
2.9 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import request from '@/utils/request'
/**
* 生成试穿效果
* @param data 试穿效果数据
* @param data.customerId 顾客ID
* @param data.visitRecordId 进店记录id
* @param data.styleId 样式id
* @param data.modelPhotoId 模型照片id
* @param data.customerPhotoId 顾客照片id
* @param data.prompt 提示词
* @param data.originalTryOnId 原始试穿效果id
* @param data.isRegenerated 是否重新生成 0-否1-是
*/
export function generateTryOnEffect(data: Object) {
return request({
url: '/api/try-on-effects/generate',
method: 'post',
data,
})
}
/** 上传图片-AI换脸
* @param data 图片数据
* @param data.customerId 顾客ID
* @param data.visitRecordId 进店记录id
* @param data.file 顾客照片文件
*/
export function uploadCustomerPhoto(data: FormData) {
return request({
url: '/api/customer-photos/upload',
method: 'post',
data,
loading: true,
})
}
/**
* 设置喜欢
* @param tryOnId 试穿效果id
*/
export function setTryOnEffectFavorite(tryOnId: string | number) {
if (!tryOnId) return Promise.reject('试穿效果id不能为空');
return request({
url: `/api/try-on-effects/set-favorite/${tryOnId}`,
method: 'post',
})
}
/**
* 取消喜欢
* @param tryOnId 试穿效果id
*/
export function cancelTryOnEffectFavorite(tryOnId: string | number) {
if (!tryOnId) return Promise.reject('试穿效果id不能为空');
return request({
url: `/api/try-on-effects/cancel-favorite/${tryOnId}`,
method: 'post',
})
}
/** 查询进店记录-library
* @param customerId 客户id
*/
export function getCustomerPhotos(customerId: string | number) {
if (!customerId) return Promise.reject('客户id不能为空');
return request({
url: `/api/visit-records/customer/${customerId}`,
method: 'get',
})
}
/** 删除进店记录-library
* @param visitRecordId 进店记录id
*/
export function deleteCustomerPhoto(visitRecordId: string | number) {
if (!visitRecordId) return Promise.reject('进店记录id不能为空');
return request({
url: `/api/visit-records/${visitRecordId}`,
method: 'delete',
// loading: true,
})
}
/** 查询收藏列表
* @param visitRecordId 进店记录id
*/
export function getTryOnEffectFavoriteList(visitRecordId: string | number) {
if (!visitRecordId) return Promise.reject('进店记录id不能为空');
return request({
url: `/api/try-on-effects/favorites/${visitRecordId}`,
method: 'get',
})
}
/** 查询某套试穿效果列表
* @param styleId 服装id
*/
export function getTryOnEffectStyleList(styleId: string | number) {
if (!styleId) return Promise.reject('服装id不能为空');
return request({
url: `/api/try-on-effects/style/${styleId}`,
method: 'get',
})
}
interface CustomerInfo {
name: string
email: string
}
export const customerCheckin = (data: CustomerInfo) => {
return request({
url: '/api/customers/checkIn',
method: 'get',
params: data,
})
}