新增: 星座运势+AI资讯+知识卡片+桌面设置窗口+秒显示开关

- 星座运势: 天聚数行API集成,5维进度条+幸运标签+今日概述
- AI资讯: 天聚数行API,图文布局5条展示,文件缓存2小时刷新
- 知识卡片: AI生成,关键字+提示词配置,30分钟刷新
- 桌面设置: 独立WebView2窗口,760x1350,含壁纸/布局/城市/颜色等配置
- 显示控制: 壁纸/时间/天气/星座/知识/AI资讯独立开关,秒显示开关
- 文件缓存: 星座运势+AI资讯缓存到本地,启动即显示上次数据
- initDone防抖: 防止设置窗口初始化触发卡片重载
This commit is contained in:
2026-05-26 04:34:00 +08:00
parent 2287e12e0d
commit 9fd3acede3
15 changed files with 2607 additions and 384 deletions

View File

@@ -78,9 +78,39 @@ func buildWallpaperHTML(cfg *Config) string {
if bg == "" {
bg = themeAurora
}
html := strings.Replace(overlayHTML, "{{BACKGROUND}}", bg, 1)
bgWrapped := fmt.Sprintf(`<div id="bg-layer">%s</div>`, bg)
if cfg.HideWallpaper {
bgWrapped = `<div id="bg-layer" style="display:none"></div>`
}
html := strings.Replace(overlayHTML, "{{BACKGROUND}}", bgWrapped, 1)
html = strings.Replace(html, "{{LAYOUT}}", string(cfg.Layout), 1)
var bodyClasses []string
if cfg.HideTime {
bodyClasses = append(bodyClasses, "hide-time")
}
if cfg.HideWeather {
bodyClasses = append(bodyClasses, "hide-weather")
}
if cfg.HideZodiac {
bodyClasses = append(bodyClasses, "hide-zodiac")
}
showSec := "false"
if cfg.ShowSeconds {
showSec = "true"
}
html = strings.Replace(html, "{{SHOW_SECONDS}}", showSec, 1)
if cfg.HideAINews {
bodyClasses = append(bodyClasses, "hide-ainews")
}
if cfg.HideKnowledge {
bodyClasses = append(bodyClasses, "hide-knowledge")
}
if len(bodyClasses) > 0 {
cls := strings.Join(bodyClasses, " ")
html = strings.Replace(html, `layout-`+string(cfg.Layout), `layout-`+string(cfg.Layout)+" "+cls, 1)
}
// 注入自定义文字
if cfg.WallpaperType == WPTheme && cfg.Theme == ThemeText && cfg.WallpaperText != "" {
escaped := strings.ReplaceAll(cfg.WallpaperText, `\`, `\\`)
@@ -133,3 +163,18 @@ func reloadWallpaper() {
go fetchAndPushWeather(city)
}()
}
func bingReloadImage() {
if wv == nil || wvHwnd == 0 {
return
}
p := getCurrentBingPath()
if p == "" {
return
}
src := imageToDataURI(p)
if src == "" {
return
}
evalJS(fmt.Sprintf(`var bg=document.querySelector('#bg-layer img'); if(bg) bg.src=%q;`, src))
}