package {{.Package}} import ( {{- if not .OnlyTemplate}} "{{.Module}}/internal/server/middleware" {{- else}} // "{{.Module}}/internal/server/middleware" {{- end}} "{{.Module}}/internal/server/handler/{{.Package}}" "github.com/gin-gonic/gin" ) // {{.StructName}}Router {{.Description}}路由 // 负责注册 {{.Description}} 相关的 HTTP 路由 type {{.StructName}}Router struct { handler *{{.Package}}.{{.StructName}}Handler } // New{{.StructName}}Router 创建{{.Description}}路由 // @param handler {{.Description}}处理器 func New{{.StructName}}Router(handler *{{.Package}}.{{.StructName}}Handler) *{{.StructName}}Router { return &{{.StructName}}Router{handler: handler} } // Init{{.StructName}}Router 初始化 {{.Description}} 路由信息 // @param Router 需要认证的路由组 // @param PublicRouter 公开路由组(不需要认证) func (r *{{.StructName}}Router) Init{{.StructName}}Router(Router *gin.RouterGroup, PublicRouter *gin.RouterGroup) { {{- if not .OnlyTemplate}} // 需要认证 + 操作记录的路由组(用于写操作:创建、更新、删除) {{.Abbreviation}}Router := Router.Group("{{.Abbreviation}}").Use(middleware.OperationRecord()) // 需要认证但不记录操作的路由组(用于读操作:查询、列表) {{.Abbreviation}}RouterWithoutRecord := Router.Group("{{.Abbreviation}}") {{- else}} // {{.Abbreviation}}Router := Router.Group("{{.Abbreviation}}").Use(middleware.OperationRecord()) // {{.Abbreviation}}RouterWithoutRecord := Router.Group("{{.Abbreviation}}") {{- end}} // 公开路由组(不需要认证) {{.Abbreviation}}RouterWithoutAuth := PublicRouter.Group("{{.Abbreviation}}") {{- if not .OnlyTemplate}} // ==================== 需要认证 + 操作记录的路由 ==================== // 这些路由会记录操作日志,用于审计和追踪 { {{.Abbreviation}}Router.POST("create{{.StructName}}", r.handler.Create{{.StructName}}) // 新建{{.Description}} {{.Abbreviation}}Router.DELETE("delete{{.StructName}}", r.handler.Delete{{.StructName}}) // 删除{{.Description}} {{.Abbreviation}}Router.DELETE("delete{{.StructName}}ByIds", r.handler.Delete{{.StructName}}ByIds) // 批量删除{{.Description}} {{.Abbreviation}}Router.PUT("update{{.StructName}}", r.handler.Update{{.StructName}}) // 更新{{.Description}} } // ==================== 需要认证但不记录操作的路由 ==================== // 这些路由是只读操作,不需要记录操作日志 { {{.Abbreviation}}RouterWithoutRecord.GET("find{{.StructName}}", r.handler.Find{{.StructName}}) // 根据ID获取{{.Description}} {{.Abbreviation}}RouterWithoutRecord.GET("get{{.StructName}}List", r.handler.Get{{.StructName}}List) // 获取{{.Description}}列表 } // ==================== 公开路由(不需要认证) ==================== // 这些路由可以被任何人访问,不需要登录 { {{- if .HasDataSource}} {{.Abbreviation}}RouterWithoutAuth.GET("get{{.StructName}}DataSource", r.handler.Get{{.StructName}}DataSource) // 获取{{.Description}}数据源 {{- end}} {{.Abbreviation}}RouterWithoutAuth.GET("get{{.StructName}}Public", r.handler.Get{{.StructName}}Public) // {{.Description}}开放接口 } {{- else}} // ==================== 公开路由(不需要认证) ==================== { {{- if .HasDataSource}} {{.Abbreviation}}RouterWithoutAuth.GET("get{{.StructName}}DataSource", r.handler.Get{{.StructName}}DataSource) // 获取{{.Description}}数据源 {{- end}} {{.Abbreviation}}RouterWithoutAuth.GET("get{{.StructName}}Public", r.handler.Get{{.StructName}}Public) // {{.Description}}开放接口 } {{- end}} }