76 lines
3.6 KiB
Smarty
76 lines
3.6 KiB
Smarty
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}}
|
||
}
|