diff --git a/src/components/BowTargetEdit.vue b/src/components/BowTargetEdit.vue index 5e1342b..e735772 100644 --- a/src/components/BowTargetEdit.vue +++ b/src/components/BowTargetEdit.vue @@ -19,6 +19,10 @@ const props = defineProps({ type: Function, default: null, }, + editMode: { + type: Boolean, + default: true, + }, }); const rect = ref({}); @@ -150,6 +154,7 @@ onMounted(async () => { diff --git a/src/pages/point-book.vue b/src/pages/point-book.vue index ff90745..aa5200e 100644 --- a/src/pages/point-book.vue +++ b/src/pages/point-book.vue @@ -31,6 +31,7 @@ const isIOS = computed(() => { return systemInfo.osName === "ios"; }); +const loadImage = ref(false); const showModal = ref(false); const showTip = ref(false); const data = ref({ @@ -75,6 +76,7 @@ const loadData = async () => { else if (result2.checkInCount >= 5) hot = 3; else if (result2.checkInCount === 7) hot = 4; uni.$emit("update-hot", hot); + loadImage.value = true; const generateHeatmapAsync = async () => { const weekArrows = result2.weekArrows .filter((item) => item.x && item.y) @@ -108,9 +110,11 @@ const loadData = async () => { } ); heatMapImageSrc.value = finalPath; + loadImage.value = false; console.log("热力图图片地址:", finalPath); } catch (error) { console.error("生成热力图图片失败:", error); + loadImage.value = false; } }; @@ -282,6 +286,9 @@ onShareTimeline(() => { :src="heatMapImageSrc" mode="aspectFill" /> + + 生成中... + { top: 0; left: 0; } +.load-image { + position: absolute; + width: 160rpx; + top: calc(50% - 65rpx); + left: calc(50% - 75rpx); + color: #525252; + font-size: 20rpx; + display: flex; + flex-direction: column; + align-items: center; +} .reward { width: 100%; display: flex; diff --git a/src/pages/ranking.vue b/src/pages/ranking.vue index fc74f90..9bc3bd4 100644 --- a/src/pages/ranking.vue +++ b/src/pages/ranking.vue @@ -121,6 +121,9 @@ onShow(async () => { rankData.value = result; handleSelect(selectedIndex.value); seasonData.value = result.seasonList; + if (seasonData.value[0]) { + seasonName.value = seasonData.value[0].seasonName; + } updateData(); showSeasonList.value = false; }); @@ -596,11 +599,13 @@ onShow(async () => { top: -44rpx; right: -30rpx; letter-spacing: 2px; + z-index: 10; } .season-list > view { display: flex; align-items: center; padding: 10px 20px; + word-break: keep-all; } .season-list > view > image { width: 12px;