本文整理匯總了Golang中github.com/fuxiaohei/GoInk.App類的典型用法代碼示例。如果您正苦於以下問題:Golang App類的具體用法?Golang App怎麽用?Golang App使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了App類的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: GetLogs
func GetLogs(app *GoInk.App) []*logItem {
dir := app.Get("log_dir")
logs := make([]*logItem, 0)
filepath.Walk(dir, func(_ string, info os.FileInfo, err error) error {
if err == nil {
if info.IsDir() {
return nil
}
ext := filepath.Ext(info.Name())
if ext != ".log" {
return nil
}
bytes, e := ioutil.ReadFile(filepath.Join(dir, info.Name()))
if e != nil {
return nil
}
l := new(logItem)
l.Name = info.Name()
l.CreateTime = info.ModTime().Unix()
l.Text = string(bytes)
logs = append([]*logItem{l}, logs...)
}
return nil
})
return logs
}
示例2: upgrade_20140130
func upgrade_20140130(app *GoInk.App) bool {
// change settings
model.LoadSettings()
model.SetSetting("c_footer_ga", "<!-- google analytics or other -->")
model.SetSetting("enable_go_markdown", "false")
model.SetSetting("enable_go_markdown_def", "false")
model.SetSetting("site_theme", "default")
model.SetSetting("site_theme_def", "default")
model.SetSetting("c_home_avatar", "/static/img/site.png")
model.SyncSettings()
// init plugin
plugin.Init()
model.Storage.Dir("plugin")
// remove static files
os.RemoveAll(app.Get("view_dir"))
os.RemoveAll(path.Join(app.Get("static_dir"), "less"))
os.RemoveAll(path.Join(app.Get("static_dir"), "css"))
os.RemoveAll(path.Join(app.Get("static_dir"), "img"))
os.RemoveAll(path.Join(app.Get("static_dir"), "js"))
os.RemoveAll(path.Join(app.Get("static_dir"), "lib"))
os.Remove(path.Join(app.Get("static_dir"), "favicon.ico"))
// extract current static files
cmd.ExtractBundleBytes()
// "c_footer_ga": "<!-- google analytics or other -->",
// "enable_go_markdown": "true",
// "enable_go_markdown_def": "false",
// "site_theme": "ling",
// "site_theme_def": "default",
return true
}
示例3: upgrade_20140209
func upgrade_20140209(app *GoInk.App) bool {
// clean template
vDir := app.Get("view_dir")
os.Remove(path.Join(vDir, "admin.layout"))
os.Remove(path.Join(vDir, "cmd.layout"))
// write default menu setting
model.DefaultNavigators()
// write message storage
model.Storage.Set("messages", []*model.Message{})
cmd.ExtractBundleBytes()
return true
}
示例4: Update
func Update(app *GoInk.App) {
pluginHandlers, routeHandlers := Handlers()
if len(routeHandlers) > 0 {
for n, h := range routeHandlers {
if usedHandler["route"][n] {
continue
}
app.Route(h.Method, h.Pattern, h.Handler)
usedHandler["route"][n] = true
}
}
if len(pluginHandlers["middle"]) > 0 {
for n, h := range pluginHandlers["middle"] {
if usedHandler["middle"][n] {
continue
}
app.Use(h)
usedHandler["middle"][n] = true
//println("use plugin middle handler",n)
}
//fmt.Println(usedHandler)
}
if len(pluginHandlers["inter"]) > 0 {
for name, h := range pluginHandlers["inter"] {
if usedHandler["inter"][name] {
continue
}
if name == "static" {
app.Static(h)
usedHandler["inter"][name] = true
continue
}
if name == "recover" {
app.Recover(h)
usedHandler["inter"][name] = true
continue
}
if name == "notfound" {
app.NotFound(h)
usedHandler["inter"][name] = true
continue
}
}
}
}
示例5: upgrade_20140131
func upgrade_20140131(app *GoInk.App) bool {
// re-write all data to non-indent json
/*model.All()
model.SyncContents()
model.SyncFiles()
model.SyncReaders()
model.SyncSettings()
model.SyncTokens()
model.SyncUsers()
model.SyncVersion()*/
// update ling template
os.RemoveAll(path.Join(app.Get("view_dir"), "ling"))
cmd.ExtractBundleBytes()
return true
}
示例6: DoBackup
// DoBackup backups whole files to zip archive.
// If withData is false, it compresses static files to zip archive without data files, config files and install lock file.
func DoBackup(app *GoInk.App, withData bool) (string, error) {
os.Mkdir(backupDir, os.ModePerm)
// create zip file name from time unix
filename := path.Join(backupDir, utils.DateTime(time.Now(), "YYYYMMDDHHmmss"))
if withData {
filename += ".zip"
} else {
filename += "_static.zip"
}
z, e := zip.Create(filename)
if e != nil {
return "", e
}
root, _ := os.Getwd()
if withData {
// if with data, add install lock file and config file
lockFile := path.Join(root, "install.lock")
if utils.IsFile(lockFile) {
z.AddFile("install.lock", lockFile)
}
configFile := path.Join(root, "config.json")
if utils.IsFile(configFile) {
z.AddFile("config.json", configFile)
}
}
z.AddDir("static/css", path.Join(root, "static", "css"))
z.AddDir("static/img", path.Join(root, "static", "img"))
z.AddDir("static/js", path.Join(root, "static", "js"))
z.AddDir("static/lib", path.Join(root, "static", "lib"))
z.AddFile("static/favicon.ico", path.Join(root, "static", "favicon.ico"))
if withData {
// if with data, backup data files and uploaded files
z.AddDir("data", path.Join(root, "data"))
z.AddDir("static/upload", path.Join(root, "static", "upload"))
}
z.AddDir(app.View().Dir, path.Join(root, app.View().Dir))
e = z.Flush()
if e != nil {
return "", e
}
println("backup success in " + filename)
return filename, nil
}
示例7: RemoveLogFile
func RemoveLogFile(app *GoInk.App, file string) {
f := filepath.Join(app.Get("log_dir"), file)
os.Remove(f)
}