From 7093d3e4e588ee299c7746cfd47052f18ea7530b Mon Sep 17 00:00:00 2001 From: zhangyibo95 <690096405@qq.com> Date: Tue, 22 Sep 2026 10:00:26 +0800 Subject: [PATCH] =?UTF-8?q?update=EF=BC=9A=E6=9B=BF=E6=8D=A2=E7=BD=91?= =?UTF-8?q?=E7=BB=9C=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/canvas.js | 23 +++++----- src/components/AppBackground.vue | 2 +- src/components/AppFooter.vue | 2 +- src/components/Avatar.vue | 8 ++-- src/components/BackToGame.vue | 2 +- src/components/BattleHeader.vue | 4 +- src/components/BowData.vue | 2 +- src/components/BowPower.vue | 2 +- src/components/BowTarget.vue | 6 +-- src/components/BowTargetEdit.vue | 6 +-- src/components/BubbleTip.vue | 8 ++-- src/components/EditOption.vue | 2 +- src/components/Guide.vue | 4 +- src/components/Header.vue | 10 ++--- src/components/HeaderProgress.vue | 2 +- src/components/ModalDialog.vue | 2 +- src/components/OtaModal.vue | 2 +- src/components/PlayerScore.vue | 4 +- src/components/PlayerScore2.vue | 8 ++-- src/components/PlayerSeats.vue | 8 ++-- src/components/PointRankItem.vue | 10 ++--- src/components/RewardUs.vue | 2 +- src/components/SButton.vue | 2 +- src/components/SModal.vue | 2 +- src/components/ScorePanel.vue | 4 +- src/components/ScoreResult.vue | 6 +-- src/components/ScreenHint.vue | 2 +- src/components/ScreenHint2.vue | 2 +- src/components/ShootProgress.vue | 2 +- src/components/Signin.vue | 8 ++-- src/components/TargetPicker.vue | 2 +- src/components/TeamAvatars.vue | 4 +- src/components/UserHeader.vue | 8 ++-- src/components/UserItem.vue | 2 +- src/components/UserUpgrade.vue | 4 +- src/pages/battle-result.vue | 14 +++--- src/pages/battle-room.vue | 16 +++---- src/pages/device/device-bind-failure.vue | 2 +- src/pages/device/device-bind-success.vue | 10 ++--- src/pages/device/device-intro.vue | 2 +- src/pages/device/my-device.vue | 32 ++++++------- src/pages/device/ota-wifi.vue | 28 ++++++------ src/pages/friend-battle-result.vue | 4 +- src/pages/friend-battle.vue | 10 ++--- src/pages/index.vue | 40 ++++++++--------- src/pages/match-detail.vue | 6 +-- src/pages/melee-bow-data.vue | 4 +- src/pages/member/be-vip.vue | 36 +++++++-------- src/pages/member/vip-intro.vue | 2 +- src/pages/my-growth.vue | 6 +-- src/pages/org-bind.vue | 4 +- src/pages/point-book-detail-share.vue | 6 +-- src/pages/point-book-detail.vue | 6 +-- src/pages/point-book-edit.vue | 2 +- src/pages/point-book-list.vue | 16 +++---- src/pages/point-book-rank.vue | 2 +- src/pages/point-book.vue | 26 +++++------ src/pages/rank-list.vue | 14 +++--- src/pages/ranking.vue | 42 +++++++++--------- src/pages/team-battle/components/Avatar.vue | 8 ++-- .../team-battle/components/BackToGame.vue | 2 +- .../team-battle/components/BattleHeader.vue | 4 +- src/pages/team-battle/components/BowPower.vue | 2 +- .../team-battle/components/BowTarget.vue | 6 +-- src/pages/team-battle/components/Guide.vue | 4 +- src/pages/team-battle/components/Header.vue | 10 ++--- .../team-battle/components/HeaderProgress.vue | 2 +- src/pages/team-battle/components/SButton.vue | 2 +- src/pages/team-battle/components/SModal.vue | 2 +- .../team-battle/components/ScreenHint.vue | 2 +- .../team-battle/components/TeamAvatars.vue | 4 +- src/pages/team-battle/team-bow-data.vue | 2 +- src/pages/team-bow-data.vue | 2 +- src/pages/training/components/BowData.vue | 2 +- src/pages/training/components/BowTarget.vue | 2 +- src/pages/training/components/BubbleTip.vue | 8 ++-- src/pages/training/components/ScorePanel.vue | 4 +- .../training/components/ShootProgress.vue | 4 +- .../training/components/TestDistance.vue | 2 +- src/pages/training/practise-one.vue | 2 +- src/static/device-assets/device-avatar.png | Bin 11731 -> 0 bytes src/static/device-assets/device-qrcode.png | Bin 15519 -> 0 bytes src/static/device-assets/my-device-avatar.png | Bin 11731 -> 0 bytes src/static/device-assets/my-device-qrcode.png | Bin 15519 -> 0 bytes src/static/device-assets/ota-device-icon.png | Bin 12573 -> 0 bytes src/static/device-assets/ota-scan.png | Bin 7240 -> 0 bytes .../home-device/device-card-bg--bound.png | Bin 208647 -> 32265 bytes .../device-platform-glow--online.png | Bin 208647 -> 32265 bytes src/static/home-device/device-platform.png | Bin 385338 -> 46075 bytes src/store.js | 2 +- 90 files changed, 286 insertions(+), 289 deletions(-) delete mode 100644 src/static/device-assets/device-avatar.png delete mode 100644 src/static/device-assets/device-qrcode.png delete mode 100644 src/static/device-assets/my-device-avatar.png delete mode 100644 src/static/device-assets/my-device-qrcode.png delete mode 100644 src/static/device-assets/ota-device-icon.png delete mode 100644 src/static/device-assets/ota-scan.png diff --git a/src/canvas.js b/src/canvas.js index 853fae6..30be04a 100644 --- a/src/canvas.js +++ b/src/canvas.js @@ -451,7 +451,7 @@ export const generateShareImage = async (canvasId, data) => { hasPoint ? 756 : 402 ); renderText(ctx, "扫码打卡", 13, "#FFA118", 142, hasPoint ? 777 : 422); - const pointImg = await loadCanvasImage(canvas, "../static/point.png"); + const pointImg = await loadCanvasImage(canvas, "https://static.shelingxingqiu.com/shootmini/static/point.png"); ctx.drawImage(pointImg, 120, hasPoint ? 765 : 410, 18, 14); // 2D 即时绘制,无需 ctx.draw() } catch (e) { @@ -635,7 +635,7 @@ export function renderScores(ctx, arrows = [], bgImg) { ); } else { ctx.drawImage( - "/static/score-bg.png", + "https://static.shelingxingqiu.com/shootmini/static/score-bg.png", 16 + (i % 9) * 30, 290 + Math.ceil((i + 1) / 9) * 30, 27, @@ -657,7 +657,7 @@ export function renderScores(ctx, arrows = [], bgImg) { ctx.drawImage(bgImg, 24 + rowIndex * 42, i > 5 ? 362 : 320, 38, 38); } else { ctx.drawImage( - "/static/score-bg.png", + "https://static.shelingxingqiu.com/shootmini/static/score-bg.png", 24 + rowIndex * 42, i > 5 ? 362 : 320, 38, @@ -708,10 +708,7 @@ export async function sharePractiseData(canvasId, type, user, data) { // 头像与段位框属于装饰图片,缺失时使用兜底或跳过,避免阻断分享。 const loadProfileImage = async (src, fallbackSrc = "", label = "") => { - const normalizedSrc = - typeof src === "string" && src.startsWith("../static/") - ? src.slice(2) - : src; + const normalizedSrc = typeof src === "string" ? src : ""; if (normalizedSrc) { try { const path = await loadImage(normalizedSrc); @@ -725,20 +722,20 @@ export async function sharePractiseData(canvasId, type, user, data) { const avatarImgPromise = loadProfileImage( user?.avatar, - "/static/user-icon.png", + "https://static.shelingxingqiu.com/shootmini/static/user-icon.png", "avatar" ); const lvlImgPromise = loadProfileImage(user?.lvlImage, "", "level"); - let titleImageSrc = "/static/first-try-title.png"; + let titleImageSrc = "https://static.shelingxingqiu.com/shootmini/static/first-try-title.png"; if (type == 2) { - titleImageSrc = "/static/practise-one-title.png"; + titleImageSrc = "https://static.shelingxingqiu.com/shootmini/static/practise-one-title.png"; } else if (type == 3) { - titleImageSrc = "/static/practise-two-title.png"; + titleImageSrc = "https://static.shelingxingqiu.com/shootmini/static/practise-two-title.png"; } const titleImgPromise = loadCanvasImage(canvas, titleImageSrc); - const scoreBgImgPromise = loadCanvasImage(canvas, "/static/score-bg.png"); - const qrCodeImgPromise = loadCanvasImage(canvas, "/static/qr-code.png"); + const scoreBgImgPromise = loadCanvasImage(canvas, "https://static.shelingxingqiu.com/shootmini/static/score-bg.png"); + const qrCodeImgPromise = loadCanvasImage(canvas, "https://static.shelingxingqiu.com/shootmini/static/qr-code.png"); const [avatarImg, lvlImg, titleImg, scoreBgImg, qrCodeImg] = await Promise.all([ diff --git a/src/components/AppBackground.vue b/src/components/AppBackground.vue index 94391f8..9495dad 100644 --- a/src/components/AppBackground.vue +++ b/src/components/AppBackground.vue @@ -85,7 +85,7 @@ const props = defineProps({ const tabs = [ - { image: "../static/tab-vip.png" }, + { image: "https://static.shelingxingqiu.com/shootmini/static/tab-vip.png" }, { image: "https://static.shelingxingqiu.com/shootmini/static/tab-point-book.png" }, { image: "https://static.shelingxingqiu.com/shootmini/static/tab-mall.png" }, ]; diff --git a/src/components/Avatar.vue b/src/components/Avatar.vue index 470db77..7c0fce6 100644 --- a/src/components/Avatar.vue +++ b/src/components/Avatar.vue @@ -77,25 +77,25 @@ watch( /> {{ rank }} { 返回房间 - + diff --git a/src/components/BattleHeader.vue b/src/components/BattleHeader.vue index 9cdc95e..9bee7a4 100644 --- a/src/components/BattleHeader.vue +++ b/src/components/BattleHeader.vue @@ -72,7 +72,7 @@ const isMember = (player = {}) => player.vip === true || player.sVip === true; @@ -100,7 +100,7 @@ const isMember = (player = {}) => player.vip === true || player.sVip === true; diff --git a/src/components/BowData.vue b/src/components/BowData.vue index 409f98f..371cadf 100644 --- a/src/components/BowData.vue +++ b/src/components/BowData.vue @@ -58,7 +58,7 @@ const props = defineProps({ - + diff --git a/src/components/BowPower.vue b/src/components/BowPower.vue index c0c3083..d72d6c9 100644 --- a/src/components/BowPower.vue +++ b/src/components/BowPower.vue @@ -8,7 +8,7 @@ const { deviceBattery: power } = storeToRefs(store); diff --git a/src/components/BowTarget.vue b/src/components/BowTarget.vue index 77127b9..feb5063 100644 --- a/src/components/BowTarget.vue +++ b/src/components/BowTarget.vue @@ -527,7 +527,7 @@ onBeforeUnmount(() => { - + 中场休息 @@ -565,7 +565,7 @@ onBeforeUnmount(() => { @@ -585,7 +585,7 @@ onBeforeUnmount(() => { diff --git a/src/components/BowTargetEdit.vue b/src/components/BowTargetEdit.vue index ff7242c..16f880d 100644 --- a/src/components/BowTargetEdit.vue +++ b/src/components/BowTargetEdit.vue @@ -266,16 +266,16 @@ onBeforeUnmount(() => { @touchstart.stop="confirmAdd" :style="{ ...getNewPos() }" > - + - + - + diff --git a/src/components/BubbleTip.vue b/src/components/BubbleTip.vue index 4fdfdb6..7a61ccd 100644 --- a/src/components/BubbleTip.vue +++ b/src/components/BubbleTip.vue @@ -29,14 +29,14 @@ const props = defineProps({ font-size: 24rpx; } .normal { - background-image: url("../static/bubble-tip.png"); + background-image: url("https://static.shelingxingqiu.com/shootmini/static/bubble-tip.png"); width: 157rpx; height: 105rpx; padding-top: 10px; padding-left: 30rpx; } .normal2 { - background-image: url("../static/bubble-tip4.png"); + background-image: url("https://static.shelingxingqiu.com/shootmini/static/bubble-tip4.png"); width: 190rpx; height: 105rpx; padding-top: 10px; @@ -46,14 +46,14 @@ const props = defineProps({ z-index: 1; } .long { - background-image: url("../static/bubble-tip2.png"); + background-image: url("https://static.shelingxingqiu.com/shootmini/static/bubble-tip2.png"); width: 370rpx; height: 70rpx; top: -50%; left: 49%; } .short { - background-image: url("../static/bubble-tip3.png"); + background-image: url("https://static.shelingxingqiu.com/shootmini/static/bubble-tip3.png"); width: 300rpx; height: 70rpx; top: -50%; diff --git a/src/components/EditOption.vue b/src/components/EditOption.vue index 555d4b2..fe6d52c 100644 --- a/src/components/EditOption.vue +++ b/src/components/EditOption.vue @@ -203,7 +203,7 @@ onMounted(async () => { diff --git a/src/components/ModalDialog.vue b/src/components/ModalDialog.vue index 710bba5..f0157e1 100644 --- a/src/components/ModalDialog.vue +++ b/src/components/ModalDialog.vue @@ -118,7 +118,7 @@ const handleClose = () => { diff --git a/src/components/OtaModal.vue b/src/components/OtaModal.vue index 4a61c0a..30af95b 100644 --- a/src/components/OtaModal.vue +++ b/src/components/OtaModal.vue @@ -185,7 +185,7 @@ const handleUpdateClick = () => { class="ota-close-below" @click="emit('close')" > - + diff --git a/src/components/PlayerScore.vue b/src/components/PlayerScore.vue index fdbd010..79b032e 100644 --- a/src/components/PlayerScore.vue +++ b/src/components/PlayerScore.vue @@ -40,10 +40,10 @@ const getMemberNicknameClass = (player = {}) => [ opacity: (scores[0] || []).length + (scores[1] || []).length === 12 ? 1 : 0, }" - src="../static/checked-green.png" + src="https://static.shelingxingqiu.com/shootmini/static/checked-green.png" mode="widthFix" /> - + {{ rank }} diff --git a/src/components/PlayerSeats.vue b/src/components/PlayerSeats.vue index 5c38d56..e2bdc83 100644 --- a/src/components/PlayerSeats.vue +++ b/src/components/PlayerSeats.vue @@ -38,7 +38,7 @@ const seats = new Array(props.total).fill(1); - + 管理员 @@ -83,7 +83,7 @@ const seats = new Array(props.total).fill(1); class="remove-player" @click="() => removePlayer(players[index])" > - + diff --git a/src/components/PointRankItem.vue b/src/components/PointRankItem.vue index 7d52145..9d01bda 100644 --- a/src/components/PointRankItem.vue +++ b/src/components/PointRankItem.vue @@ -55,12 +55,12 @@ const onClick = async () => { diff --git a/src/components/SModal.vue b/src/components/SModal.vue index ffcebb8..eb11bc1 100644 --- a/src/components/SModal.vue +++ b/src/components/SModal.vue @@ -60,7 +60,7 @@ watch( mode="widthFix" /> - + diff --git a/src/components/ScorePanel.vue b/src/components/ScorePanel.vue index d446669..6fa4301 100644 --- a/src/components/ScorePanel.vue +++ b/src/components/ScorePanel.vue @@ -71,7 +71,7 @@ watch( margin: 100 / (total * 2) + 'px', }" > - + {{ @@ -93,7 +93,7 @@ watch( padding: 1vw 0; } .score-item { - /* background-image: url("../static/score-bg.png"); + /* background-image: url("https://static.shelingxingqiu.com/shootmini/static/score-bg.png"); background-size: cover; background-repeat: no-repeat; background-position: center; */ diff --git a/src/components/ScoreResult.vue b/src/components/ScoreResult.vue index 1198663..8d46310 100644 --- a/src/components/ScoreResult.vue +++ b/src/components/ScoreResult.vue @@ -100,7 +100,7 @@ const openCoachComment = () => { diff --git a/src/components/Signin.vue b/src/components/Signin.vue index 9ac1c3d..0fc96e6 100644 --- a/src/components/Signin.vue +++ b/src/components/Signin.vue @@ -178,7 +178,7 @@ onShow(() => { 点击获取 - + @@ -193,7 +193,7 @@ onShow(() => { 点击获取 - + { @@ -228,7 +228,7 @@ onShow(() => { v-if="!agree" :style="{ borderColor: noBg ? '#E3E3E3' : '#fff' }" /> - + 已同意并阅读 { - + diff --git a/src/components/TeamAvatars.vue b/src/components/TeamAvatars.vue index 8a41949..df58f7d 100644 --- a/src/components/TeamAvatars.vue +++ b/src/components/TeamAvatars.vue @@ -65,7 +65,7 @@ watch(