| package login | |
| import ( | |
| "bytes" | |
| "fmt" | |
| "html/template" | |
| "strings" | |
| "github.com/GoAdminGroup/go-admin/modules/language" | |
| "github.com/GoAdminGroup/go-admin/modules/logger" | |
| ) | |
| type Installation struct { | |
| Name string | |
| } | |
| func Get() *Installation { | |
| return &Installation{ | |
| Name: "installation", | |
| } | |
| } | |
| var DefaultFuncMap = template.FuncMap{ | |
| "lang": language.Get, | |
| "langHtml": language.GetFromHtml, | |
| "link": func(cdnUrl, prefixUrl, assetsUrl string) string { | |
| if cdnUrl == "" { | |
| return prefixUrl + assetsUrl | |
| } | |
| return cdnUrl + assetsUrl | |
| }, | |
| "isLinkUrl": func(s string) bool { | |
| return (len(s) > 7 && s[:7] == "http://") || (len(s) > 8 && s[:8] == "https://") | |
| }, | |
| "render": func(s, old, repl template.HTML) template.HTML { | |
| return template.HTML(strings.ReplaceAll(string(s), string(old), string(repl))) | |
| }, | |
| "renderJS": func(s template.JS, old, repl template.HTML) template.JS { | |
| return template.JS(strings.ReplaceAll(string(s), string(old), string(repl))) | |
| }, | |
| "divide": func(a, b int) int { | |
| return a / b | |
| }, | |
| } | |
| func (i *Installation) GetTemplate() (*template.Template, string) { | |
| tmpl, err := template.New("installation"). | |
| Funcs(DefaultFuncMap). | |
| Parse(List["installation"]) | |
| if err != nil { | |
| logger.Error("Installation GetTemplate Error: ", err) | |
| } | |
| return tmpl, "installation" | |
| } | |
| func (i *Installation) GetAssetList() []string { return AssetsList } | |
| func (i *Installation) GetAsset(name string) ([]byte, error) { return Asset(name[1:]) } | |
| func (i *Installation) IsAPage() bool { return true } | |
| func (i *Installation) GetName() string { return "login" } | |
| func (i *Installation) GetContent() template.HTML { | |
| buffer := new(bytes.Buffer) | |
| tmpl, defineName := i.GetTemplate() | |
| err := tmpl.ExecuteTemplate(buffer, defineName, i) | |
| if err != nil { | |
| fmt.Println("ComposeHtml Error:", err) | |
| } | |
| return template.HTML(buffer.String()) | |
| } | |