github.com/zhongdalu/gf@v1.0.0/geg/util/gpage/gpage_custom1.go (about)

     1  package main
     2  
     3  import (
     4  	"github.com/zhongdalu/gf/g"
     5  	"github.com/zhongdalu/gf/g/net/ghttp"
     6  	"github.com/zhongdalu/gf/g/os/gview"
     7  	"github.com/zhongdalu/gf/g/text/gstr"
     8  	"github.com/zhongdalu/gf/g/util/gpage"
     9  )
    10  
    11  // 分页标签使用li标签包裹
    12  func wrapContent(page *gpage.Page) string {
    13  	content := page.GetContent(4)
    14  	content = gstr.ReplaceByMap(content, map[string]string{
    15  		"<span":  "<li><span",
    16  		"/span>": "/span></li>",
    17  		"<a":     "<li><a",
    18  		"/a>":    "/a></li>",
    19  	})
    20  	return "<ul>" + content + "</ul>"
    21  }
    22  
    23  func main() {
    24  	s := ghttp.GetServer()
    25  	s.BindHandler("/page/custom1/*page", func(r *ghttp.Request) {
    26  		page := gpage.New(100, 10, r.Get("page"), r.URL.String(), r.Router)
    27  		content := wrapContent(page)
    28  		buffer, _ := gview.ParseContent(`
    29          <html>
    30              <head>
    31                  <style>
    32                      a,span {padding:8px; font-size:16px;}
    33                      div{margin:5px 5px 20px 5px}
    34                  </style>
    35              </head>
    36              <body>
    37                  <div>{{.page}}</div>
    38              </body>
    39          </html>
    40          `, g.Map{
    41  			"page": content,
    42  		})
    43  		r.Response.Write(buffer)
    44  	})
    45  	s.SetPort(10000)
    46  	s.Run()
    47  }