Files
lanecarford_front/src/api/workshop.ts
李志鹏 ea81b784d6 111
2025-10-23 15:13:58 +08:00

175 lines
4.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'
// 测试 模拟请求
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)
})
}
//创建用户
export function userCreate(params: Object) {
return request({
url: '/api/user/create',
method: 'get',
params
})
}
//记录用户选择的信息
export function userSave(params: Object) {
return request({
url: '/api/user/save',
method: 'get',
params,
meta: {
// responseAll: true // 返回所有的信息包括状态码和message和data
}
} as any)
}
//获取题目
export function getQueryPage(data: Object) {
return request({
url: '/api/outfits/queryPage',
method: 'post',
data,
// repeatRequest: true // 配置为true则可以同一时间多次调用
} as any)
}
//查报告
export function getCalculateReport() {
return request({
url: '/api/outfits/calculateReport',
method: 'get',
})
}
/**
* 生成试穿效果
* @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,
})
}
/**
* 设置喜欢
* @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',
})
}