158 lines
4.7 KiB
TypeScript
158 lines
4.7 KiB
TypeScript
// import request from '@/utils/request'
|
||
// 测试 模拟请求
|
||
import { useOverallStore } from '@/stores'
|
||
const request = (config: any) => {
|
||
return new Promise(res => {
|
||
if (config.loading) useOverallStore().setLoading(true)
|
||
setTimeout(() => {
|
||
res({})
|
||
if (config.loading) useOverallStore().setLoading(false)
|
||
}, 1000)
|
||
})
|
||
}
|
||
|
||
/**
|
||
* 生成试穿效果
|
||
* @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 new Promise(resolve => {
|
||
setTimeout(() => {
|
||
resolve({
|
||
tryOnId: 1,
|
||
tryOnUrl: "http://118.31.39.42:3000/falls/1.png",
|
||
styleUrl: "http://118.31.39.42:3000/falls/1.png",
|
||
isRegenerated: 0,
|
||
isFavorite: 0,
|
||
})
|
||
}, 1000)
|
||
})
|
||
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 new Promise(resolve => {
|
||
useOverallStore().setLoading(true)
|
||
setTimeout(() => {
|
||
resolve({
|
||
visitRecordId: "2",
|
||
defaultImageUrl: URL.createObjectURL(data.get('file')),
|
||
})
|
||
useOverallStore().setLoading(false)
|
||
}, 1000)
|
||
})
|
||
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) {
|
||
return new Promise(resolve => {
|
||
setTimeout(() => {
|
||
resolve([{ visitRecordId: 1 }, { visitRecordId: 2 }, { visitRecordId: 3 }])
|
||
}, 1000)
|
||
})
|
||
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) {
|
||
return new Promise(resolve => {
|
||
setTimeout(() => {
|
||
resolve([
|
||
{ tryOnId: 1, tryOnUrl: 'http://118.31.39.42:3000/falls/1.png', styleUrl: 'http://118.31.39.42:3000/falls/1.png' },
|
||
{ tryOnId: 2, tryOnUrl: 'http://118.31.39.42:3000/falls/2.png', styleUrl: 'http://118.31.39.42:3000/falls/2.png' },
|
||
{ tryOnId: 3, tryOnUrl: 'http://118.31.39.42:3000/falls/3.png', styleUrl: 'http://118.31.39.42:3000/falls/3.png' },
|
||
{ tryOnId: 4, tryOnUrl: 'http://118.31.39.42:3000/falls/4.png', styleUrl: 'http://118.31.39.42:3000/falls/4.png' }
|
||
])
|
||
}, 1000)
|
||
})
|
||
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) {
|
||
return new Promise(resolve => {
|
||
setTimeout(() => {
|
||
resolve([
|
||
{ tryOnId: 1, tryOnUrl: 'http://118.31.39.42:3000/falls/1.png', styleUrl: 'http://118.31.39.42:3000/falls/1.png' },
|
||
{ tryOnId: 2, tryOnUrl: 'http://118.31.39.42:3000/falls/2.png', styleUrl: 'http://118.31.39.42:3000/falls/2.png' },
|
||
{ tryOnId: 3, tryOnUrl: 'http://118.31.39.42:3000/falls/3.png', styleUrl: 'http://118.31.39.42:3000/falls/3.png' },
|
||
{ tryOnId: 4, tryOnUrl: 'http://118.31.39.42:3000/falls/4.png', styleUrl: 'http://118.31.39.42:3000/falls/4.png' }
|
||
])
|
||
}, 1000)
|
||
})
|
||
if (!styleId) return Promise.reject('服装id不能为空');
|
||
return request({
|
||
url: `/api/try-on-effects/style/${styleId}`,
|
||
method: 'get',
|
||
})
|
||
}
|