1234567891011121314151617181920212223242526272829303132333435363738394041 |
- package routes
- import (
- "net/http"
- "github.com/toolkits/str"
- "github.com/toolkits/web"
- "github.com/710leo/urlooker/modules/web/http/errors"
- "github.com/710leo/urlooker/modules/web/http/param"
- "github.com/710leo/urlooker/modules/web/http/render"
- "github.com/710leo/urlooker/modules/web/model"
- )
- func HomeIndex(w http.ResponseWriter, r *http.Request) {
- me := MeRequired(LoginRequired(w, r))
- username := me.Name
- mine := param.Int(r, "mine", 1)
- query := param.String(r, "q", "")
- if str.HasDangerousCharacters(query) {
- errors.Panic("查询字符不合法")
- }
- if IsAdmin(username) {
- mine = 0
- }
- limit := param.Int(r, "limit", 10)
- total, err := model.GetAllStrategyCount(mine, query, username)
- errors.MaybePanic(err)
- pager := web.NewPaginator(r, limit, total)
- strategies, err := model.GetAllStrategy(mine, limit, pager.Offset(), query, username)
- errors.MaybePanic(err)
- render.Put(r, "Strategies", strategies)
- render.Put(r, "Pager", pager)
- render.Put(r, "Mine", mine)
- render.Put(r, "Query", query)
- render.HTML(r, w, "home/index")
- }
|