github.com/qiuhoude/go-web@v0.0.0-20220223060959-ab545e78f20d/blogweb_gin/routers/router.go (about)

     1  package routers
     2  
     3  import (
     4  	"github.com/gin-contrib/sessions"
     5  	"github.com/gin-contrib/sessions/cookie"
     6  	"github.com/gin-gonic/gin"
     7  	"github.com/qiuhoude/go-web/blogweb_gin/controllers"
     8  )
     9  
    10  func InitRouter() *gin.Engine {
    11  	router := gin.Default()
    12  	router.LoadHTMLGlob("views/*")
    13  
    14  	// 静态文件
    15  	//router.StaticFS("/static",http.Dir("static"))
    16  	router.Static("/static", "./static")
    17  
    18  	//设置session 中间件
    19  	store := cookie.NewStore([]byte(controllers.SessionStoreKey))
    20  	router.Use(sessions.Sessions(controllers.SessionKey, store))
    21  	{
    22  		//注册
    23  		router.GET("/register", controllers.IsLoginMiddle, controllers.RegisterGet)
    24  		router.POST("/register", controllers.RegisterPost)
    25  
    26  		//登录
    27  		router.GET("/login", controllers.IsLoginMiddle, controllers.LoginGet)
    28  		router.POST("/login", controllers.LoginPost)
    29  
    30  		// 首页
    31  		router.GET("/", controllers.HomeGet)
    32  		// 退出
    33  		router.GET("/exit", controllers.ExitGet)
    34  
    35  		// 路由组
    36  		v1 := router.Group("/article")
    37  		{
    38  			//添加文章
    39  			v1.GET("/add", controllers.NeedLoginMiddle, controllers.AddArticleGet)
    40  			v1.POST("/add", controllers.NeedLoginMiddle, controllers.AddArticlePost)
    41  
    42  			// 显示文章
    43  			v1.GET("/show/:id", controllers.ShowArticleGet)
    44  
    45  			//更新文章
    46  			v1.GET("/update", controllers.NeedLoginMiddle, controllers.UpdateArticleGet)
    47  			v1.POST("/update", controllers.NeedLoginMiddle, controllers.UpdateArticlePost)
    48  
    49  			//删除文章
    50  			v1.GET("/delete", controllers.NeedLoginMiddle, controllers.DeleteArticleGet)
    51  		}
    52  		router.GET("/tags", controllers.TagsGet)
    53  
    54  		router.GET("/album", controllers.AlbumGet)
    55  		// 文件上传
    56  		router.POST("/upload", controllers.UpladPost)
    57  		//关于我
    58  		router.GET("/aboutme", controllers.AboutMeGet)
    59  	}
    60  	return router
    61  }