本文整理汇总了Golang中github.com/Unknwon/gowalker/modules/middleware.Context.GetCookie方法的典型用法代码示例。如果您正苦于以下问题:Golang Context.GetCookie方法的具体用法?Golang Context.GetCookie怎么用?Golang Context.GetCookie使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/Unknwon/gowalker/modules/middleware.Context
的用法示例。
在下文中一共展示了Context.GetCookie方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: getHistory
// getHistory returns browse history.
func getHistory(ctx *middleware.Context) []*models.PkgInfo {
pairs := strings.Split(ctx.GetCookie("user_history"), "|")
pkgs := make([]*models.PkgInfo, 0, len(pairs))
for _, pair := range pairs {
infos := strings.Split(pair, ":")
if len(infos) != 2 {
continue
}
pid := com.StrTo(infos[0]).MustInt64()
if pid == 0 {
continue
}
pinfo, _ := models.GetPkgInfoById(pid)
if pinfo == nil {
continue
}
pinfo.LastView = com.StrTo(infos[1]).MustInt64()
pkgs = append(pkgs, pinfo)
}
return pkgs
}
示例2: updateHistory
// updateHistory updates browser history.
func updateHistory(ctx *middleware.Context, id int64) {
pairs := make([]string, 1, 10)
pairs[0] = com.ToStr(id) + ":" + com.ToStr(time.Now().UTC().Unix())
count := 0
for _, pair := range strings.Split(ctx.GetCookie("user_history"), "|") {
infos := strings.Split(pair, ":")
if len(infos) != 2 {
continue
}
pid := com.StrTo(infos[0]).MustInt64()
if pid == 0 || pid == id {
continue
}
pairs = append(pairs, pair)
count++
if count == 9 {
break
}
}
ctx.SetCookie("user_history", strings.Join(pairs, "|"), 9999999)
}