Golang框架Gin入门实战–(6)Gin路由文件抽离
main.go
代码语言:javascript复制package main
import (
"GINDEMO/routers"
"fmt"
"html/template"
"time"
"github.com/gin-gonic/gin"
)
func UnixToTime(timestamp int) string {
fmt.Println(timestamp)
t := time.Unix(int64(timestamp), 0)
return t.Format("2006-01-02 15:04:05")
}
func main() {
//创建一个默认的路由引擎
r := gin.Default()
//自定义模板函数 注意要把这个函数放在加载模板前
r.SetFuncMap(template.FuncMap{
"UnixToTime": UnixToTime,
})
//加载模板
r.LoadHTMLGlob("templates/**/*")
//配置静态web目录
r.Static("/xxx", "./static")
routers.AdminRoutersInit(r)
routers.ApiRoutersInit(r)
routers.DefaultRoutersInit(r)
// }
r.Run()
}
templates/default/index.html
代码语言:javascript复制{{define "default/index.html"}}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>我是一个首页</h1>
<br>
<br>
{{.msg}}
</body>
</html>
{{end}}
GINDEMO目录下创建一个routers目录 并在routers目录下创建三个go文件 adminRouters.go
代码语言:javascript复制package routers
import "github.com/gin-gonic/gin"
func AdminRoutersInit(r *gin.Engine) {
adminRouters := r.Group("/admin")
{
adminRouters.GET("/", func(c *gin.Context) {
c.String(200, "后台首页")
})
adminRouters.GET("/user", func(c *gin.Context) {
c.String(200, "用户列表")
})
adminRouters.GET("/user/add", func(c *gin.Context) {
c.String(200, "增加用户")
})
adminRouters.GET("/user/edit", func(c *gin.Context) {
c.String(200, "修改")
})
adminRouters.GET("/article", func(c *gin.Context) {
c.String(200, "新闻列表")
})
}
}
apiRouters.go
代码语言:javascript复制package routers
import "github.com/gin-gonic/gin"
func ApiRoutersInit(r *gin.Engine) {
apiRouters := r.Group("/api")
{
apiRouters.GET("/", func(c *gin.Context) {
c.String(200, "我是一个api接口")
})
apiRouters.GET("/userlist", func(c *gin.Context) {
c.String(200, "我是一个api接口--userliat")
})
apiRouters.GET("/plist", func(c *gin.Context) {
c.String(200, "我是一个api接口--plist")
})
}
}
defaultRouters.go
代码语言:javascript复制package routers
import "github.com/gin-gonic/gin"
func DefaultRoutersInit(r *gin.Engine) {
defaultRouters := r.Group("/")
{
defaultRouters.GET("/", func(c *gin.Context) {
c.HTML(200, "default/index.html", gin.H{
"msg": "我是一个msg",
})
})
defaultRouters.GET("/news", func(c *gin.Context) {
c.String(200, "新闻")
})
}
}