|
@@ -20,6 +20,12 @@ let gender = store.assignGender; // 性別
|
|
|
let imgLoading = ref(false);
|
|
|
let parameter = ref([]);
|
|
|
|
|
|
+onMounted(() => {
|
|
|
+ getLandmark();
|
|
|
+ getTargetImageList();
|
|
|
+ // getParameters();
|
|
|
+});
|
|
|
+
|
|
|
// 取得背景清單
|
|
|
async function getTargetImageList() {
|
|
|
imgLoading.value = true;
|
|
@@ -28,7 +34,7 @@ async function getTargetImageList() {
|
|
|
|
|
|
try {
|
|
|
let response = await axios.get(url);
|
|
|
- console.log("response", response);
|
|
|
+ console.log("取得背景清單", response);
|
|
|
|
|
|
let imagePromises = response.data.map((item, index) => {
|
|
|
let imageUrl = `http://172.104.93.163:3219/fs/target-image/${gender}/${race}/${item}`;
|
|
@@ -38,12 +44,43 @@ async function getTargetImageList() {
|
|
|
await Promise.all(imagePromises);
|
|
|
console.log("全部完成");
|
|
|
|
|
|
+ // 依照檔名進行排序 (0-9)
|
|
|
+ parameter.value.sort((a, b) => {
|
|
|
+ const aNum = parseInt(a.name);
|
|
|
+ const bNum = parseInt(b.name);
|
|
|
+ return aNum - bNum;
|
|
|
+ });
|
|
|
+
|
|
|
+ // 組合陣列
|
|
|
+ parameter.value = parameter.value.map((item, index) => ({
|
|
|
+ imgUrl: item.imgUrl,
|
|
|
+ name: `${index}.jpg`,
|
|
|
+ title: landmarkNames.value[index],
|
|
|
+ }));
|
|
|
+ console.log("items >>>", parameter.value);
|
|
|
+
|
|
|
imgLoading.value = false;
|
|
|
} catch (error) {
|
|
|
console.log("error", error);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+const landmarkNames = ref([]);
|
|
|
+
|
|
|
+// 取得景點名稱
|
|
|
+async function getLandmark() {
|
|
|
+ let url = "http://172.104.93.163:3219/fslandmark-order";
|
|
|
+
|
|
|
+ try {
|
|
|
+ let response = await axios.get(url);
|
|
|
+ landmarkNames.value = response.data;
|
|
|
+
|
|
|
+ console.log("getLandmark", landmarkNames.value);
|
|
|
+ } catch (error) {
|
|
|
+ console.log("error", error);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
// 取得背景圖片
|
|
|
async function getTargetImage(url, index) {
|
|
|
try {
|
|
@@ -64,24 +101,11 @@ function handleBgImg(item) {
|
|
|
console.log("item", item);
|
|
|
store.assignBgImg = item.name;
|
|
|
store.assignBgImgUrl = item.imgUrl;
|
|
|
+ store.assignBgImgTitle = item.title;
|
|
|
console.log("store.assignBgImg", store.assignBgImg);
|
|
|
console.log("store.assignBgImgUrl", store.assignBgImgUrl);
|
|
|
-
|
|
|
- // assignBgImg.value = item;
|
|
|
- // store.assignBgImg = item;
|
|
|
- // parameterList.value.filter((e, index) => {
|
|
|
- // if (e.bg_img === item.bg_img) {
|
|
|
- // store.styleNum = index;
|
|
|
- // }
|
|
|
- // });
|
|
|
- // console.log("store.styleNum", store.styleNum);
|
|
|
}
|
|
|
|
|
|
-onMounted(() => {
|
|
|
- getTargetImageList();
|
|
|
- getParameters();
|
|
|
-});
|
|
|
-
|
|
|
const currentPhotos = computed(() => {
|
|
|
const start = currentIndex.value;
|
|
|
const end = start + perPage.value;
|
|
@@ -321,8 +345,6 @@ function checkImg() {
|
|
|
</template>
|
|
|
</v-img> -->
|
|
|
|
|
|
- <!-- <p>{{ t(item.title) }}</p> -->
|
|
|
-
|
|
|
<v-img cover class="cover" :lazy-src="item.imgUrl" :src="item.imgUrl">
|
|
|
<template v-slot:placeholder>
|
|
|
<div class="d-flex align-center justify-center fill-height">
|
|
@@ -334,6 +356,8 @@ function checkImg() {
|
|
|
</template>
|
|
|
</v-img>
|
|
|
|
|
|
+ <p>{{ item.title }}</p>
|
|
|
+
|
|
|
<img
|
|
|
v-if="item.name === store.assignBgImg"
|
|
|
class="icon active"
|