diff --git a/src/api/workshop.ts b/src/api/workshop.ts index d59f1b4..7342a0e 100644 --- a/src/api/workshop.ts +++ b/src/api/workshop.ts @@ -1,39 +1,171 @@ -import request from '@/utils/request' +// import request from '@/utils/request' +// 测试 模拟请求 +const request = (config: any) => { + return new Promise(res => { + setTimeout(() => { + res({}) + }, 1000) + }) +} //创建用户 export function userCreate(params: Object) { - return request({ - url: '/api/user/create', - method: 'get', - params - }) + 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) + 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) + 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', - }) -} \ No newline at end of file + 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', + }) +} diff --git a/src/components/FooterNavigation.vue b/src/components/FooterNavigation.vue index 63dca8b..556ba0e 100644 --- a/src/components/FooterNavigation.vue +++ b/src/components/FooterNavigation.vue @@ -1,7 +1,6 @@ @@ -44,9 +71,9 @@
Library
-
+
- +
@@ -54,7 +81,7 @@ Last opened {{ v.lastopened }}
-
+
diff --git a/src/views/Workshop/profile.vue b/src/views/Workshop/profile.vue index 07b75ee..0b5b3c4 100644 --- a/src/views/Workshop/profile.vue +++ b/src/views/Workshop/profile.vue @@ -18,7 +18,9 @@ if (!form[item]) return form[item].edit = false } - const logout = () => {} + const logout = () => { + router.push({ path: '/' }) + }