// 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', }) }