本文整理汇总了Golang中github.com/QLeelulu/goku.HttpContext.Get方法的典型用法代码示例。如果您正苦于以下问题:Golang HttpContext.Get方法的具体用法?Golang HttpContext.Get怎么用?Golang HttpContext.Get使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/QLeelulu/goku.HttpContext
的用法示例。
在下文中一共展示了HttpContext.Get方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: link_incClick
// 增加链接的点击统计数
func link_incClick(ctx *goku.HttpContext) goku.ActionResulter {
var success bool
var errorMsgs string
id := ctx.Get("id")
if id == "" {
errorMsgs = "参数错误"
} else {
linkId, err := strconv.ParseInt(id, 10, 64)
if err == nil && linkId > 0 {
_, err = models.Link_IncClickCount(linkId, 1)
if err == nil {
success = true
}
}
if err != nil {
goku.Logger().Error(err.Error())
errorMsgs = err.Error()
}
}
r := map[string]interface{}{
"success": success,
"errors": errorMsgs,
}
return ctx.Json(r)
}
示例2: favorite_loadMoreLink
func favorite_loadMoreLink(ctx *goku.HttpContext) goku.ActionResulter {
page, err := strconv.Atoi(ctx.Get("page"))
success, hasmore := false, false
errorMsgs, html := "", ""
if err == nil && page > 1 {
user := ctx.Data["user"].(*models.User)
links := models.FavoriteLink_ByUser(user.Id, page, golink.PAGE_SIZE)
if links != nil && len(links) > 0 {
ctx.ViewData["Links"] = models.Link_ToVLink(links, ctx)
vr := ctx.RenderPartial("loadmorelink", nil)
vr.Render(ctx, vr.Body)
html = vr.Body.String()
hasmore = len(links) >= golink.PAGE_SIZE
}
success = true
} else {
errorMsgs = "参数错误"
}
r := map[string]interface{}{
"success": success,
"errors": errorMsgs,
"html": html,
"hasmore": hasmore,
}
return ctx.Json(r)
}
示例3: home_index
func home_index(ctx *goku.HttpContext) goku.ActionResulter {
u, ok := ctx.Data["user"]
if !ok || u == nil {
return ctx.Redirect("/discover")
}
user := u.(*models.User)
if user.FriendCount+user.FtopicCount < 1 {
return home_guideForNew(ctx)
}
ot := ctx.Get("o")
if ot == "" {
ot = "hot"
}
ctx.ViewData["Order"] = ot
links, _ := models.Link_ForUser(user.Id, ot, 1, golink.PAGE_SIZE) //models.Link_GetByPage(1, 20)
ctx.ViewData["Links"] = models.Link_ToVLink(links, ctx)
ctx.ViewData["HasMoreLink"] = len(links) >= golink.PAGE_SIZE
// 最新链接的未读提醒
if ot == "hot" {
newestUnreadCount, _ := models.NewestLinkUnread_Friends(user.Id, user.LastReadFriendLinkId)
ctx.ViewData["NewestUnreadCount"] = models.NewestLinkUnread_ToString(user.Id, newestUnreadCount)
} else if ot == "time" && links != nil && len(links) > 0 {
models.NewestLinkUnread_UpdateForUser(user.Id, links[0].Id)
}
return ctx.View(nil)
}
示例4: link_search_loadMore
// 加载更多的搜索link
func link_search_loadMore(ctx *goku.HttpContext) goku.ActionResulter {
term, _ := url.QueryUnescape(ctx.Get("term"))
page, err := strconv.Atoi(ctx.Get("page"))
success, hasmore := false, false
errorMsgs, html := "", ""
if err == nil && page > 1 {
ls := utils.LinkSearch{}
searchResult, err := ls.SearchLink(term, page, golink.PAGE_SIZE)
if err == nil && searchResult.TimedOut == false && searchResult.HitResult.HitArray != nil {
if len(searchResult.HitResult.HitArray) > 0 {
links, _ := models.Link_GetByIdList(searchResult.HitResult.HitArray)
if links != nil && len(links) > 0 {
ctx.ViewData["Links"] = models.Link_ToVLink(links, ctx)
vr := ctx.RenderPartial("loadmorelink", nil)
vr.Render(ctx, vr.Body)
html = vr.Body.String()
hasmore = len(links) >= golink.PAGE_SIZE
}
}
success = true
}
} else {
errorMsgs = "参数错误"
}
r := map[string]interface{}{
"success": success,
"errors": errorMsgs,
"html": html,
"hasmore": hasmore,
}
return ctx.Json(r)
}
示例5: admin_banUser
func admin_banUser(ctx *goku.HttpContext) goku.ActionResulter {
var err error
var errs string
var ok = false
var userId, status int64
userId, err = strconv.ParseInt(ctx.Get("id"), 10, 64)
if err == nil {
status, err = strconv.ParseInt(ctx.Get("status"), 10, 64)
}
if err == nil {
_, err = models.User_Update(userId, map[string]interface{}{"Status": status})
}
if err != nil {
errs = err.Error()
} else {
ok = true
}
r := map[string]interface{}{
"success": ok,
"errors": errs,
}
return ctx.Json(r)
}
示例6: link_submit
/**
* 提交一个链接并保存到数据库
*/
func link_submit(ctx *goku.HttpContext) goku.ActionResulter {
f := forms.CreateLinkSubmitForm()
f.FillByRequest(ctx.Request)
var resubmit bool
if ctx.Get("resubmit") == "true" {
resubmit = true
}
user := ctx.Data["user"].(*models.User)
success, linkId, errorMsgs, _ := models.Link_SaveForm(f, user.Id, resubmit)
if success {
go addLinkForSearch(0, f.CleanValues(), linkId, user.Name) //contextType:0: url, 1:文本 TODO:
return ctx.Redirect(fmt.Sprintf("/link/%d", linkId))
} else if linkId > 0 {
return ctx.Redirect(fmt.Sprintf("/link/%d?already_submitted=true", linkId))
} else {
ctx.ViewData["Errors"] = errorMsgs
ctx.ViewData["Values"] = f.Values()
}
return ctx.View(nil)
}
示例7: actionPopupBoxInfo
/**
* 获取用户信息
* 用于浮动层
*/
func actionPopupBoxInfo(ctx *goku.HttpContext) goku.ActionResulter {
topicName := ctx.Get("t")
topic, _ := models.Topic_GetByName(topicName)
if topic != nil {
return ctx.RenderPartial("pop-info", models.Topic_ToVTopic(topic, ctx))
}
return ctx.Html("")
}
示例8: discover_index
// 发现 首页
func discover_index(ctx *goku.HttpContext) goku.ActionResulter {
ot := ctx.Get("o")
if ot == "" {
ot = "hot"
}
dt, _ := strconv.Atoi(ctx.Get("dt"))
ctx.ViewData["Order"] = ot
links, _ := models.LinkForHome_GetByPage(ot, dt, 1, golink.PAGE_SIZE)
ctx.ViewData["Links"] = models.Link_ToVLink(links, ctx)
ctx.ViewData["TopTab"] = "discover"
ctx.ViewData["HasMoreLink"] = len(links) >= golink.PAGE_SIZE
return ctx.Render("/home/index", nil)
}
示例9: link_showWithComments
func link_showWithComments(ctx *goku.HttpContext, slinkId, scommentId string) goku.ActionResulter {
linkId, err1 := strconv.ParseInt(slinkId, 10, 64)
commentId, err2 := strconv.ParseInt(scommentId, 10, 64)
if err1 != nil || err2 != nil {
ctx.ViewData["errorMsg"] = "参数错误"
return ctx.Render("error", nil)
}
link, err := models.Link_GetById(linkId)
if err != nil {
ctx.ViewData["errorMsg"] = "服务器开小差了 >_<!!"
return ctx.Render("error", nil)
}
if link == nil {
ctx.ViewData["errorMsg"] = "内容不存在,去首页逛逛吧"
return ctx.Render("error", nil)
}
if link.Deleted() {
ctx.ViewData["errorMsg"] = "内容已被摧毁,去首页逛逛吧"
return ctx.Render("error", nil)
}
if !utils.IsSpider(ctx.Request.UserAgent()) {
// 更新链接的评论查看计数
models.Link_IncViewCount(link.Id, 1)
}
vlink := models.Link_ToVLink([]models.Link{*link}, ctx)
sortType := strings.ToLower(ctx.Get("cm_order")) //"hot":热门;"hotc":热议;"time":最新;"vote":得分;"ctvl":"争议"
if sortType == "" {
sortType = "hot"
}
var comments string
if commentId > 0 {
comments = models.GetPermalinkComment(linkId, commentId, sortType)
ctx.ViewData["SubLinkUrl"] = fmt.Sprintf("permacoment/%d/%d/", linkId, commentId)
} else {
comments = models.GetSortComments("", "/", int64(0), linkId, sortType, "", false) //models.Comment_SortForLink(link.Id, "hot")
ctx.ViewData["SubLinkUrl"] = linkId
}
ctx.ViewData["Comments"] = template.HTML(comments)
ctx.ViewData["SortType"] = sortType
ctx.ViewData["SortTypeName"] = ORDER_NAMES[sortType]
return ctx.Render("/link/show", vlink[0])
}
示例10: link_search
//link搜索界面
func link_search(ctx *goku.HttpContext) goku.ActionResulter {
ls := utils.LinkSearch{}
searchResult, err := ls.SearchLink(ctx.Get("term"), 1, golink.PAGE_SIZE)
if err == nil && searchResult.TimedOut == false && searchResult.HitResult.HitArray != nil && len(searchResult.HitResult.HitArray) > 0 {
links, _ := models.Link_GetByIdList(searchResult.HitResult.HitArray)
ctx.ViewData["Links"] = models.Link_ToVLink(links, ctx)
ctx.ViewData["HasMoreLink"] = len(links) >= golink.PAGE_SIZE
} else {
ctx.ViewData["Links"] = nil
ctx.ViewData["HasMoreLink"] = false
}
ctx.ViewData["Term"] = ctx.Get("term")
return ctx.Render("/link/search", nil)
}
示例11: comment_LoadMore
/**
* 加载更多评论
*/
func comment_LoadMore(ctx *goku.HttpContext) goku.ActionResulter {
htmlObject := CommentHtml{""}
exceptIds := ctx.Get("except_ids")
fmt.Println("exceptIds:", exceptIds)
parentPath := ctx.Get("parent_path")
sortType := ctx.Get("sort_type")
topId, err1 := strconv.ParseInt(ctx.Get("top_parent_id"), 10, 64)
linkId, err2 := strconv.ParseInt(ctx.Get("link_id"), 10, 64)
if err1 == nil && err2 == nil {
htmlObject.Html = models.GetSortComments(exceptIds, parentPath, topId, linkId, sortType, "", true)
}
return ctx.Json(htmlObject)
}
示例12: home_index
func home_index(ctx *goku.HttpContext) goku.ActionResulter {
u, ok := ctx.Data["user"]
if !ok || u == nil {
return ctx.Redirect("/discover")
}
user := u.(*models.User)
ot := ctx.Get("o")
if ot == "" {
ot = "hot"
}
ctx.ViewData["Order"] = ot
links, _ := models.Link_ForUser(user.Id, ot, 1, golink.PAGE_SIZE) //models.Link_GetByPage(1, 20)
ctx.ViewData["Links"] = models.Link_ToVLink(links, ctx)
ctx.ViewData["HasMoreLink"] = len(links) >= golink.PAGE_SIZE
return ctx.View(nil)
}
示例13: discover_index
// 发现 首页
func discover_index(ctx *goku.HttpContext) goku.ActionResulter {
ot := ctx.Get("o")
if ot == "" {
ot = "hot"
}
dt, _ := strconv.Atoi(ctx.Get("dt"))
ctx.ViewData["Order"] = ot
links, _ := models.LinkForHome_GetByPage(ot, dt, 1, golink.PAGE_SIZE)
ctx.ViewData["Links"] = models.Link_ToVLink(links, ctx)
ctx.ViewData["TopTab"] = "discover"
ctx.ViewData["HasMoreLink"] = len(links) >= golink.PAGE_SIZE
// 最新链接的未读提醒
var userId, lastReadLinkId int64
unreadCookieName := "newestUnrLinkId"
u, ok := ctx.Data["user"]
if ok && u != nil {
user := u.(*models.User)
userId = user.Id
lastReadLinkId = user.LastReadLinkId
} else {
// 从Cook读取最后一次阅读的链接id
cLastReadLinkId, err := ctx.Request.Cookie(unreadCookieName)
if err == nil {
lastReadLinkId, _ = strconv.ParseInt(cLastReadLinkId.Value, 10, 64)
}
}
if ot == "hot" {
newestUnreadCount, _ := models.NewestLinkUnread_All(userId, lastReadLinkId)
ctx.ViewData["NewestUnreadCount"] = models.NewestLinkUnread_ToString(userId, newestUnreadCount)
} else if ot == "time" && links != nil && len(links) > 0 {
if userId > 0 {
models.NewestLinkUnread_UpdateForAll(userId, links[0].Id)
} else {
c := &http.Cookie{
Name: unreadCookieName,
Value: fmt.Sprintf("%d", links[0].Id),
Expires: time.Now().AddDate(0, 1, 0),
Path: "/",
HttpOnly: true,
}
ctx.SetCookie(c)
}
}
return ctx.Render("/home/index", nil)
}
示例14: admin_del_links
// 删除link
func admin_del_links(ctx *goku.HttpContext) goku.ActionResulter {
var errs string
var ok = false
linkId, err := strconv.ParseInt(ctx.Get("id"), 10, 64)
if err == nil {
err = models.Link_DelById(linkId)
}
if err != nil {
errs = err.Error()
} else {
ok = true
}
r := map[string]interface{}{
"success": ok,
"errors": errs,
}
return ctx.Json(r)
}
示例15: discover_loadMoreLink
// 加载更多link
func discover_loadMoreLink(ctx *goku.HttpContext) goku.ActionResulter {
page, err := strconv.Atoi(ctx.Get("page"))
success, hasmore := false, false
errorMsgs, html := "", ""
if err == nil && page > 1 {
ot := ctx.Get("o")
if ot == "" {
ot = "hot"
}
dt, _ := strconv.Atoi(ctx.Get("dt"))
links, _ := models.LinkForHome_GetByPage(ot, dt, page, golink.PAGE_SIZE)
if links != nil && len(links) > 0 {
ctx.ViewData["Links"] = models.Link_ToVLink(links, ctx)
vr := ctx.RenderPartial("loadmorelink", nil)
vr.Render(ctx, vr.Body)
html = vr.Body.String()
hasmore = len(links) >= golink.PAGE_SIZE
}
success = true
} else {
errorMsgs = "参数错误"
}
r := map[string]interface{}{
"success": success,
"errors": errorMsgs,
"html": html,
"hasmore": hasmore,
}
return ctx.Json(r)
}