54 lines
1.1 KiB
Go
54 lines
1.1 KiB
Go
package utils
|
|
|
|
import (
|
|
"gitee.ltd/lxh/logger/log"
|
|
"html/template"
|
|
"os"
|
|
)
|
|
|
|
type templateUtils struct{}
|
|
|
|
func Template() templateUtils {
|
|
return templateUtils{}
|
|
}
|
|
|
|
// Parse
|
|
// @description: 解析指定模板文件
|
|
// @receiver templateUtils
|
|
// @param filepath
|
|
// @return parseTemplate
|
|
// @return err
|
|
func (templateUtils) Parse(filepath string) (parseTemplate *template.Template, err error) {
|
|
file, err := os.ReadFile(filepath)
|
|
if err != nil {
|
|
return
|
|
}
|
|
|
|
parseTemplate, err = template.New("wg0.conf").Parse(string(file))
|
|
return
|
|
}
|
|
|
|
// Execute
|
|
// @description: 序列化数据到文件中
|
|
// @receiver templateUtils
|
|
// @param fromTemplate
|
|
// @param data
|
|
// @param filePath
|
|
// @return err
|
|
func (templateUtils) Execute(fromTemplate *template.Template, data any, filePath string) (err error) {
|
|
wg0Conf, err := os.Create(filePath)
|
|
if err != nil {
|
|
log.Errorf("创建文件[%s]失败: %v", filePath, err.Error())
|
|
return
|
|
}
|
|
|
|
defer func() {
|
|
if err = wg0Conf.Close(); err != nil {
|
|
log.Errorf("关闭文件[%s]失败: %v", filePath, err.Error())
|
|
return
|
|
}
|
|
}()
|
|
|
|
return fromTemplate.Execute(wg0Conf, data)
|
|
}
|