完成大概流程

This commit is contained in:
梁泽军
2025-01-17 18:13:17 +08:00
parent c55d13ebeb
commit bbcd5ad611
34 changed files with 274 additions and 116 deletions

View File

@@ -10,15 +10,23 @@ import { reactive } from "vue";
// 页面配置初始化
const emit = defineEmits(["ResultPage"]);
const userStore = useMainStore();
const posterId = ref(userStore.posterId); //海报背景id14
const posterId = ref(userStore.posterId); //海报背景id111
console.log('海报id', posterId.value);
const posterImgList = reactive([
new URL(`../assets/images/result/poster-1.jpg`, import.meta.url).href,
new URL(`../assets/images/result/poster-2.jpg`, import.meta.url).href,
new URL(`../assets/images/result/poster-3.jpg`, import.meta.url).href,
new URL(`../assets/images/poster/poster-1.jpg`, import.meta.url).href,
new URL(`../assets/images/poster/poster-2.jpg`, import.meta.url).href,
new URL(`../assets/images/poster/poster-3.jpg`, import.meta.url).href,
new URL(`../assets/images/poster/poster-4.jpg`, import.meta.url).href,
new URL(`../assets/images/poster/poster-5.jpg`, import.meta.url).href,
new URL(`../assets/images/poster/poster-6.jpg`, import.meta.url).href,
new URL(`../assets/images/poster/poster-7.jpg`, import.meta.url).href,
new URL(`../assets/images/poster/poster-8.jpg`, import.meta.url).href,
new URL(`../assets/images/poster/poster-9.jpg`, import.meta.url).href,
new URL(`../assets/images/poster/poster-10.jpg`, import.meta.url).href,
new URL(`../assets/images/poster/poster-11.jpg`, import.meta.url).href,
])
// 生成二维码逻辑
@@ -28,8 +36,6 @@ onMounted(async () => {
// 执行任务队列
await executeTasks();
});
@@ -48,16 +54,17 @@ const executeTasks = async () => {
if (posterImgList[posterId.value - 1] && eqcodePic.value) {
await posterCreate(
posterCreate(
{ width: 750, height: 1334 },
[
{ name: "bg", src: posterImgList[posterId.value - 1], pos: { w: 750, h: 1334, x: 0, y: 0 } },
{ name: "eqcode", src: eqcodePic.value, pos: { w: 164, h: 164, x: 159, y: 1122 } },
]
);
}else{
Toast.fail({message:'生成失败'})
emit("ResultPage",{action: 'hide'})
} else {
Toast.fail({ message: '生成失败' })
emit("ResultPage", { action: 'hide' })
}
};
@@ -75,13 +82,14 @@ const showPoster = () => {
});
gsap.from(".poster-box", {
duration: 0.7,
scale: 1.4,
scale: 0.6,
autoAlpha: 0,
});
gsap.from(".save-tips", {
duration: 0.7,
scale: 0.7,
autoAlpha: 0,
delay: 0.3
});
gsap.from(".go-draw", {
duration: 0.7,
@@ -99,35 +107,6 @@ const showPoster = () => {
}
// 生成海报逻辑
const createPoster = (event) => {
let e = event.target;
debounceTap(e, () => {
// 海报生成
posterCreate(
{ width: 750, height: 1334 }, //海报尺寸
// 海报素材,按顺序依次渲染
[
// 背景
{
name: "bg",
src: posterImgList[posterId.value - 1],
pos: { w: 750, h: 1334, x: 0, y: 0 },
},
// 二维码
{
name: "eqcode",
src: eqcodePic.value,
pos: { w: 164, h: 164, x: 159, y: 1122 },
},
],
);
// gsap.to('.posterPop',{duration:0.5,autoAlpha:1})
});
};
// 去抽奖
const goDraw = (event) => {
let e = event.target;
@@ -201,6 +180,7 @@ const posterCreate = (option, imageArr) => {
//Promise的.all方法当所有预加载的图像加载好的回调函数
Promise.all(loader_p)
.then(imgList => {
console.log('imgList', imgList);
// 图片素材遍历绘制
imgList.map((item, index) => {
@@ -344,15 +324,47 @@ const posterCreate = (option, imageArr) => {
}
.product-1 {
@include bg_pos("result/product-1.png");
@include bg_pos("poster/card-1.png");
}
.product-2 {
@include bg_pos("result/product-2.png");
@include bg_pos("poster/card-2.png");
}
.product-3 {
@include bg_pos("result/product-3.png");
@include bg_pos("poster/card-3.png");
}
.product-4 {
@include bg_pos("poster/card-4.png");
}
.product-5 {
@include bg_pos("poster/card-5.png");
}
.product-6 {
@include bg_pos("poster/card-6.png");
}
.product-7 {
@include bg_pos("poster/card-7.png");
}
.product-8 {
@include bg_pos("poster/card-8.png");
}
.product-9 {
@include bg_pos("poster/card-9.png");
}
.product-10 {
@include bg_pos("poster/card-10.png");
}
.product-11 {
@include bg_pos("poster/card-11.png");
}
.result-tips {
@@ -410,15 +422,47 @@ const posterCreate = (option, imageArr) => {
}
.poster-1 {
@include bg_pos("result/preveiw-1.png");
@include bg_pos("poster/card-1.png");
}
.poster-2 {
@include bg_pos("result/preveiw-2.png");
@include bg_pos("poster/card-2.png");
}
.poster-3 {
@include bg_pos("result/preveiw-3.png");
@include bg_pos("poster/card-3.png");
}
.poster-4 {
@include bg_pos("poster/card-4.png");
}
.poster-5 {
@include bg_pos("poster/card-5.png");
}
.poster-6 {
@include bg_pos("poster/card-6.png");
}
.poster-7 {
@include bg_pos("poster/card-7.png");
}
.poster-8 {
@include bg_pos("poster/card-8.png");
}
.poster-9 {
@include bg_pos("poster/card-9.png");
}
.poster-10 {
@include bg_pos("poster/card-10.png");
}
.poster-11 {
@include bg_pos("poster/card-11.png");
}
}