1
0

home.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package controllers
  2. import (
  3. "github.com/astaxie/beego"
  4. "github.com/lifei6671/mindoc/models"
  5. "github.com/lifei6671/mindoc/utils"
  6. "math"
  7. )
  8. type HomeController struct {
  9. BaseController
  10. }
  11. func (c *HomeController) Index() {
  12. c.Prepare()
  13. c.TplName = "home/index.tpl"
  14. //如果没有开启匿名访问,则跳转到登录页面
  15. if !c.EnableAnonymous && c.Member == nil {
  16. c.Redirect(beego.URLFor("AccountController.Login"),302)
  17. }
  18. pageIndex,_ := c.GetInt("page",1)
  19. pageSize := 18
  20. member_id := 0
  21. if c.Member != nil {
  22. member_id = c.Member.MemberId
  23. }
  24. books,totalCount,err := models.NewBook().FindForHomeToPager(pageIndex,pageSize,member_id)
  25. if err != nil {
  26. beego.Error(err)
  27. c.Abort("500")
  28. }
  29. if totalCount > 0 {
  30. html := utils.GetPagerHtml(c.Ctx.Request.RequestURI, pageIndex, pageSize, totalCount)
  31. c.Data["PageHtml"] = html
  32. }else {
  33. c.Data["PageHtml"] = ""
  34. }
  35. c.Data["TotalPages"] = int(math.Ceil(float64(totalCount) / float64(pageSize)))
  36. c.Data["Lists"] = books
  37. labels ,totalCount,err := models.NewLabel().FindToPager(1,10)
  38. if err != nil {
  39. c.Data["Labels"] = make([]*models.Label,0)
  40. }else{
  41. c.Data["Labels"] = labels
  42. }
  43. }