Files
EchoChat/backend/go-service/app/admin/router.go
bujinyuan a77669ee99 feat(admin): 管理端在线监控 + 好友关系管理后端
- admin/service/online_service.go: 在线用户列表/计数
- admin/controller/online_controller.go: GET /admin/online/users|count
- admin/service/contact_manage_service.go: 好友关系分页查询/管理员删除
- admin/controller/contact_manage_controller.go: GET|DELETE /admin/contacts
- 更新 admin router/provider/wire 集成新控制器

Made-with: Cursor
2026-03-02 17:13:06 +08:00

43 lines
1.4 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Package admin 提供管理后台功能模块
package admin
import (
"github.com/echochat/backend/app/admin/controller"
"github.com/echochat/backend/app/constants"
"github.com/echochat/backend/pkg/middleware"
"github.com/gin-gonic/gin"
)
// RegisterRoutes 注册 admin 模块的所有路由
// 所有管理端 API 需要 JWT + admin 角色双重中间件
func RegisterRoutes(
r *gin.Engine,
userCtrl *controller.UserManageController,
onlineCtrl *controller.OnlineController,
contactManageCtrl *controller.ContactManageController,
jwtAuth gin.HandlerFunc,
) {
// 管理端路由组JWT 认证 + admin/super_admin 角色检查
adminGroup := r.Group("/api/v1/admin")
adminGroup.Use(jwtAuth, middleware.RequireRole(constants.RoleAdmin, constants.RoleSuperAdmin))
{
// 用户管理
adminGroup.GET("/users", userCtrl.GetUserList)
adminGroup.GET("/users/:id", userCtrl.GetUserDetail)
adminGroup.PUT("/users/:id/status", userCtrl.UpdateUserStatus)
adminGroup.PUT("/users/:id/roles", userCtrl.SetRoles)
adminGroup.POST("/users", userCtrl.CreateUser)
// 角色管理
adminGroup.GET("/roles", userCtrl.GetAllRoles)
// 在线监控
adminGroup.GET("/online/users", onlineCtrl.GetOnlineUsers)
adminGroup.GET("/online/count", onlineCtrl.GetOnlineCount)
// 好友关系管理
adminGroup.GET("/contacts", contactManageCtrl.GetAllContacts)
adminGroup.DELETE("/contacts/:id", contactManageCtrl.DeleteContact)
}
}