From f5708f4e2ef9afda833ab4e89c2ea0391fbf826e Mon Sep 17 00:00:00 2001 From: yxh Date: Mon, 2 Nov 2020 16:02:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96response=E9=87=8D=E7=94=A8?= =?UTF-8?q?=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controller/home/index.go | 12 +++++-- library/response/home/response.go | 14 +++++++-- library/response/response.go | 52 +++++++++++++++++++++++-------- template/cms/index.html | 15 --------- template/cms/list/list.html | 8 ----- template/cms/sitebar/sitebar.html | 20 ------------ 6 files changed, 60 insertions(+), 61 deletions(-) diff --git a/app/controller/home/index.go b/app/controller/home/index.go index db66693..acece65 100644 --- a/app/controller/home/index.go +++ b/app/controller/home/index.go @@ -12,7 +12,7 @@ type Index struct{} // 首页 func (c *Index) Index(r *ghttp.Request) { - home.Response(r, "index.html") + home.WriteTpl(r, "index.html") } // 列表页 @@ -43,7 +43,7 @@ func (c *Index) listInfo(r *ghttp.Request, args ...interface{}) { } else { tmp = "list/list.html" } - home.Response(r, tmp, g.Map{ + home.WriteTpl(r, tmp, g.Map{ "list": list, "pageStyle": r.GetPage(total, pageSize).GetContent(4), "menu": menu, @@ -67,10 +67,16 @@ func (c *Index) Show(r *ghttp.Request) { newsInfo, _ := cms_service.GetNewsById(int(newsId)) newsInfo.NewsHits++ newsInfo.Save() + if newsInfo.IsJump == 1 { + //跳转连接 + home.ResponseInstance.Redirect(r, newsInfo.JumpUrl) + r.Exit() + } cateId := cateIds[0] // 获取当前栏目 menu, _ := cms_service.GetMenuInfoById(cateId) - home.Response(r, menu.ContentTemplate, g.Map{ + + home.WriteTpl(r, menu.ContentTemplate, g.Map{ "content": res[0], "author": res[1], "newsInfo": newsInfo, diff --git a/library/response/home/response.go b/library/response/home/response.go index 068e088..f955fe7 100644 --- a/library/response/home/response.go +++ b/library/response/home/response.go @@ -16,7 +16,17 @@ import ( "github.com/gogf/gf/util/gconv" ) -func Response(r *ghttp.Request, tpl string, params ...gview.Params) error { +type Response struct { + *response.Response +} + +var ResponseInstance Response + +func WriteTpl(r *ghttp.Request, tpl string, params ...gview.Params) error { + return ResponseInstance.WriteTpl(r, tpl, params...) +} + +func (res *Response) WriteTpl(r *ghttp.Request, tpl string, params ...gview.Params) error { v := g.View() v.SetPath("template/cms") //绑定模板中需要用到的方法 @@ -122,5 +132,5 @@ func Response(r *ghttp.Request, tpl string, params ...gview.Params) error { }) //文章参数 params = append(params, g.Map{"newsParams": g.Map{}}) - return response.WriteTpl(r, tpl, v, params...) + return res.Response.WriteTpl(r, tpl, v, params...) } diff --git a/library/response/response.go b/library/response/response.go index a5d4e39..df67bb4 100644 --- a/library/response/response.go +++ b/library/response/response.go @@ -23,9 +23,31 @@ type Response struct { Msg string `json:"msg"` } -// 返回JSON数据并退出当前HTTP执行函数。 +var response *Response + func JsonExit(r *ghttp.Request, code int, msg string, data ...interface{}) { - RJson(r, code, msg, data...) + response.JsonExit(r, code, msg, data...) +} + +func RJson(r *ghttp.Request, code int, msg string, data ...interface{}) { + response.RJson(r, code, msg, data...) +} + +func SusJson(isExit bool, r *ghttp.Request, msg string, data ...interface{}) { + response.SusJson(isExit, r, msg, data...) +} + +func FailJson(isExit bool, r *ghttp.Request, msg string, data ...interface{}) { + response.FailJson(isExit, r, msg, data...) +} + +func WriteTpl(r *ghttp.Request, tpl string, view *gview.View, params ...gview.Params) error { + return response.WriteTpl(r, tpl, view, params...) +} + +// 返回JSON数据并退出当前HTTP执行函数。 +func (res *Response) JsonExit(r *ghttp.Request, code int, msg string, data ...interface{}) { + res.RJson(r, code, msg, data...) r.Exit() } @@ -34,38 +56,38 @@ func JsonExit(r *ghttp.Request, code int, msg string, data ...interface{}) { // code: 状态码(200:成功,302跳转,和http请求状态码一至); // msg: 请求结果信息; // data: 请求结果,根据不同接口返回结果的数据结构不同; -func RJson(r *ghttp.Request, code int, msg string, data ...interface{}) { +func (res *Response) RJson(r *ghttp.Request, code int, msg string, data ...interface{}) { responseData := interface{}(nil) if len(data) > 0 { responseData = data[0] } - result := Response{ + response = &Response{ Code: code, Msg: msg, Data: responseData, } - r.SetParam("apiReturnRes", result) - r.Response.WriteJson(result) + r.SetParam("apiReturnRes", response) + r.Response.WriteJson(response) } //成功返回JSON -func SusJson(isExit bool, r *ghttp.Request, msg string, data ...interface{}) { +func (res *Response) SusJson(isExit bool, r *ghttp.Request, msg string, data ...interface{}) { if isExit { - JsonExit(r, SuccessCode, msg, data...) + res.JsonExit(r, SuccessCode, msg, data...) } - RJson(r, SuccessCode, msg, data...) + res.RJson(r, SuccessCode, msg, data...) } //失败返回JSON -func FailJson(isExit bool, r *ghttp.Request, msg string, data ...interface{}) { +func (res *Response) FailJson(isExit bool, r *ghttp.Request, msg string, data ...interface{}) { if isExit { - JsonExit(r, ErrorCode, msg, data...) + res.JsonExit(r, ErrorCode, msg, data...) } - RJson(r, ErrorCode, msg, data...) + res.RJson(r, ErrorCode, msg, data...) } //模板输出 -func WriteTpl(r *ghttp.Request, tpl string, view *gview.View, params ...gview.Params) error { +func (res *Response) WriteTpl(r *ghttp.Request, tpl string, view *gview.View, params ...gview.Params) error { //绑定模板中需要用到的方法 view.BindFuncMap(g.Map{ // 根据长度i来切割字符串 @@ -107,3 +129,7 @@ func WriteTpl(r *ghttp.Request, tpl string, view *gview.View, params ...gview.Pa }) return r.Response.WriteTpl(tpl, params...) } + +func (res *Response) Redirect(r *ghttp.Request, location string, code ...int) { + r.Response.RedirectTo(location, code...) +} diff --git a/template/cms/index.html b/template/cms/index.html index 1969c9f..1dbcf62 100644 --- a/template/cms/index.html +++ b/template/cms/index.html @@ -47,17 +47,10 @@
${range $index,$article := $listSlide}
- ${if eq $article.IsJump 1} - - -

${$article.NewsTitle}

-
- ${else}

${$article.NewsTitle}

- ${end}
${end}
@@ -74,11 +67,7 @@ ${range $index,$article := $list}

- ${if eq $article.IsJump 1} - ${subStr $article.NewsTitle 24} - ${else} ${subStr $article.NewsTitle 24} - ${end}

@@ -99,11 +88,7 @@
${if ne $article.Thumbnail ""}
- ${if eq $article.IsJump 1} - - ${else} - ${end}
${end}
diff --git a/template/cms/list/list.html b/template/cms/list/list.html index c97baab..fb1fafb 100644 --- a/template/cms/list/list.html +++ b/template/cms/list/list.html @@ -29,11 +29,7 @@ ${range $index,$article := .list}

- ${if eq $article.IsJump 1} - ${subStr $article.NewsTitle 24} - ${else} ${subStr $article.NewsTitle 24} - ${end}

@@ -53,11 +49,7 @@
- ${if eq $article.IsJump 1} - - ${else} - ${end}
diff --git a/template/cms/sitebar/sitebar.html b/template/cms/sitebar/sitebar.html index ff05b84..150ae4a 100644 --- a/template/cms/sitebar/sitebar.html +++ b/template/cms/sitebar/sitebar.html @@ -21,24 +21,14 @@ ${define "sitebar"} ${range $index,$article := $listRec}
  • - ${if eq $article.IsJump 1} - -

    ${subStr $article.NewsTitle 20}

    -
    - ${else}

    ${subStr $article.NewsTitle 20}

    - ${end}
    ${if ne $article.Thumbnail ""}
    - ${if eq $article.IsJump 1} - - ${else} - ${end}
    ${end}
  • @@ -63,24 +53,14 @@ ${define "sitebar"} ${range $index,$article := $listHits}
  • - ${if eq $article.IsJump 1} - -

    ${subStr $article.NewsTitle 20}

    -
    - ${else}

    ${subStr $article.NewsTitle 20}

    - ${end}
    ${if ne $article.Thumbnail ""}
    - ${if eq $article.IsJump 1} - - ${else} - ${end}
    ${end}