来源:hgdjnet-server 9bfbafe10d417deea959bd53117bc88a10e60a83 项目身份 HKDJ / JHA-216,独立官网仓库,Jenkins 守卫键 hkdjnet 测试目录 /server/hkdj_net,App/Web API 30331/30332 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
36 lines
845 B
Go
36 lines
845 B
Go
package sitemap
|
|
|
|
import (
|
|
"hkdj-web-server/app/service/configser"
|
|
"hkdj-web-server/pub/common/log"
|
|
"strings"
|
|
"sync"
|
|
)
|
|
|
|
var generateMu sync.Mutex
|
|
|
|
// GenerateSitemap 生成全站 sitemap 分片及索引文件。
|
|
func GenerateSitemap() {
|
|
generateMu.Lock()
|
|
defer generateMu.Unlock()
|
|
|
|
webAddr := strings.TrimSpace(configser.GetConfigInfo().WebAddr)
|
|
if webAddr == "" {
|
|
log.Warn("GenerateSitemap: WebAddr is empty, skip")
|
|
return
|
|
}
|
|
|
|
generator := NewSitemapGenerator(webAddr, OutputDir)
|
|
if err := generator.Generate(); err != nil {
|
|
log.Error("GenerateSitemap failed", log.E(err))
|
|
return
|
|
}
|
|
if err := writeRobotsTXT(webAddr); err != nil {
|
|
log.Error("GenerateSitemap write robots.txt failed", log.E(err))
|
|
return
|
|
}
|
|
log.Info("GenerateSitemap done",
|
|
log.Any("files", len(generator.SitemapFiles)),
|
|
log.Any("webAddr", webAddr))
|
|
}
|