refactor: 重写导航栏布局与交互
- 导航项重新排序:首页、投稿、信封图标、头像下拉菜单 - 铃铛图标替换为信封图标 - 用户名/设置/退出移入头像 hover 下拉菜单 - 设置改名为个人中心,退出改名为退出登录 - 头像点击跳转 /space,hover 展开下拉菜单 - 无头像时显示用户名首字彩色圆形占位 - Avatar 数据链路打通:Session→Middleware→BuildPageData→模板 - FindByIDForAuth 查询增加 avatar 列 - 新增 substr 模板函数
This commit is contained in:
@ -24,6 +24,17 @@ func LoadTemplates(roots ...TemplateRoot) (*template.Template, error) {
|
||||
"subtract": func(a, b int) int { return a - b },
|
||||
"formatTTL": formatTTL,
|
||||
"assetV": common.AssetV,
|
||||
"substr": func(s string, start, length int) string {
|
||||
runes := []rune(s)
|
||||
if start >= len(runes) {
|
||||
return ""
|
||||
}
|
||||
end := start + length
|
||||
if end > len(runes) {
|
||||
end = len(runes)
|
||||
}
|
||||
return string(runes[start:end])
|
||||
},
|
||||
// derefUint 安全解引用 *uint 指针。
|
||||
// Go 1.26 的模板引擎在将 *uint 传给 printf/print 时不会自动解引用,
|
||||
// 导致打印指针地址而非值。通过此函数显式解引用后传给 printf。
|
||||
|
||||
Reference in New Issue
Block a user