From 09e6e02c140039f8905f1b2c2db05f018a77e651 Mon Sep 17 00:00:00 2001 From: John Date: Mon, 23 Apr 2018 11:20:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84gpage=E7=A4=BA=E4=BE=8B?= =?UTF-8?q?=EF=BC=8CREADME=20updates?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.MD | 5 +++++ g/net/ghttp/http_server.go | 2 +- g/net/ghttp/http_server_log.go | 5 ++--- g/util/gpage/gpage.go | 15 +++++++++++---- geg/util/gpage/gpage_ajax.go | 8 ++++++++ geg/util/gpage/gpage_custom.go | 4 ++-- 6 files changed, 29 insertions(+), 10 deletions(-) diff --git a/README.MD b/README.MD index 5d452cece..24ae762d0 100644 --- a/README.MD +++ b/README.MD @@ -51,6 +51,11 @@ gf是一款模块化、松耦合、轻量级、高性能的Web开发框架。开 * [单例管理](http://gf.johng.cn/494377) * [数据校验](http://gf.johng.cn/494378) * [分页管理](http://gf.johng.cn/597381) + * [基本介绍](http://gf.johng.cn/597431) + * [动态分页](http://gf.johng.cn/597432) + * [静态分页](http://gf.johng.cn/597433) + * [Ajax分页](http://gf.johng.cn/597434) + * [自定义分页](http://gf.johng.cn/597435) * [模板引擎](http://gf.johng.cn/494379) * [使用方法](http://gf.johng.cn/591642) * [基本语法](http://gf.johng.cn/591643) diff --git a/g/net/ghttp/http_server.go b/g/net/ghttp/http_server.go index 7f2b5ffad..59a6ff858 100644 --- a/g/net/ghttp/http_server.go +++ b/g/net/ghttp/http_server.go @@ -114,7 +114,7 @@ func GetServer(name...interface{}) (*Server) { closeQueue : gqueue.New(), logPath : gtype.NewString(), accessLogEnabled : gtype.NewBool(), - errorLogEnabled : gtype.NewBool(), + errorLogEnabled : gtype.NewBool(true), accessLogger : glog.New(), errorLogger : glog.New(), logHandler : gtype.NewInterface(), diff --git a/g/net/ghttp/http_server_log.go b/g/net/ghttp/http_server_log.go index 8c73c6666..38a1d1a5f 100644 --- a/g/net/ghttp/http_server_log.go +++ b/g/net/ghttp/http_server_log.go @@ -41,8 +41,7 @@ func (s *Server) handleErrorLog(error interface{}, r *Request) { return } - content := fmt.Sprintf(`"%s %s %s %s"`, r.Method, r.Host, r.URL.String(), r.Proto) - content += fmt.Sprintf(`, %s, "%s", "%s"`, r.GetClientIp(), r.Referer(), r.UserAgent()) - content += fmt.Sprintf(`, %v`, error) + content := fmt.Sprintf(`%v, "%s %s %s %s"`, error, r.Method, r.Host, r.URL.String(), r.Proto) + content += fmt.Sprintf(`, %s, "%s", "%s"`, r.GetClientIp(), r.Referer(), r.UserAgent()) s.errorLogger.Error(content) } diff --git a/g/util/gpage/gpage.go b/g/util/gpage/gpage.go index a022d7400..cf274603f 100644 --- a/g/util/gpage/gpage.go +++ b/g/util/gpage/gpage.go @@ -47,10 +47,14 @@ func New(TotalSize, perPage int, CurrentPage interface{}, url string, route...s NextBar : ">>", TotalSize : TotalSize, TotalPage : int(math.Ceil(float64(TotalSize/perPage))), - CurrentPage : gconv.Int(CurrentPage), + CurrentPage : 1, PageBarNum : 10, Url : u, } + curPage := gconv.Int(CurrentPage) + if curPage > 0 { + page.CurrentPage = curPage + } if len(route) > 0 { page.Route = route[0] } @@ -247,9 +251,12 @@ func (page *Page) GetUrl(pageNo int) string { } // 替换url.Path中的分页码 if index != -1 { - array := strings.Split(page.Url.Path, "/") - array[index] = gconv.String(pageNo) - url.Path = strings.Join(array, "/") + pathArray := strings.Split(page.Url.Path, "/") + for i := 0; i <= index - len(pathArray); i++ { + pathArray = append(pathArray, "") + } + pathArray[index] = gconv.String(pageNo) + url.Path = strings.TrimRight(strings.Join(pathArray, "/"), "/") return url.String() } } diff --git a/geg/util/gpage/gpage_ajax.go b/geg/util/gpage/gpage_ajax.go index 2d1286d41..ad587c411 100644 --- a/geg/util/gpage/gpage_ajax.go +++ b/geg/util/gpage/gpage_ajax.go @@ -19,6 +19,14 @@ func main() { a,span {padding:8px; font-size:16px;} div{margin:5px 5px 20px 5px} + +
{{.page}}
diff --git a/geg/util/gpage/gpage_custom.go b/geg/util/gpage/gpage_custom.go index cac2f1c1e..6a70883e0 100644 --- a/geg/util/gpage/gpage_custom.go +++ b/geg/util/gpage/gpage_custom.go @@ -24,7 +24,7 @@ func pageContent(page *gpage.Page) string { func main() { s := ghttp.GetServer() s.BindHandler("/page/custom/*page", func(r *ghttp.Request){ - page := gpage.New(100, 10, r.Get("page"), r.URL.String(), r.Router.Uri) + page := gpage.New(100, 10, r.Get("page"), r.URL.String(), r.Router.Uri) buffer, _ := gview.ParseContent(` @@ -42,6 +42,6 @@ func main() { }) r.Response.Write(buffer) }) - s.SetPort(8199) + s.SetPort(10000) s.Run() } \ No newline at end of file