mirror of
https://github.com/snowykami/neo-blog.git
synced 2025-09-05 16:56:22 +00:00
⚡ implement email verification feature, add captcha validation middleware, and enhance user authentication flow
This commit is contained in:
31
internal/static/embed.go
Normal file
31
internal/static/embed.go
Normal file
@ -0,0 +1,31 @@
|
||||
package static
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"embed"
|
||||
"fmt"
|
||||
"html/template"
|
||||
)
|
||||
|
||||
//go:embed assets/*
|
||||
var AssetsFS embed.FS
|
||||
|
||||
// RenderTemplate 从嵌入的文件系统中读取模板并渲染
|
||||
func RenderTemplate(name string, data interface{}) (string, error) {
|
||||
templatePath := "assets/" + name
|
||||
templateContent, err := AssetsFS.ReadFile(templatePath)
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("读取模板文件失败: %w", err)
|
||||
}
|
||||
// 解析模板
|
||||
tmpl, err := template.New(name).Parse(string(templateContent))
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("解析模板失败: %w", err)
|
||||
}
|
||||
// 渲染模板
|
||||
var buf bytes.Buffer
|
||||
if err := tmpl.Execute(&buf, data); err != nil {
|
||||
return "", fmt.Errorf("渲染模板失败: %w", err)
|
||||
}
|
||||
return buf.String(), nil
|
||||
}
|
Reference in New Issue
Block a user