fix: NAV头像session未同步导致不显示 + 图片加载失败回退首字符
- Validate中同步DB最新头像/用户名/角色到session,解决上传头像后NAV仍不显示的问题 - NAV模板img增加onerror回退,图片加载失败时自动显示用户名首字符
This commit is contained in:
@ -79,6 +79,11 @@ func (m *Manager) Validate(sid string) (*Session, error) {
|
|||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 同步 DB 最新字段(头像/用户名/角色等可能已变更)
|
||||||
|
s.Avatar = user.Avatar
|
||||||
|
s.Username = user.Username
|
||||||
|
s.Role = user.Role
|
||||||
|
|
||||||
// 滑动窗口续期
|
// 滑动窗口续期
|
||||||
s.Touch()
|
s.Touch()
|
||||||
if err := m.store.Set(s); err != nil {
|
if err := m.store.Set(s); err != nil {
|
||||||
|
|||||||
@ -20,7 +20,8 @@
|
|||||||
<li class="nav-avatar-wrapper">
|
<li class="nav-avatar-wrapper">
|
||||||
<a href="/space" class="nav-avatar-link">
|
<a href="/space" class="nav-avatar-link">
|
||||||
{{if .Avatar}}
|
{{if .Avatar}}
|
||||||
<img src="{{.Avatar}}" alt="" class="nav-avatar">
|
<img src="{{.Avatar}}" alt="" class="nav-avatar" onerror="this.style.display='none';this.nextElementSibling.style.display='flex'">
|
||||||
|
<span class="nav-avatar nav-avatar-default" style="display:none">{{substr .Username 0 1}}</span>
|
||||||
{{else}}
|
{{else}}
|
||||||
<span class="nav-avatar nav-avatar-default">{{substr .Username 0 1}}</span>
|
<span class="nav-avatar nav-avatar-default">{{substr .Username 0 1}}</span>
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|||||||
Reference in New Issue
Block a user