本文整理汇总了Golang中github.com/easykoo/go-blog/middleware.Context.Redirect方法的典型用法代码示例。如果您正苦于以下问题:Golang Context.Redirect方法的具体用法?Golang Context.Redirect怎么用?Golang Context.Redirect使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/easykoo/go-blog/middleware.Context
的用法示例。
在下文中一共展示了Context.Redirect方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: PublishBlog
func PublishBlog(ctx *middleware.Context, blog model.Blog) {
switch ctx.R.Method {
case "POST":
if blog.Title == "" || blog.Content == "" {
ctx.AddError(Translate(ctx.S.Get("Lang").(string), "message.error.publish.failed"))
} else {
tags := ctx.R.PostForm["tags"]
blog.SetTags(tags)
signedUser := ctx.S.Get("SignedUser").(model.User)
blog.State = "PUBLISHED"
blog.PublishDate = time.Now()
if blog.Version == 0 {
blog.Priority = 5
blog.Author = signedUser
blog.CreateUser = signedUser.Username
err := blog.Insert()
PanicIf(err)
} else {
err := blog.Update()
PanicIf(err)
}
}
ctx.Redirect("/blog/view/" + IntString(blog.Id))
default:
tags, err := blog.GetAllTags()
PanicIf(err)
ctx.Set("Tags", tags)
ctx.HTML(200, "blog/edit", ctx)
}
}
示例2: LoginHandler
func LoginHandler(ctx *middleware.Context, formErr binding.Errors, loginUser model.UserLoginForm) {
switch ctx.R.Method {
case "POST":
ctx.JoinFormErrors(formErr)
password := Md5(loginUser.Password)
user := &model.User{Username: loginUser.Username, Password: password}
if !ctx.HasError() {
if has, err := user.Exist(); has {
PanicIf(err)
if user.Locked {
ctx.Set("User", user)
ctx.AddError(Translate(ctx.S.Get("Lang").(string), "message.error.invalid.username.or.password"))
ctx.HTML(200, "user/login", ctx)
return
}
ctx.S.Set("SignedUser", user)
Log.Info(user.Username, " login")
ctx.Redirect("/admin/dashboard")
} else {
ctx.Set("User", user)
ctx.AddError(Translate(ctx.S.Get("Lang").(string), "message.error.invalid.username.or.password"))
ctx.HTML(200, "user/login", ctx)
}
} else {
ctx.HTML(200, "user/login", ctx)
}
default:
ctx.HTML(200, "user/login", ctx)
}
}
示例3: AboutHandler
func AboutHandler(ctx *middleware.Context) {
settings := model.GetSettings()
about := ctx.R.FormValue("about")
settings.About = about
err := settings.Update()
PanicIf(err)
dbSettings := model.GetSettings()
ctx.S.Set("Settings", dbSettings)
ctx.Redirect("/about")
}
示例4: InsertLink
func InsertLink(ctx *middleware.Context, link model.Link) {
switch ctx.R.Method {
case "POST":
err := link.Insert()
PanicIf(err)
ctx.Set("success", true)
ctx.Set("message", Translate(ctx.S.Get("Lang").(string), "message.send.success"))
ctx.Redirect("/link/all")
default:
ctx.HTML(200, "link/edit", ctx)
}
}
示例5: LogoutHandler
func LogoutHandler(ctx *middleware.Context) {
ctx.S.Set("SignedUser", nil)
ctx.Redirect("/index")
}