feat: 对接默认头像处理
This commit is contained in:
parent
5cb3421150
commit
f4ea886b40
@ -115,9 +115,9 @@
|
|||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
v-if="member.memberProfile?.userAvatar"
|
v-if="member.memberProfile?.userAvatar"
|
||||||
:src="member.memberProfile.userAvatar"
|
:src="member.memberProfile.userAvatar || ''"
|
||||||
:alt="member.memberProfile?.userNickname"
|
:alt="member.memberProfile?.userNickname"
|
||||||
@error="handleImageError"
|
@error="defaultAvatarUrl"
|
||||||
style="width: 100%; height: 100%; border-radius: 50%; object-fit: cover"
|
style="width: 100%; height: 100%; border-radius: 50%; object-fit: cover"
|
||||||
/>
|
/>
|
||||||
<div
|
<div
|
||||||
@ -389,9 +389,10 @@ const getAvatarPlaceholder = (nickname) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 处理图片加载错误
|
// 处理图片加载错误
|
||||||
const handleImageError = (event) => {
|
const defaultAvatarUrl = (e) => {
|
||||||
console.warn('头像加载失败:', event.target.src)
|
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">
|
<div class="avatar">
|
||||||
<img
|
<img
|
||||||
v-if="userInfo.userAvatar"
|
v-if="userInfo.userAvatar"
|
||||||
:src="userInfo.userAvatar"
|
:src="userInfo.userAvatar || ''"
|
||||||
:alt="userInfo.userNickname || userInfo.name"
|
:alt="userInfo.userNickname || userInfo.name"
|
||||||
class="avatar-image"
|
class="avatar-image"
|
||||||
@error="handleAvatarError"
|
@error="defaultAvatarUrl"
|
||||||
/>
|
/>
|
||||||
<span v-else class="avatar-text">{{
|
<span v-else class="avatar-text">{{
|
||||||
(userInfo.userNickname || userInfo.name).charAt(0)
|
(userInfo.userNickname || userInfo.name).charAt(0)
|
||||||
@ -89,7 +89,7 @@
|
|||||||
:src="selectedUser.userAvatar || ''"
|
:src="selectedUser.userAvatar || ''"
|
||||||
:alt="selectedUser.userNickname || userInfo.name"
|
:alt="selectedUser.userNickname || userInfo.name"
|
||||||
class="avatar-image"
|
class="avatar-image"
|
||||||
@error="handleAvatarError"
|
@error="defaultAvatarUrl"
|
||||||
/>
|
/>
|
||||||
<span v-else>{{ selectedUser.name.charAt(0) }}</span>
|
<span v-else>{{ selectedUser.name.charAt(0) }}</span>
|
||||||
</div>
|
</div>
|
||||||
@ -225,8 +225,10 @@ const fetchFreightBalance = async () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 处理头像加载错误
|
// 处理头像加载错误
|
||||||
const handleAvatarError = () => {
|
const defaultAvatarUrl = (e) => {
|
||||||
userInfo.value.userAvatar = null
|
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
|
<img
|
||||||
v-if="message.avatar"
|
v-if="message.avatar"
|
||||||
:src="message.avatar"
|
:src="message.avatar || ''"
|
||||||
:alt="message.name"
|
:alt="message.name"
|
||||||
style="display: block; width: 100%; aspect-ratio: 1/1; object-fit: cover"
|
style="display: block; width: 100%; aspect-ratio: 1/1; object-fit: cover"
|
||||||
|
@error="defaultAvatarUrl"
|
||||||
/>
|
/>
|
||||||
<div v-else>{{ message.name?.charAt(0) || 'U' }}</div>
|
<div v-else>{{ message.name?.charAt(0) || 'U' }}</div>
|
||||||
</div>
|
</div>
|
||||||
@ -62,7 +63,7 @@
|
|||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
{{ message.name || t('unknown_user') }}aaaaaaaaaaaaaaaaaaaaaa
|
{{ message.name || t('unknown_user') }}
|
||||||
</h4>
|
</h4>
|
||||||
<div>
|
<div>
|
||||||
<div style="display: flex; align-items: center">
|
<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 () => {
|
const fetchMessages = async () => {
|
||||||
loading.value = true
|
loading.value = true
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user