implement email verification feature, add captcha validation middleware, and enhance user authentication flow

This commit is contained in:
2025-07-22 08:50:16 +08:00
parent 6187425df6
commit a0d215fa2e
26 changed files with 844 additions and 50 deletions

31
internal/static/embed.go Normal file
View 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
}