fix: 头像上传成功后同步更新NAV头像
- 上传成功回调中查找NAV .nav-avatar元素并更新src - 首次上传(原为文字占位)时创建img元素替换 - 带缓存破坏时间戳,与settings页头像更新逻辑一致
This commit is contained in:
@ -595,8 +595,33 @@
|
|||||||
var res = JSON.parse(xhr.responseText);
|
var res = JSON.parse(xhr.responseText);
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
showSettingsToast(res.message || '头像已更新');
|
showSettingsToast(res.message || '头像已更新');
|
||||||
if (res.data && res.data.url && avatarPreview.tagName === 'IMG') {
|
var newAvatarUrl = res.data && res.data.url && (res.data.url + '?t=' + Date.now());
|
||||||
avatarPreview.src = 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 {
|
} else {
|
||||||
showSettingsToast(res.message || '上传失败', true);
|
showSettingsToast(res.message || '上传失败', true);
|
||||||
|
|||||||
Reference in New Issue
Block a user