first commit

This commit is contained in:
何昌清
2026-03-26 22:13:03 +08:00
parent bbe1faa363
commit a2685f7f1e
51 changed files with 11244 additions and 0 deletions

26
routes/common_routes.go Normal file
View File

@@ -0,0 +1,26 @@
// Package routes/user_routes.go
package routes
import (
"Quincy_admin/controllers"
"Quincy_admin/middle"
"Quincy_admin/repositories"
"Quincy_admin/services"
"github.com/gin-gonic/gin"
"github.com/jmoiron/sqlx"
)
func SetupCommonRoutes(router *gin.RouterGroup, db *sqlx.DB, m *middle.AuthMiddleware) {
// 初始化用户模块依赖
conRepo := repositories.NewCommonRepository(db)
conService := services.NewCommonService(conRepo)
conController := controllers.NewCommonController(conService)
system := router.Group("/system")
{
system.POST("/log/login/list", m.Auth(), conController.GetLoginLogList)
system.GET("/log/download", conController.DownloadLogFile)
system.GET("/log/view", m.Auth(), conController.ViewLogFile)
}
}

31
routes/cron_routes.go Normal file
View File

@@ -0,0 +1,31 @@
// Package routes/cron_routes.go
package routes
import (
"Quincy_admin/controllers"
"Quincy_admin/crontask"
"Quincy_admin/middle"
"Quincy_admin/repositories"
"Quincy_admin/services"
"github.com/gin-gonic/gin"
"github.com/jmoiron/sqlx"
)
func SetupCronRoutes(router *gin.RouterGroup, db *sqlx.DB, cronManager *crontask.CronManager, m *middle.AuthMiddleware) {
// 初始化定时任务模块依赖
cronRepo := repositories.NewCronRepository(db)
cronService := services.NewCronService(cronRepo, cronManager)
cronController := controllers.NewCronController(cronService)
cron := router.Group("/cron")
{
cron.POST("/list", m.Auth(), cronController.GetCronList)
cron.POST("/hand", m.Auth(), cronController.HandleCron)
cron.PUT("/:id", m.Auth(), cronController.StopOrStartCron)
cron.DELETE("/:id", m.Auth(), cronController.DeleteCron)
cron.GET("/restart", m.Auth(), cronController.RestartCron)
cron.GET("/stop", m.Auth(), cronController.StopCron)
cron.POST("/loglist", m.Auth(), cronController.GetCronLogList)
}
}

30
routes/perm_routes.go Normal file
View File

@@ -0,0 +1,30 @@
// Package routes/perm_routes.go
package routes
import (
"Quincy_admin/controllers"
"Quincy_admin/middle"
"Quincy_admin/repositories"
"Quincy_admin/services"
"github.com/gin-gonic/gin"
"github.com/jmoiron/sqlx"
)
func SetupPermissionRoutes(router *gin.RouterGroup, db *sqlx.DB, m *middle.AuthMiddleware) {
// 初始化权限模块依赖
permissionRepo := repositories.NewPermissionRepository(db)
permissionService := services.NewPermissionService(permissionRepo)
permissionController := controllers.NewPermissionController(permissionService)
pms := router.Group("/pms")
{
pms.GET("/routes", m.Auth(), permissionController.GetRoutes)
pms.POST("/menus", m.Auth(), permissionController.GetMenuList)
pms.PUT("/menus/:id", m.Auth(), permissionController.UpdateMenuStatus)
pms.GET("/permission", m.Auth(), permissionController.GetPermission)
pms.GET("/permission/all", m.Auth(), permissionController.GetAllPermission)
pms.GET("/permission/role", m.Auth(), permissionController.GetRolePermission)
pms.PUT("/permission/assign/:role_id", m.Auth(), permissionController.AssignPermission)
}
}

34
routes/routes.go Normal file
View File

@@ -0,0 +1,34 @@
// Package routes routes.go
package routes
import (
"Quincy_admin/crontask"
"Quincy_admin/middle"
"github.com/gin-gonic/gin"
"github.com/jmoiron/sqlx"
swaggerFiles "github.com/swaggo/files"
ginSwagger "github.com/swaggo/gin-swagger"
)
// SetupRoutes 设置路由
func SetupRoutes(db *sqlx.DB, router *gin.Engine, cronManager *crontask.CronManager) {
// 初始化中间件初始依赖
middleService := middle.NewMiddleService(db)
// 创建认证中间件
m := middle.NewAuthMiddleware(middleService)
// API路由组
api := router.Group("/quin")
{
// 注册 Swagger 路由
api.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
// 构建各模块路由传入db和cronManager等基础依赖
SetupUserRoutes(api, db, m)
SetupPermissionRoutes(api, db, m)
SetupCronRoutes(api, db, cronManager, m)
SetupCommonRoutes(api, db, m)
}
}

33
routes/user_routes.go Normal file
View File

@@ -0,0 +1,33 @@
// Package routes/user_routes.go
package routes
import (
"Quincy_admin/controllers"
"Quincy_admin/middle"
"Quincy_admin/repositories"
"Quincy_admin/services"
"github.com/gin-gonic/gin"
"github.com/jmoiron/sqlx"
)
func SetupUserRoutes(router *gin.RouterGroup, db *sqlx.DB, m *middle.AuthMiddleware) {
// 初始化用户模块依赖
userRepo := repositories.NewUserRepository(db)
userService, _ := services.NewUserService(userRepo)
userController := controllers.NewUserController(userService)
users := router.Group("/user")
{
users.POST("/login", userController.Login)
users.POST("/register", m.Auth(), m.Perm("user.create"), userController.Create)
users.GET("/getinfo", m.Auth(), userController.GetByID)
users.PUT("/update", m.Auth(), userController.Update)
users.PUT("/:id", m.Auth(), userController.UpdateStatus)
users.POST("list", m.Auth(), userController.UserList)
users.POST("/rolelist", m.Auth(), userController.UserRoleList)
users.PUT("/assign", m.Auth(), userController.AssignRole)
users.PUT("/role/:id", userController.UpdateRoleStatus)
users.POST("/role", m.Auth(), userController.CreateRole)
}
}