Initial commit

This commit is contained in:
2026-02-12 14:31:30 +08:00
commit e01cdc9889
25 changed files with 3227 additions and 0 deletions

55
routes/routes.go Normal file
View File

@@ -0,0 +1,55 @@
package routes
import (
"github.com/gin-gonic/gin"
"git.beifan.cn/trace-system/backend-go/controllers"
"git.beifan.cn/trace-system/backend-go/middleware"
)
// SetupRoutes 设置路由
func SetupRoutes(r *gin.Engine) {
// 健康检查
r.GET("/api/health", func(c *gin.Context) {
c.JSON(200, gin.H{
"status": "ok",
"message": "服务器运行正常",
})
})
}
// SetupAPIRoutes 设置 API 路由
func SetupAPIRoutes(r *gin.RouterGroup) {
// 认证路由
authController := controllers.NewAuthController()
authRoutes := r.Group("/auth")
{
authRoutes.POST("/login", authController.Login)
authRoutes.GET("/profile", middleware.JWTAuthMiddleware(), authController.GetProfile)
authRoutes.PUT("/profile", middleware.JWTAuthMiddleware(), authController.UpdateProfile)
authRoutes.POST("/change-password", middleware.JWTAuthMiddleware(), authController.ChangePassword)
}
// 序列号路由
serialsController := controllers.NewSerialsController()
serialsRoutes := r.Group("/serials")
{
serialsRoutes.POST("/generate", middleware.JWTAuthMiddleware(), middleware.AdminMiddleware(), serialsController.Generate)
serialsRoutes.POST("/generate-with-prefix", middleware.JWTAuthMiddleware(), middleware.AdminMiddleware(), serialsController.GenerateWithPrefix)
serialsRoutes.POST("/:serialNumber/qrcode", middleware.JWTAuthMiddleware(), serialsController.GenerateQRCode)
serialsRoutes.GET("/:serialNumber/query", serialsController.Query)
serialsRoutes.GET("/", middleware.JWTAuthMiddleware(), serialsController.FindAll)
serialsRoutes.PUT("/:serialNumber", middleware.JWTAuthMiddleware(), middleware.AdminMiddleware(), serialsController.Update)
serialsRoutes.POST("/:serialNumber/revoke", middleware.JWTAuthMiddleware(), middleware.AdminMiddleware(), serialsController.Revoke)
}
// 企业管理路由
companiesController := controllers.NewCompaniesController()
companiesRoutes := r.Group("/companies")
{
companiesRoutes.GET("/", middleware.JWTAuthMiddleware(), companiesController.FindAll)
companiesRoutes.POST("/", middleware.JWTAuthMiddleware(), middleware.AdminMiddleware(), companiesController.Create)
companiesRoutes.PUT("/:companyName", middleware.JWTAuthMiddleware(), middleware.AdminMiddleware(), companiesController.Update)
companiesRoutes.DELETE("/:companyName", middleware.JWTAuthMiddleware(), middleware.AdminMiddleware(), companiesController.Delete)
}
}