diff --git a/README.md b/README.md index 021aae3..c2e9166 100644 --- a/README.md +++ b/README.md @@ -52,3 +52,6 @@ https://docs.qq.com/sheet/DS0pybm5Yc1ViakNj 换发型: https://leops128e7.feishu.cn/docx/HVCHdCAV8ok4bkxcaXVc6q6enXb + + +http://localhost:3000/pages/fittingRoom/index?modelId=1976890366293254145&id=1977565196601040912 diff --git a/pages/fittingRoom/components/s-select-mote.vue b/pages/fittingRoom/components/s-select-mote.vue index 4201965..4baf89d 100644 --- a/pages/fittingRoom/components/s-select-mote.vue +++ b/pages/fittingRoom/components/s-select-mote.vue @@ -24,7 +24,11 @@ >选择 - + diff --git a/pages/fittingRoom/index.vue b/pages/fittingRoom/index.vue index 97b6a8e..9b965b4 100644 --- a/pages/fittingRoom/index.vue +++ b/pages/fittingRoom/index.vue @@ -11,13 +11,13 @@ > @@ -76,16 +76,7 @@ fittingRoomStore.swiperCurrentIndex = event.detail.current; } - onMounted(() => { - fittingRoomStore.getCategory(); - fittingRoomStore.getCloths(); - fittingRoomStore.getModelList(); - timer = setInterval(() => { - // TODO: 检测到还有没生成图的, 获取最新数据 - // fittingRoomStore.generatingLoading && - // fittingRoomStore.getTestResults(fittingRoomStore.currentModel?.id); - }, 6000); - }); + onMounted(() => {}); onUnload(() => { // 移除全局监听 clearInterval(timer); @@ -112,8 +103,24 @@ // const template = computed(() => sheep.$store('app').template?.home); onLoad((options) => { - uni.setStorageSync('token', options?.token ?? '92d2805a85ca422e90dd7d50eef49a85'); + uni.setStorageSync('token', options?.token ?? '86e0032580ac4ca8b1f4f5e9395d1cf8'); console.log('🚀 ~ URL上的token ~ options?.token: ', options?.token); + fittingRoomStore.getCategory(); + fittingRoomStore.getCloths(); + timer = setInterval(() => { + // TODO: 检测到还有没生成图的, 获取最新数据 + // fittingRoomStore.generatingLoading && + // fittingRoomStore.getTestResults(fittingRoomStore.currentModel?.id); + }, 6000); + if (options?.modelId && options?.id) { + fittingRoomStore.getModelList(options?.modelId); + fittingRoomStore.getTestResults(options?.modelId).then((res) => { + console.log('🚀 ~ index.vue ~ L118'); + fittingRoomStore.swiperCurrentIndex = res.findIndex((res) => res.id === options?.id); + }); + } else { + fittingRoomStore.getModelList(); + } }); // 下拉刷新 @@ -121,7 +128,7 @@ // sheep.$store('app').init(); if (fittingRoomStore.currentModel?.id) { fittingRoomStore.getTestResults(fittingRoomStore.currentModel?.id).then(() => { - console.log('➤➤➤ ~ index.vue ~ L124'); + console.log('➤➤➤ ~ index.vue ~ L127'); uni.stopPullDownRefresh(); }); } else { diff --git a/sheep/api/fittingRoom/index.js b/sheep/api/fittingRoom/index.js index 3c8b0da..b22ec77 100644 --- a/sheep/api/fittingRoom/index.js +++ b/sheep/api/fittingRoom/index.js @@ -2,7 +2,7 @@ * @Author: liguigong liguigong@shopline.com * @Date: 2025-09-23 09:41:10 * @LastEditors: liguigong liguigong@shopline.com - * @LastEditTime: 2025-09-28 16:27:38 + * @LastEditTime: 2025-10-13 14:30:53 * @FilePath: sheep/api/fittingRoom/index.js * @Description: 这是默认设置,可以在设置》工具》File Description中进行配置 */ @@ -148,6 +148,15 @@ const FittingRoomApi = { }); }, + //发型试穿 + hairstyleTryOnApi: (data) => { + return request({ + url: '/digital/on-record/exchange-hair', + method: 'POST', + data: data, + }); + }, + addHairApi: (data) => { return request({ url: '/userinfo/add_hair_data', diff --git a/sheep/store/fittingRoom.js b/sheep/store/fittingRoom.js index 378aaae..f38612f 100644 --- a/sheep/store/fittingRoom.js +++ b/sheep/store/fittingRoom.js @@ -79,6 +79,7 @@ const fittingRoom = defineStore({ // "createTime": 1758857790000 }); this.testResults = result; + return result; console.log('🚀 ~ getTestResults 🐶76 ~ httpResponse: ', httpResponse.data?.list); }, @@ -95,12 +96,17 @@ const fittingRoom = defineStore({ : httpResponse.result || []; }, // 获取模特数据查询 - async getModelList(templateId = null) { + async getModelList(modelId = undefined) { const httpResponse = await FittingRoomApi.getModelList({ sex: this.sex, }); - let modelList = (httpResponse.result || []).slice(0, 4); + let modelList = httpResponse.result || []; this.modelList = modelList; + if (modelId) { + this.currentModel = modelList.find((item) => item.id === modelId); + // this.getTestResults(modelId); + return; + } this.currentModel = modelList?.[0] ?? {}; this.getTestResults(modelList?.[0]?.id); }, @@ -115,13 +121,24 @@ const fittingRoom = defineStore({ return; } // 那改成 clothUrl 和 kuziUrl 吧,当 kuziUrl 有值时,再传个 suit: true - const httpResponse = await FittingRoomApi.tryOnApi({ - modelId: this.currentModel.id, - modelImageUrl: this.currentModel.fileUrl, - clothUrl: this.currentClothes[0]?.fileUrl, - kuziUrl: this.currentClothes?.[1]?.fileUrl ? this.currentClothes[1]?.fileUrl : undefined, - suit: this.currentClothes?.[1]?.fileUrl ? true : undefined, - }); + const httpResponse = + this.tab === 6 + ? await FittingRoomApi.hairstyleTryOnApi({ + modelId: this.currentModel.id, + files: this.currentModel.fileUrl, + isHr: true, + hairIds: this.currentClothes[0]?.clothId, + sex: 'female', + }) + : await FittingRoomApi.tryOnApi({ + modelId: this.currentModel.id, + modelImageUrl: this.currentModel.fileUrl, + clothUrl: this.currentClothes[0]?.fileUrl, + kuziUrl: this.currentClothes?.[1]?.fileUrl + ? this.currentClothes[1]?.fileUrl + : undefined, + suit: this.currentClothes?.[1]?.fileUrl ? true : undefined, + }); if (httpResponse.code !== 0) { sheep.$helper.toast(httpResponse.msg); return;