From 30c4dba81d6bdce916bce0eb7c5d73b9b18fa5c7 Mon Sep 17 00:00:00 2001
From: hzj <1304805162@qq.com>
Date: Fri, 5 Dec 2025 16:04:38 +0800
Subject: [PATCH] =?UTF-8?q?feat(=E6=96=B0=E5=B7=A5=E5=85=B7=E7=B1=BB):=20?=
=?UTF-8?q?=E5=B0=86=E9=BB=98=E8=AE=A4=E5=A4=B4=E5=83=8F=E5=92=8C=E5=95=86?=
=?UTF-8?q?=E5=93=81=E5=9B=BE=E6=8F=90=E7=82=BC=E6=88=90=E4=B8=80=E4=B8=AA?=
=?UTF-8?q?=E5=B7=A5=E5=85=B7=E7=B1=BB=EF=BC=8C=E5=B9=B6=E5=9C=A8=E9=A1=B5?=
=?UTF-8?q?=E9=9D=A2=E4=B8=AD=E4=BD=BF=E7=94=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/utils/imageHandler.js | 20 +++++++++++
.../Activities/Game/components/topUser.vue | 12 ++-----
src/views/Activities/Game/index.vue | 26 +++-----------
.../IndependenceDay/components/topUser.vue | 12 ++-----
.../Lebanon/IndependenceDay/index.vue | 23 +++---------
.../Activities/Reward/RechargeReward.vue | 10 ++----
.../IndependenceDay/components/topUser.vue | 12 ++-----
.../Activities/UAE/IndependenceDay/index.vue | 23 +++---------
.../Yemen/IndependenceDay/index.vue | 23 +++---------
src/views/AdminCenter/MyAgencyTeams.vue | 11 ++----
src/views/AdminCenter/MyBDLeaderTeams.vue | 11 ++----
src/views/AdminCenter/MyBDTeams.vue | 11 ++----
src/views/AdminCenter/index.vue | 9 ++---
src/views/AgencyCenter/AgencySetting.vue | 14 +++-----
src/views/AgencyCenter/Message.vue | 19 ++++------
.../AgencyCenter/components/TeamBillMore.vue | 10 ++----
src/views/AgencyCenter/index.vue | 9 ++---
src/views/ApplyHost/ApplyView.vue | 21 +++++------
src/views/BDCenter/availableIncome.vue | 11 ++----
src/views/BDCenter/incomeDetails.vue | 13 +++----
src/views/BDCenter/index.vue | 13 +++----
src/views/BDLeaderCenter/index.vue | 18 ++++------
src/views/HostCenter/HostSetting.vue | 9 ++---
src/views/Invitation/InviteToRegister.vue | 35 ++-----------------
src/views/Invitation/inviteAgency.vue | 9 ++---
src/views/Invitation/inviteBD.vue | 9 ++---
src/views/Invitation/inviteBDLeader.vue | 9 ++---
src/views/Invitation/inviteRechargeAgency.vue | 9 ++---
src/views/Ranking/KingAndQueen/TopList.vue | 25 +++----------
src/views/Ranking/Overall/Ranking.vue | 11 ++----
.../Ranking/Overall/components/topUser.vue | 9 ++---
src/views/Ranking/WeeklyStar/WeeklyStar.vue | 25 +++----------
.../Ranking/WeeklyStar/components/topUser.vue | 10 ++----
src/views/RechargeAgency/Recruit.vue | 19 +++++-----
src/views/RechargeAgency/SearchUser.vue | 14 ++++----
src/views/RechargeAgency/index.vue | 12 ++-----
src/views/Wallet/Transfer/SearchPayee.vue | 17 ++++-----
src/views/Wallet/Transfer/Transfer.vue | 9 ++---
38 files changed, 157 insertions(+), 405 deletions(-)
create mode 100644 src/utils/imageHandler.js
diff --git a/src/utils/imageHandler.js b/src/utils/imageHandler.js
new file mode 100644
index 0000000..7788f87
--- /dev/null
+++ b/src/utils/imageHandler.js
@@ -0,0 +1,20 @@
+/**
+ * 头像图片错误处理专用函数
+ * @param {Event} e - 图片错误事件
+ */
+export const handleAvatarImageError = (e) => {
+ console.log('头像资源出错')
+ e.target.onerror = null // 防止循环
+ e.target.src = new URL('/src/assets/icon/defaultAvatar.png', import.meta.url).href
+}
+
+export const handleRewardImageError = (e, type) => {
+ console.log('图片资源出错')
+ e.target.onerror = null // 防止循环
+
+ if (type == 'GOLD') {
+ e.target.src = new URL('/src/assets/icon/coin.png', import.meta.url).href
+ } else if (type == 'DOLLARS') {
+ e.target.src = new URL('/src/assets/icon/dollar.png', import.meta.url).href
+ }
+}
diff --git a/src/views/Activities/Game/components/topUser.vue b/src/views/Activities/Game/components/topUser.vue
index 087ec62..5a4592c 100644
--- a/src/views/Activities/Game/components/topUser.vue
+++ b/src/views/Activities/Game/components/topUser.vue
@@ -29,7 +29,7 @@
alt=""
width="100%"
style="display: block; border-radius: 50%; aspect-ratio: 1/1; object-fit: cover"
- @error="defaultAvatarUrl"
+ @error="handleAvatarImageError"
/>
@@ -107,6 +107,8 @@