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
|
||||
}
|
||||
|
||||
// 同步 DB 最新字段(头像/用户名/角色等可能已变更)
|
||||
s.Avatar = user.Avatar
|
||||
s.Username = user.Username
|
||||
s.Role = user.Role
|
||||
|
||||
// 滑动窗口续期
|
||||
s.Touch()
|
||||
if err := m.store.Set(s); err != nil {
|
||||
|
||||
@ -20,7 +20,8 @@
|
||||
<li class="nav-avatar-wrapper">
|
||||
<a href="/space" class="nav-avatar-link">
|
||||
{{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}}
|
||||
<span class="nav-avatar nav-avatar-default">{{substr .Username 0 1}}</span>
|
||||
{{end}}
|
||||
|
||||
Reference in New Issue
Block a user