update
This commit is contained in:
@@ -9,7 +9,7 @@
|
|||||||
<meta content="telephone=no,email=no" name=format-detection>
|
<meta content="telephone=no,email=no" name=format-detection>
|
||||||
<meta name="viewport"
|
<meta name="viewport"
|
||||||
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, minimal-ui" />
|
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, minimal-ui" />
|
||||||
<title>AI合成全家福,迎中秋金饼</title>
|
<title>Ai在一起 金饼送给你</title>
|
||||||
<script>
|
<script>
|
||||||
const isWeixinPlatform = /MicroMessenger/i.test(window.navigator.userAgent) || window.__wxjs_environment === 'miniprogram'
|
const isWeixinPlatform = /MicroMessenger/i.test(window.navigator.userAgent) || window.__wxjs_environment === 'miniprogram'
|
||||||
if (isWeixinPlatform) {
|
if (isWeixinPlatform) {
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 155 KiB After Width: | Height: | Size: 151 KiB |
BIN
src/assets/images/haibao-cover-sucess.webp
Normal file
BIN
src/assets/images/haibao-cover-sucess.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 116 KiB |
BIN
src/assets/images/logo.webp
Normal file
BIN
src/assets/images/logo.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.8 KiB |
BIN
src/assets/images/slogan.webp
Normal file
BIN
src/assets/images/slogan.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 119 KiB |
@@ -38,7 +38,6 @@
|
|||||||
|
|
||||||
.vue-recycle-scroller__item-wrapper {
|
.vue-recycle-scroller__item-wrapper {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 59vw;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-flow: wrap;
|
flex-flow: wrap;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -233,6 +233,9 @@ const generateImage = async (options) => {
|
|||||||
mergeFetch(index)
|
mergeFetch(index)
|
||||||
}
|
}
|
||||||
}, 1000)
|
}, 1000)
|
||||||
|
router.push({
|
||||||
|
name: 'synthesizedResults'
|
||||||
|
})
|
||||||
|
|
||||||
const mergeFetch = async (index)=> {
|
const mergeFetch = async (index)=> {
|
||||||
const statusRes = await Request(`face/merge/${mergeData.merge_id}/status`, {}, 'GET', true)
|
const statusRes = await Request(`face/merge/${mergeData.merge_id}/status`, {}, 'GET', true)
|
||||||
|
|||||||
@@ -356,7 +356,12 @@ watch(() => mergeId, async (newVal) => {
|
|||||||
<!-- 为不支持视频的设备提供 fallback -->
|
<!-- 为不支持视频的设备提供 fallback -->
|
||||||
<p style="display: none;">您的浏览器不支持视频播放</p>
|
<p style="display: none;">您的浏览器不支持视频播放</p>
|
||||||
</video>
|
</video>
|
||||||
|
<div class="scene-item logo">
|
||||||
|
<img src="../assets/images/logo.webp" alt="logo">
|
||||||
|
</div>
|
||||||
|
<div class="scene-item slogan">
|
||||||
|
<img src="../assets/images/slogan.webp" alt="slogan">
|
||||||
|
</div>
|
||||||
<!-- fallback 背景图,当视频无法加载时显示 -->
|
<!-- fallback 背景图,当视频无法加载时显示 -->
|
||||||
<div v-if="videoError || !videoLoaded" class="fallback-background"></div>
|
<div v-if="videoError || !videoLoaded" class="fallback-background"></div>
|
||||||
|
|
||||||
@@ -405,6 +410,15 @@ watch(() => mergeId, async (newVal) => {
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
.logo {
|
||||||
|
top: 4vw;
|
||||||
|
width: 24vw;
|
||||||
|
left: 4vw;
|
||||||
|
}
|
||||||
|
.slogan {
|
||||||
|
top: 20vw;
|
||||||
|
width: 76vw;
|
||||||
|
}
|
||||||
.main {
|
.main {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
@@ -451,9 +465,7 @@ watch(() => mergeId, async (newVal) => {
|
|||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: all 0.4s ease;
|
transition: all 0.4s ease;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
border: 3px solid transparent;
|
|
||||||
animation: float 4s ease-in-out infinite;
|
animation: float 4s ease-in-out infinite;
|
||||||
z-index: 10; /* 确保按钮显示在视频之上 */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.scene-item:hover {
|
.scene-item:hover {
|
||||||
@@ -469,7 +481,7 @@ watch(() => mergeId, async (newVal) => {
|
|||||||
|
|
||||||
.item-1 {
|
.item-1 {
|
||||||
width: 21vw;
|
width: 21vw;
|
||||||
bottom: 1vw;
|
bottom: 5vw;
|
||||||
left: 0;
|
left: 0;
|
||||||
animation-delay: 0s;
|
animation-delay: 0s;
|
||||||
}
|
}
|
||||||
@@ -492,7 +504,7 @@ watch(() => mergeId, async (newVal) => {
|
|||||||
|
|
||||||
.item-2 {
|
.item-2 {
|
||||||
width: 48vw;
|
width: 48vw;
|
||||||
bottom: 1vw;
|
bottom: 5vw;
|
||||||
animation-delay: 0s;
|
animation-delay: 0s;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -518,7 +530,7 @@ watch(() => mergeId, async (newVal) => {
|
|||||||
|
|
||||||
.item-3 {
|
.item-3 {
|
||||||
width: 21vw;
|
width: 21vw;
|
||||||
bottom: 1vw;
|
bottom: 5vw;
|
||||||
right: 0;
|
right: 0;
|
||||||
animation-delay: 0s;
|
animation-delay: 0s;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -241,7 +241,7 @@ markers.value = [
|
|||||||
}"
|
}"
|
||||||
@click.stop="$emit('go-photo-square')">
|
@click.stop="$emit('go-photo-square')">
|
||||||
</div>
|
</div>
|
||||||
<!-- <p class="my-photo-desc">每周只能选一张全照片打榜,每周一打榜成绩清零, 可重新选择照片参与打榜。</p> -->
|
<p class="my-photo-desc">每位会员只能选一张照片参与打榜,点赞前30名即可活动中秋精美礼品,速速邀请好友为你点赞吧!</p>
|
||||||
<div class="image-gallery">
|
<div class="image-gallery">
|
||||||
<!-- <RecycleScroller
|
<!-- <RecycleScroller
|
||||||
class="scroller"
|
class="scroller"
|
||||||
@@ -358,7 +358,8 @@ markers.value = [
|
|||||||
width: 87vw;
|
width: 87vw;
|
||||||
top: 48vw;
|
top: 48vw;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
color: #855211
|
color: #855211;
|
||||||
|
font-size: 3.6vw;
|
||||||
}
|
}
|
||||||
.refresh-btn {
|
.refresh-btn {
|
||||||
width: 12vw;
|
width: 12vw;
|
||||||
@@ -391,7 +392,7 @@ markers.value = [
|
|||||||
display: flex;
|
display: flex;
|
||||||
flex-flow: row;
|
flex-flow: row;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
top: 10vw;
|
top: 26vw;
|
||||||
}
|
}
|
||||||
|
|
||||||
.image-container {
|
.image-container {
|
||||||
@@ -408,7 +409,6 @@ markers.value = [
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
position: relative;
|
position: relative;
|
||||||
min-height: -webkit-fill-available;
|
min-height: -webkit-fill-available;
|
||||||
position: relative;
|
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -431,7 +431,7 @@ markers.value = [
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
height: 92vh;
|
height: 92vh;
|
||||||
background-image: url('../assets/images/my-photov2.webp');
|
background-image: url('../assets/images/my-photov2.webp');
|
||||||
background-size: cover;
|
background-size: 100%;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|||||||
@@ -143,6 +143,12 @@ markers.value = [
|
|||||||
{ x: 50, y: 32, width: 50, height: 14 }
|
{ x: 50, y: 32, width: 50, height: 14 }
|
||||||
];
|
];
|
||||||
|
|
||||||
|
const getBackgroundImage = (item) => {
|
||||||
|
if (item.result_url) {
|
||||||
|
return item.result_url;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
@@ -163,7 +169,7 @@ markers.value = [
|
|||||||
}"
|
}"
|
||||||
@click.stop="$emit('go-my-photo')">
|
@click.stop="$emit('go-my-photo')">
|
||||||
</div>
|
</div>
|
||||||
|
<p class="my-photo-desc">打榜活动截止至9月30日晚12:00结束,中奖信息将于10月1日早10点推送至获奖会员。</p>
|
||||||
<div v-if="!disableInviteHelp" class="image-gallery ">
|
<div v-if="!disableInviteHelp" class="image-gallery ">
|
||||||
<RecycleScroller
|
<RecycleScroller
|
||||||
class="scroller"
|
class="scroller"
|
||||||
@@ -173,7 +179,8 @@ markers.value = [
|
|||||||
v-slot="{ item, index }"
|
v-slot="{ item, index }"
|
||||||
>
|
>
|
||||||
<div class="image-wrapper">
|
<div class="image-wrapper">
|
||||||
<div class="image-container mask-background">
|
<div class="image-container mask-background"
|
||||||
|
:style="{ backgroundImage: `url(${getBackgroundImage(item)})` }">
|
||||||
</div>
|
</div>
|
||||||
<img
|
<img
|
||||||
src="../assets/images/zpgc-border.webp"
|
src="../assets/images/zpgc-border.webp"
|
||||||
@@ -248,6 +255,14 @@ markers.value = [
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
.my-photo-desc {
|
||||||
|
position: absolute;
|
||||||
|
width: 87vw;
|
||||||
|
top: 48vw;
|
||||||
|
text-align: center;
|
||||||
|
color: #855211;
|
||||||
|
font-size: 3.6vw;
|
||||||
|
}
|
||||||
.scroller {
|
.scroller {
|
||||||
height: 124vw;
|
height: 124vw;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
@@ -390,7 +405,7 @@ markers.value = [
|
|||||||
display: flex;
|
display: flex;
|
||||||
flex-flow: row;
|
flex-flow: row;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
top: 15vw;
|
top: 26vw;
|
||||||
}
|
}
|
||||||
|
|
||||||
.image-container {
|
.image-container {
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import globalToastEvent, { ToastType } from '../globalToastEvent';
|
|||||||
import { Storage, generateQR } from "../libs/utils";
|
import { Storage, generateQR } from "../libs/utils";
|
||||||
import Haibao from "@/libs/haibao";
|
import Haibao from "@/libs/haibao";
|
||||||
import mask from "../assets/images/haibao-mask.webp";
|
import mask from "../assets/images/haibao-mask.webp";
|
||||||
import haibaoCoverBorder from "../assets/images/haibao-cover.webp";
|
import haibaoCoverBorder from "../assets/images/haibao-cover-sucess.webp";
|
||||||
import bg from "../assets/images/haibao-bg.webp"
|
import bg from "../assets/images/haibao-bg.webp"
|
||||||
|
|
||||||
defineProps({
|
defineProps({
|
||||||
@@ -85,7 +85,8 @@ const handleHaibao = async () => {
|
|||||||
haibaoSave.draw().then(() => {
|
haibaoSave.draw().then(() => {
|
||||||
haibaoSave.text(infos.nickname + '的全家福', haibaoSave.canvas.width / 2, 200, { font: 'bold 50px Arial', color: '#fcf2b3' })
|
haibaoSave.text(infos.nickname + '的全家福', haibaoSave.canvas.width / 2, 200, { font: 'bold 50px Arial', color: '#fcf2b3' })
|
||||||
haibaoSave.generate({ mimeType: 'image/png' }).then(url => {
|
haibaoSave.generate({ mimeType: 'image/png' }).then(url => {
|
||||||
haibaoUrl.value = url
|
// haibaoUrl.value = url
|
||||||
|
haibaoUrl.value = globalStore.result_url;
|
||||||
loading.hide()
|
loading.hide()
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
console.log(err)
|
console.log(err)
|
||||||
|
|||||||
Reference in New Issue
Block a user