package handler import ( "embed" "io/fs" "net/http" "os" "time" "github.com/gin-gonic/gin" ) // GetDocs 返回文档端点:运行目录 docs/ 下同名文件优先(可热更新),否则用内嵌副本。 func GetDocs(docsFS embed.FS) gin.HandlerFunc { readDoc := func(name string) string { if data, err := os.ReadFile("docs/" + name); err == nil { return string(data) } if data, err := fs.ReadFile(docsFS, "docs/"+name); err == nil { return string(data) } return "" } return func(c *gin.Context) { c.JSON(http.StatusOK, gin.H{ "guide": readDoc("GUIDE.md"), "api": readDoc("API.md"), "updatedAt": time.Now().Format("2006-01-02 15:04:05"), }) } }