feat: 对接默认头像处理
This commit is contained in:
parent
5cb3421150
commit
f4ea886b40
@ -115,9 +115,9 @@
|
||||
>
|
||||
<img
|
||||
v-if="member.memberProfile?.userAvatar"
|
||||
:src="member.memberProfile.userAvatar"
|
||||
:src="member.memberProfile.userAvatar || ''"
|
||||
:alt="member.memberProfile?.userNickname"
|
||||
@error="handleImageError"
|
||||
@error="defaultAvatarUrl"
|
||||
style="width: 100%; height: 100%; border-radius: 50%; object-fit: cover"
|
||||
/>
|
||||
<div
|
||||
@ -389,9 +389,10 @@ const getAvatarPlaceholder = (nickname) => {
|
||||
}
|
||||
|
||||
// 处理图片加载错误
|
||||
const handleImageError = (event) => {
|
||||
console.warn('头像加载失败:', event.target.src)
|
||||
// 可以在这里设置默认头像
|
||||
const defaultAvatarUrl = (e) => {
|
||||
console.log('头像资源出错')
|
||||
e.target.onerror = null //防止循环
|
||||
e.target.src = new URL('/src/assets/images/WeeklyStar/defaultAvatar.png', import.meta.url).href
|
||||
}
|
||||
|
||||
// 更新展示类型
|
||||
|
||||
@ -42,10 +42,10 @@
|
||||
<div class="avatar">
|
||||
<img
|
||||
v-if="userInfo.userAvatar"
|
||||
:src="userInfo.userAvatar"
|
||||
:src="userInfo.userAvatar || ''"
|
||||
:alt="userInfo.userNickname || userInfo.name"
|
||||
class="avatar-image"
|
||||
@error="handleAvatarError"
|
||||
@error="defaultAvatarUrl"
|
||||
/>
|
||||
<span v-else class="avatar-text">{{
|
||||
(userInfo.userNickname || userInfo.name).charAt(0)
|
||||
@ -89,7 +89,7 @@
|
||||
:src="selectedUser.userAvatar || ''"
|
||||
:alt="selectedUser.userNickname || userInfo.name"
|
||||
class="avatar-image"
|
||||
@error="handleAvatarError"
|
||||
@error="defaultAvatarUrl"
|
||||
/>
|
||||
<span v-else>{{ selectedUser.name.charAt(0) }}</span>
|
||||
</div>
|
||||
@ -225,8 +225,10 @@ const fetchFreightBalance = async () => {
|
||||
}
|
||||
|
||||
// 处理头像加载错误
|
||||
const handleAvatarError = () => {
|
||||
userInfo.value.userAvatar = null
|
||||
const defaultAvatarUrl = (e) => {
|
||||
console.log('头像资源出错')
|
||||
e.target.onerror = null //防止循环
|
||||
e.target.src = new URL('/src/assets/images/WeeklyStar/defaultAvatar.png', import.meta.url).href
|
||||
}
|
||||
|
||||
// 初始化用户信息
|
||||
|
||||
@ -46,9 +46,10 @@
|
||||
>
|
||||
<img
|
||||
v-if="message.avatar"
|
||||
:src="message.avatar"
|
||||
:src="message.avatar || ''"
|
||||
:alt="message.name"
|
||||
style="display: block; width: 100%; aspect-ratio: 1/1; object-fit: cover"
|
||||
@error="defaultAvatarUrl"
|
||||
/>
|
||||
<div v-else>{{ message.name?.charAt(0) || 'U' }}</div>
|
||||
</div>
|
||||
@ -62,7 +63,7 @@
|
||||
white-space: nowrap;
|
||||
"
|
||||
>
|
||||
{{ message.name || t('unknown_user') }}aaaaaaaaaaaaaaaaaaaaaa
|
||||
{{ message.name || t('unknown_user') }}
|
||||
</h4>
|
||||
<div>
|
||||
<div style="display: flex; align-items: center">
|
||||
@ -128,6 +129,13 @@ const mockMessages = [
|
||||
},
|
||||
]
|
||||
|
||||
// 处理头像加载错误
|
||||
const defaultAvatarUrl = (e) => {
|
||||
console.log('头像资源出错')
|
||||
e.target.onerror = null //防止循环
|
||||
e.target.src = new URL('/src/assets/images/WeeklyStar/defaultAvatar.png', import.meta.url).href
|
||||
}
|
||||
|
||||
// 获取消息列表
|
||||
const fetchMessages = async () => {
|
||||
loading.value = true
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user