初次提交并重新初始化
This commit is contained in:
59
afi_embed_dev.go
Normal file
59
afi_embed_dev.go
Normal file
@@ -0,0 +1,59 @@
|
||||
//go:build dev
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"encoding/base64"
|
||||
"html/template"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
)
|
||||
|
||||
var tmpl *template.Template
|
||||
|
||||
func init() {
|
||||
// 开发模式下从当前目录读取 UI 文件
|
||||
uiDir := "ui"
|
||||
|
||||
// 如果当前目录没有 ui,尝试从可执行文件目录查找
|
||||
if _, err := os.Stat(uiDir); os.IsNotExist(err) {
|
||||
execPath, err := os.Executable()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
uiDir = filepath.Join(filepath.Dir(execPath), "ui")
|
||||
}
|
||||
|
||||
// 读取 UI 文件
|
||||
styleCSS, err := os.ReadFile(filepath.Join(uiDir, "style.css"))
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
scriptJS, err := os.ReadFile(filepath.Join(uiDir, "script.js"))
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
faviconSVG, err := os.ReadFile(filepath.Join(uiDir, "favicon.svg"))
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
uiTmpl, err := os.ReadFile(filepath.Join(uiDir, "ui.html"))
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
// 组装模板
|
||||
t := strings.Replace(string(uiTmpl), "css_will_be_here", string(styleCSS), 1)
|
||||
t = strings.Replace(t, "js_will_be_here", string(scriptJS), 1)
|
||||
t = strings.Replace(t, "favicon_will_be_here", base64.StdEncoding.EncodeToString(faviconSVG), 2)
|
||||
|
||||
var parseErr error
|
||||
tmpl, parseErr = template.New("").Parse(t)
|
||||
if parseErr != nil {
|
||||
panic(parseErr)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user