feat(router): 添加管理员路由中间件支持

- 在admin路由组中集成InitMiddleware中间件
- middleware包新增InitMiddleware实现用户身份设置与请求日志打印
- 管理员控制器Index方法增加从上下文获取用户名的逻辑并打印
- 主程序中初始化admin、api和default路由
- 修正default路由初始化时的代码格式问题
This commit is contained in:
2026-02-22 13:42:58 +08:00
parent 32dae8712c
commit b7b0c32e82
5 changed files with 41 additions and 3 deletions

View File

@@ -1,12 +1,18 @@
package admin package admin
import "github.com/gin-gonic/gin" import (
"fmt"
"github.com/gin-gonic/gin"
)
type IndexController struct { type IndexController struct {
} }
func (con IndexController) Index(c *gin.Context) { 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) { func (con IndexController) Plist(c *gin.Context) {

View File

@@ -1,6 +1,8 @@
package main package main
import ( import (
"awesomeProject/router"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
) )
@@ -15,6 +17,12 @@ func main() {
// 配置静态文件目录,将./static目录映射到URL路径/static // 配置静态文件目录,将./static目录映射到URL路径/static
r.Static("/static", "./static") r.Static("/static", "./static")
router.AdminRouterInit(r)
router.ApiRouterInit(r)
router.DefaultRouterInit(r)
// 启动HTTP服务器监听在8081端口 // 启动HTTP服务器监听在8081端口
err := r.Run(":8088") err := r.Run(":8088")
if err != nil { if err != nil {

22
middleware/init.go Normal file
View File

@@ -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)
}()
}

View File

@@ -2,12 +2,13 @@ package router
import ( import (
"awesomeProject/controller/admin" "awesomeProject/controller/admin"
"awesomeProject/middleware"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
) )
func AdminRouterInit(r *gin.Engine) { func AdminRouterInit(r *gin.Engine) {
adminRouter := r.Group("/admin") adminRouter := r.Group("/admin", middleware.InitMiddleware)
{ {
adminRouter.GET("", admin.IndexController{}.Index) adminRouter.GET("", admin.IndexController{}.Index)

View File

@@ -8,6 +8,7 @@ import (
func DefaultRouterInit(r *gin.Engine) { func DefaultRouterInit(r *gin.Engine) {
defaultRouter := r.Group("/") defaultRouter := r.Group("/")
{ {
defaultRouter.GET("", nannanwu.DefaultController{}.Index) defaultRouter.GET("", nannanwu.DefaultController{}.Index)
defaultRouter.GET("/article", nannanwu.DefaultController{}.Article) defaultRouter.GET("/article", nannanwu.DefaultController{}.Article)