feat: 移动端底部导航可配置与工作区导航、置顶后台等前端调整

This commit is contained in:
2026-10-16 16:26:08 +08:00
parent 47f87a011c
commit 55ded2695c
10 changed files with 573 additions and 154 deletions

View File

@@ -124,15 +124,18 @@ const (
DefaultUrlStyle = "default"
// MaxMobileTabs 底栏配置元素上限(与白名单等长)
MaxMobileTabs = 5
MaxMobileTabs = 6
)
// MobileTabKeys 移动端底栏允许的 tab key 白名单(同时是默认顺序,与前端 lib/mobileTabs.ts 保持一致)
var MobileTabKeys = []string{"home", "library", "compose", "messages", "me"}
// MobileTabKeys 移动端底栏允许的 tab key 白名单(同时是管理面板排序基准,与前端 lib/mobileTabs.ts 保持一致)
var MobileTabKeys = []string{"home", "library", "snippets", "compose", "messages", "me"}
// DefaultMobileTabs 底栏默认全量配置
// DefaultMobileTabKeys 底栏缺省启用集合(白名单子集:snippets 默认关闭,需管理员手动开启)
var DefaultMobileTabKeys = []string{"home", "library", "compose", "messages", "me"}
// DefaultMobileTabs 底栏默认启用配置
func DefaultMobileTabs() []string {
return append([]string(nil), MobileTabKeys...)
return append([]string(nil), DefaultMobileTabKeys...)
}
// DefaultAttachmentExts 论坛向默认允许扩展名(含安装包/脚本/网页)
@@ -645,7 +648,7 @@ func (s *SettingService) SetMobileTabs(tabs []string) error {
if !ok || len(out) == 0 {
return ErrInvalidSiteSetting
}
if mobileTabsEqual(out, MobileTabKeys) {
if mobileTabsEqual(out, DefaultMobileTabKeys) {
return s.deleteKey(SettingKeyMobileTabs)
}
b, err := json.Marshal(out)