golang语言-基于gin框架的web端博客系统(1)

本项目将使用go语言的gin框架,搭建web端的博客系统,将使用到,MySQL数据库存储博客数据, docker部署项目,项目将用到gin框架的各个功能。

web服务搭建步骤

a、路由引擎初始化

b、静态文件加载

c、解析文件

d、启动路由/路由组

1、路由引擎初始化

import (
   "blog_gin/common"
   "github.com/gin-gonic/gin"
   "html/template"
)

func InitRouter()*gin.Engine{
   ru:=gin.Default()
   //解析文件之前要加载静态文件‘
   ru.Static("/resource","./public/resource")
   //应用模板函数  在解析之前加上
   ru.SetFuncMap(template.FuncMap{
      "isODD": common.IsODD,
      "getNextName": common.GetNextName,
      "date": common.Date,
      "dateDay": common.DateDay,
   })
   ru.LoadHTMLGlob("./template/*")
   return  ru
}

2、主界面搭建,主界面用于展示各部分功能,和常规布局

在项目中主要有两种功能的路由,是用于界面展示的和功能服务的路由

模拟单例模式,对两种功能建立结构体

package views
var Html =&HTMLApi{}
//获取各种页面
type HTMLApi struct {

}

上述结构体用于页面的调用,和反馈给前端页面数据使用,用于页面展示的路由将定义为这个结构体的函数。

package api

//view  是获取页面   api就是获取数据对数据的操作
var API = &Api{}

type Api struct {
}

反馈给前端的json数据,对数据操作的函数将绑定在这个结构体函数上。

ru.GET("/", views.Html.Index)

获取主界面:

func (*HTMLApi) Index(c *gin.Context) {

   //获取表单
   pageStr := c.Param("page")
   page := 1
   if pageStr != "" {
      page, _ = strconv.Atoi(pageStr)
   }
   //每页显示的数量
   pageSize := 10
   //去数据库获取需要的数据
   pathurl := c.Request.RequestURI
   slug := strings.TrimPrefix(pathurl, "/")

   var err error
   var hr *models.HomeResponse

   hr, err = service.GetAllIndexInfo(slug, page, pageSize)

   if err != nil {
      log.Println(er
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值