index.go 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package home
  2. import (
  3. "gfast/app/model/admin/cms_news"
  4. "gfast/app/service/admin/cms_service"
  5. "gfast/library/response/home"
  6. "github.com/gogf/gf/frame/g"
  7. "github.com/gogf/gf/net/ghttp"
  8. )
  9. type Index struct{}
  10. // 首页
  11. func (c *Index) Index(r *ghttp.Request) {
  12. home.WriteTpl(r, "index.html")
  13. }
  14. // 列表页
  15. func (c *Index) List(r *ghttp.Request) {
  16. c.listInfo(r)
  17. }
  18. func (c *Index) listInfo(r *ghttp.Request, args ...interface{}) {
  19. keyWords := r.GetString("keyWords")
  20. cateId := r.GetInt("cateId")
  21. pageNum := r.GetInt("page")
  22. var pageSize int = 6
  23. total, _, list, err := cms_service.NewsListByPage(&cms_news.ReqListSearchParams{
  24. CateId: []int{cateId},
  25. NewsStatus: "1",
  26. PageSize: pageSize,
  27. PageNum: pageNum,
  28. KeyWords: keyWords,
  29. })
  30. if err != nil {
  31. g.Log().Error(err)
  32. }
  33. // 获取当前栏目
  34. menu, _ := cms_service.GetMenuInfoById(cateId)
  35. tmp := ""
  36. if len(args) == 0 {
  37. tmp = menu.ListTemplate
  38. } else {
  39. tmp = "list/list.html"
  40. }
  41. home.WriteTpl(r, tmp, g.Map{
  42. "list": list,
  43. "pageStyle": r.GetPage(total, pageSize).GetContent(4),
  44. "menu": menu,
  45. "showPage": total > pageSize,
  46. "keyWords": keyWords,
  47. })
  48. }
  49. // 内容页
  50. func (c *Index) Show(r *ghttp.Request) {
  51. //获取栏目ID
  52. cateIds := r.GetInts("cateIds")
  53. //文章id
  54. newsId := r.GetInt64("newsId")
  55. // 查询文章内容
  56. res, err := cms_service.GetModelFieldsByCateIds(r, cateIds, newsId) //文章附加字段
  57. if err != nil {
  58. g.Log().Error(err)
  59. }
  60. // 查询文章信息
  61. newsInfo, _ := cms_service.GetNewsById(int(newsId))
  62. newsInfo.NewsHits++
  63. newsInfo.Save()
  64. if newsInfo.IsJump == 1 {
  65. //跳转连接
  66. home.ResponseInstance.Redirect(r, newsInfo.JumpUrl)
  67. r.Exit()
  68. }
  69. cateId := cateIds[0]
  70. // 获取当前栏目
  71. menu, _ := cms_service.GetMenuInfoById(cateId)
  72. home.WriteTpl(r, menu.ContentTemplate, g.Map{
  73. "content": res[0],
  74. "author": res[1],
  75. "newsInfo": newsInfo,
  76. "menu": menu,
  77. })
  78. }
  79. func (c *Index) Search(r *ghttp.Request) {
  80. c.listInfo(r, "search")
  81. }