From c158f9282989b6ff37213e769eb0434bbb39fbb2 Mon Sep 17 00:00:00 2001 From: yixu Date: Mon, 15 Sep 2025 16:51:19 +0800 Subject: [PATCH] update --- src/components/GenerateImg.vue | 12 +++++++---- src/components/MyPhoto.vue | 2 +- src/components/SynthesizedResults.vue | 4 ++-- src/components/TodoList.vue | 31 +++++++++++++++++++++++---- 4 files changed, 38 insertions(+), 11 deletions(-) diff --git a/src/components/GenerateImg.vue b/src/components/GenerateImg.vue index 1183682..7521aac 100644 --- a/src/components/GenerateImg.vue +++ b/src/components/GenerateImg.vue @@ -191,7 +191,7 @@ const generateImage = async (options) => { }, 1000) const mergeFetch = async (index)=> { - const statusRes = await Request(`face/merge/${mergeData.merge_id}/status`, {}, 'GET', false) + const statusRes = await Request(`face/merge/${mergeData.merge_id}/status`, {}, 'GET', true) if (statusRes.res.status === 200) { if (statusRes.json.status === 'success') { @@ -334,6 +334,7 @@ const imagePosition = (index) => { // 自定义上传方法 const customUpload = async (options) => { + const loading = weui.loading() const { file, data, onProgress, onSuccess, onError } = options try { @@ -350,13 +351,16 @@ const customUpload = async (options) => { }) .then(response => response.json()) .then(data => { - console.log('Success:', data); - onSuccess(data); + loading.hide(); + console.log('Success:', data); + onSuccess(data); }) .catch((error) => { - console.error('Error:', error); + loading.hide(); + console.error('Error:', error); }); } catch (error) { + loading.hide(); onError(error) throw error } diff --git a/src/components/MyPhoto.vue b/src/components/MyPhoto.vue index 66f6520..76a7a98 100644 --- a/src/components/MyPhoto.vue +++ b/src/components/MyPhoto.vue @@ -193,8 +193,8 @@ const handleHaibao = async () => { const haibaoSave = new Haibao(1080, 2160) const qrcode = await generateQR(`fromid=${infos.invite_code}&merge_id=${infos.merge_id}`, 200, 200) - haibaoSave.add(url, 62, 350) haibaoSave.add(bg, 0, 0) + haibaoSave.add(url, 64, 250) haibaoSave.add(qrcode, 115, 1875) haibaoSave.draw().then(() => { haibaoSave.text(infos.nickname, haibaoSave.canvas.width / 2, 200, { font: 'bold 50px Arial', color: '#ffee6f' }) diff --git a/src/components/SynthesizedResults.vue b/src/components/SynthesizedResults.vue index 931d68a..e9739bd 100644 --- a/src/components/SynthesizedResults.vue +++ b/src/components/SynthesizedResults.vue @@ -70,7 +70,7 @@ const handleHaibao = async () => { }); } const userPicture = await loadImage(globalStore.result_url) - haibaoCover.add(userPicture, 0, 0) + haibaoCover.add(userPicture, 0, 50, 951, 1698) haibaoCover.add(mask, 10, 100) haibaoCover.add(haibaoCoverBorder, 0, 0) haibaoCover.draw('destination-in').then(() => { @@ -79,8 +79,8 @@ const handleHaibao = async () => { const haibaoSave = new Haibao(1080, 2160) const qrcode = await generateQR(`fromid=${infos.invite_code}&merge_id=${infos.merge_id}`, 200, 200) - haibaoSave.add(url, 62, 350) haibaoSave.add(bg, 0, 0) + haibaoSave.add(url, 64, 250) haibaoSave.add(qrcode, 115, 1875) haibaoSave.draw().then(() => { haibaoSave.text(infos.nickname, haibaoSave.canvas.width / 2, 200, { font: 'bold 50px Arial', color: '#ffee6f' }) diff --git a/src/components/TodoList.vue b/src/components/TodoList.vue index 8ddea4b..dc4b008 100644 --- a/src/components/TodoList.vue +++ b/src/components/TodoList.vue @@ -114,17 +114,40 @@ const openQiwei = (e) => { qiweiShow.value = true } + const openHaibao = (e) => { const target = e.currentTarget - if (target.classList.contains("has")) { return } + const url = new URL('https://huodong2.lzlj.com/api/faceFamily/face/square'); + url.searchParams.append('my_only', '1'); + url.searchParams.append('page', '1'); + url.searchParams.append('per_page', '100'); if (!globalStore.result_url) { - return weui.alert("请先参与活动合成图片并打榜!") + fetch(url.toString(), { + method: 'GET', + headers: { + 'Authorization': `Bearer ${Storage.get("userinfos").api_token}` + } + }) + .then(response => response.json()) + .then(data => { + const foundItem = data.data.find(item => item.is_public === true); + if (foundItem) { + globalStore.result_url = foundItem.result_url; + haibaoShow.value = true + handleHaibao() + } else { + return weui.alert("请先参与活动合成图片并打榜!") + } + return { success: true, data }; + }) + .catch((error) => { + console.error('Error:', error); + return { success: false, error }; + }); } - haibaoShow.value = true - handleHaibao() } const openPeifang = (e) => { const target = e.currentTarget