fix: 头像上传成功后同步更新NAV头像
- 上传成功回调中查找NAV .nav-avatar元素并更新src - 首次上传(原为文字占位)时创建img元素替换 - 带缓存破坏时间戳,与settings页头像更新逻辑一致
This commit is contained in:
@ -595,8 +595,33 @@
|
||||
var res = JSON.parse(xhr.responseText);
|
||||
if (res.success) {
|
||||
showSettingsToast(res.message || '头像已更新');
|
||||
if (res.data && res.data.url && avatarPreview.tagName === 'IMG') {
|
||||
avatarPreview.src = res.data.url + '?t=' + Date.now();
|
||||
var newAvatarUrl = res.data && res.data.url && (res.data.url + '?t=' + Date.now());
|
||||
if (newAvatarUrl && avatarPreview.tagName === 'IMG') {
|
||||
avatarPreview.src = newAvatarUrl;
|
||||
}
|
||||
// 同步更新 NAV 头像
|
||||
if (newAvatarUrl) {
|
||||
var navLink = document.querySelector('.nav-avatar-link');
|
||||
if (navLink) {
|
||||
var navImg = navLink.querySelector('img.nav-avatar');
|
||||
if (navImg) {
|
||||
navImg.src = newAvatarUrl;
|
||||
navImg.style.display = '';
|
||||
var fb = navLink.querySelector('.nav-avatar-default');
|
||||
if (fb) fb.style.display = 'none';
|
||||
} else {
|
||||
var fb2 = navLink.querySelector('.nav-avatar-default');
|
||||
if (fb2) {
|
||||
var img = document.createElement('img');
|
||||
img.src = newAvatarUrl;
|
||||
img.alt = '';
|
||||
img.className = 'nav-avatar';
|
||||
img.onerror = function() { this.style.display = 'none'; this.nextElementSibling.style.display = 'flex'; };
|
||||
navLink.insertBefore(img, fb2);
|
||||
fb2.style.display = 'none';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
showSettingsToast(res.message || '上传失败', true);
|
||||
|
||||
Reference in New Issue
Block a user