From b7b0c32e8210fdb90986ac4632415ec88117bef3 Mon Sep 17 00:00:00 2001 From: nannanwu Date: Sun, 22 Feb 2026 13:42:58 +0800 Subject: [PATCH] =?UTF-8?q?feat(router):=20=E6=B7=BB=E5=8A=A0=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=91=98=E8=B7=AF=E7=94=B1=E4=B8=AD=E9=97=B4=E4=BB=B6?= =?UTF-8?q?=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在admin路由组中集成InitMiddleware中间件 - middleware包新增InitMiddleware实现用户身份设置与请求日志打印 - 管理员控制器Index方法增加从上下文获取用户名的逻辑并打印 - 主程序中初始化admin、api和default路由 - 修正default路由初始化时的代码格式问题 --- controller/admin/indexController.go | 10 ++++++++-- main.go | 8 ++++++++ middleware/init.go | 22 ++++++++++++++++++++++ router/adminRouter.go | 3 ++- router/defaultRouter.go | 1 + 5 files changed, 41 insertions(+), 3 deletions(-) create mode 100644 middleware/init.go diff --git a/controller/admin/indexController.go b/controller/admin/indexController.go index d26c457..4febb2e 100644 --- a/controller/admin/indexController.go +++ b/controller/admin/indexController.go @@ -1,12 +1,18 @@ package admin -import "github.com/gin-gonic/gin" +import ( + "fmt" + + "github.com/gin-gonic/gin" +) type IndexController struct { } func (con IndexController) Index(c *gin.Context) { - c.String(200, "管理员用户列表") + username, _ := c.Get("user") + fmt.Println(username) + c.String(200, "管理员用户列表 %v", username) } func (con IndexController) Plist(c *gin.Context) { diff --git a/main.go b/main.go index b0fc648..ab1ee49 100644 --- a/main.go +++ b/main.go @@ -1,6 +1,8 @@ package main import ( + "awesomeProject/router" + "github.com/gin-gonic/gin" ) @@ -15,6 +17,12 @@ func main() { // 配置静态文件目录,将./static目录映射到URL路径/static r.Static("/static", "./static") + router.AdminRouterInit(r) + + router.ApiRouterInit(r) + + router.DefaultRouterInit(r) + // 启动HTTP服务器,监听在8081端口 err := r.Run(":8088") if err != nil { diff --git a/middleware/init.go b/middleware/init.go new file mode 100644 index 0000000..01e4b84 --- /dev/null +++ b/middleware/init.go @@ -0,0 +1,22 @@ +package middleware + +import ( + "fmt" + "time" + + "github.com/gin-gonic/gin" +) + +func InitMiddleware(c *gin.Context) { + //判断是否登录 + fmt.Println(time.Now()) + fmt.Println(c.Request.URL.Path) + c.Set("user", "张三") + + //定义goroutine统计 + cCp := c.Copy() + go func() { + time.Sleep(1 * time.Second) + fmt.Println("统计信息" + cCp.Request.URL.Path) + }() +} diff --git a/router/adminRouter.go b/router/adminRouter.go index 1782563..35f5012 100644 --- a/router/adminRouter.go +++ b/router/adminRouter.go @@ -2,12 +2,13 @@ package router import ( "awesomeProject/controller/admin" + "awesomeProject/middleware" "github.com/gin-gonic/gin" ) func AdminRouterInit(r *gin.Engine) { - adminRouter := r.Group("/admin") + adminRouter := r.Group("/admin", middleware.InitMiddleware) { adminRouter.GET("", admin.IndexController{}.Index) diff --git a/router/defaultRouter.go b/router/defaultRouter.go index e0b8dbf..19cece7 100644 --- a/router/defaultRouter.go +++ b/router/defaultRouter.go @@ -8,6 +8,7 @@ import ( func DefaultRouterInit(r *gin.Engine) { defaultRouter := r.Group("/") + { defaultRouter.GET("", nannanwu.DefaultController{}.Index) defaultRouter.GET("/article", nannanwu.DefaultController{}.Article)