修复: 组件隐藏状态启动不生效+相册显示开关
- body class 改用 {{BODY_CLASSES}} 模板变量替换,修复隐藏状态在启动时未应用
- 相册组件添加显示/隐藏开关
This commit is contained in:
@@ -63,6 +63,7 @@ type Config struct {
|
|||||||
ShowSeconds bool `json:"showSeconds"`
|
ShowSeconds bool `json:"showSeconds"`
|
||||||
PhotoDir string `json:"photoDir"`
|
PhotoDir string `json:"photoDir"`
|
||||||
PhotoInterval int `json:"photoInterval"`
|
PhotoInterval int `json:"photoInterval"`
|
||||||
|
HidePhoto bool `json:"hidePhoto"`
|
||||||
KnowledgeKeyword string `json:"knowledgeKeyword"`
|
KnowledgeKeyword string `json:"knowledgeKeyword"`
|
||||||
KnowledgePrompt string `json:"knowledgePrompt"`
|
KnowledgePrompt string `json:"knowledgePrompt"`
|
||||||
HideKnowledge bool `json:"hideKnowledge"`
|
HideKnowledge bool `json:"hideKnowledge"`
|
||||||
|
|||||||
2
photo.go
2
photo.go
@@ -93,7 +93,7 @@ func pushCurrentPhoto(interval int) {
|
|||||||
|
|
||||||
func startPhotoLoop() {
|
func startPhotoLoop() {
|
||||||
cfg := loadConfig()
|
cfg := loadConfig()
|
||||||
if cfg.PhotoDir == "" {
|
if cfg.PhotoDir == "" || cfg.HidePhoto {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
12
settings.go
12
settings.go
@@ -140,6 +140,7 @@ func openSettingsWindow() {
|
|||||||
"ainewsCard": !cfg.HideAINews,
|
"ainewsCard": !cfg.HideAINews,
|
||||||
"photoDir": cfg.PhotoDir,
|
"photoDir": cfg.PhotoDir,
|
||||||
"photoInterval": cfg.PhotoInterval,
|
"photoInterval": cfg.PhotoInterval,
|
||||||
|
"photoCard": !cfg.HidePhoto,
|
||||||
})
|
})
|
||||||
return string(data)
|
return string(data)
|
||||||
})
|
})
|
||||||
@@ -178,6 +179,17 @@ func openSettingsWindow() {
|
|||||||
cfg.ShowSeconds = v
|
cfg.ShowSeconds = v
|
||||||
evalJS(fmt.Sprintf("if(window.setShowSeconds) setShowSeconds(%v)", v))
|
evalJS(fmt.Sprintf("if(window.setShowSeconds) setShowSeconds(%v)", v))
|
||||||
}
|
}
|
||||||
|
if v, ok := data["photoCard"]; ok {
|
||||||
|
cfg.HidePhoto = !v
|
||||||
|
evalJS(fmt.Sprintf("if(window.setCardVisible) setCardVisible('photo',%v)", v))
|
||||||
|
if cfg.PhotoDir != "" {
|
||||||
|
if v {
|
||||||
|
restartPhotoLoop()
|
||||||
|
} else {
|
||||||
|
stopPhotoLoop()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
saveConfig(cfg)
|
saveConfig(cfg)
|
||||||
return ""
|
return ""
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -106,9 +106,14 @@ func buildWallpaperHTML(cfg *Config) string {
|
|||||||
if cfg.HideKnowledge {
|
if cfg.HideKnowledge {
|
||||||
bodyClasses = append(bodyClasses, "hide-knowledge")
|
bodyClasses = append(bodyClasses, "hide-knowledge")
|
||||||
}
|
}
|
||||||
|
if cfg.HidePhoto {
|
||||||
|
bodyClasses = append(bodyClasses, "hide-photo")
|
||||||
|
}
|
||||||
if len(bodyClasses) > 0 {
|
if len(bodyClasses) > 0 {
|
||||||
cls := strings.Join(bodyClasses, " ")
|
cls := strings.Join(bodyClasses, " ")
|
||||||
html = strings.Replace(html, `layout-`+string(cfg.Layout), `layout-`+string(cfg.Layout)+" "+cls, 1)
|
html = strings.Replace(html, "{{BODY_CLASSES}}", cls, 1)
|
||||||
|
} else {
|
||||||
|
html = strings.Replace(html, " {{BODY_CLASSES}}", "", 1)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 注入自定义文字
|
// 注入自定义文字
|
||||||
|
|||||||
@@ -367,6 +367,7 @@ body.hide-ainews #card-ainews,
|
|||||||
body.hide-ainews #info .ainews-section { display: none !important; }
|
body.hide-ainews #info .ainews-section { display: none !important; }
|
||||||
body.hide-knowledge #card-knowledge,
|
body.hide-knowledge #card-knowledge,
|
||||||
body.hide-knowledge #info .knowledge-section { display: none !important; }
|
body.hide-knowledge #info .knowledge-section { display: none !important; }
|
||||||
|
body.hide-photo #card-photo { display: none !important; }
|
||||||
|
|
||||||
/* ===== 相册 ===== */
|
/* ===== 相册 ===== */
|
||||||
#card-photo {
|
#card-photo {
|
||||||
@@ -418,7 +419,7 @@ body.hide-knowledge #info .knowledge-section { display: none !important; }
|
|||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body class="layout-{{LAYOUT}}">
|
<body class="layout-{{LAYOUT}} {{BODY_CLASSES}}">
|
||||||
{{BACKGROUND}}
|
{{BACKGROUND}}
|
||||||
|
|
||||||
<!-- ===== SINGLE 布局 ===== -->
|
<!-- ===== SINGLE 布局 ===== -->
|
||||||
|
|||||||
@@ -334,6 +334,10 @@ input[type="text"]:focus { border-color: var(--input-border-focus); }
|
|||||||
<div class="section">
|
<div class="section">
|
||||||
<div class="section-label">相册</div>
|
<div class="section-label">相册</div>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
|
<div class="item">
|
||||||
|
<div><div class="item-label">相册展示</div></div>
|
||||||
|
<label class="switch"><input type="checkbox" id="photoCard" checked><span class="track"><span class="thumb"></span></span></label>
|
||||||
|
</div>
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<div class="item-desc" id="photoDirDisplay">未选择目录</div>
|
<div class="item-desc" id="photoDirDisplay">未选择目录</div>
|
||||||
<div class="btn-group">
|
<div class="btn-group">
|
||||||
@@ -393,7 +397,7 @@ input[type="text"]:focus { border-color: var(--input-border-focus); }
|
|||||||
<div class="footer">u-desktop v1.0</div>
|
<div class="footer">u-desktop v1.0</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
var toggleKeys = ['wallpaper', 'time', 'showSeconds', 'weather', 'zodiacCard', 'knowledgeCard', 'ainewsCard'];
|
var toggleKeys = ['wallpaper', 'time', 'showSeconds', 'weather', 'zodiacCard', 'knowledgeCard', 'ainewsCard', 'photoCard'];
|
||||||
var initDone = false;
|
var initDone = false;
|
||||||
function sendToggle() {
|
function sendToggle() {
|
||||||
if (!initDone) return;
|
if (!initDone) return;
|
||||||
|
|||||||
Reference in New Issue
Block a user