package admin import ( "github.com/xinliangnote/go-gin-api/configs" "github.com/xinliangnote/go-gin-api/internal/pkg/core" "github.com/xinliangnote/go-gin-api/internal/repository/mysql" "github.com/xinliangnote/go-gin-api/internal/repository/redis" "github.com/xinliangnote/go-gin-api/internal/services/admin" "github.com/xinliangnote/go-gin-api/pkg/hash" "go.uber.org/zap" ) var _ Handler = (*handler)(nil) type Handler interface { i() // Login 管理员登录 // @Tags API.admin // @Router /api/login [post] Login() core.HandlerFunc // Logout 管理员登出 // @Tags API.admin // @Router /api/admin/logout [post] Logout() core.HandlerFunc // ModifyPassword 修改密码 // @Tags API.admin // @Router /api/admin/modify_password [patch] ModifyPassword() core.HandlerFunc // Detail 个人信息 // @Tags API.admin // @Router /api/admin/info [get] Detail() core.HandlerFunc // ModifyPersonalInfo 修改个人信息 // @Tags API.admin // @Router /api/admin/modify_personal_info [patch] ModifyPersonalInfo() core.HandlerFunc // Create 新增管理员 // @Tags API.admin // @Router /api/admin [post] Create() core.HandlerFunc // List 管理员列表 // @Tags API.admin // @Router /api/admin [get] List() core.HandlerFunc // Delete 删除管理员 // @Tags API.admin // @Router /api/admin/{id} [delete] Delete() core.HandlerFunc // Offline 下线管理员 // @Tags API.admin // @Router /api/admin/offline [patch] Offline() core.HandlerFunc // UpdateUsed 更新管理员为启用/禁用 // @Tags API.admin // @Router /api/admin/used [patch] UpdateUsed() core.HandlerFunc // ResetPassword 重置密码 // @Tags API.admin // @Router /api/admin/reset_password/{id} [patch] ResetPassword() core.HandlerFunc // CreateAdminMenu 提交菜单授权 // @Tags API.admin // @Router /api/admin/menu [post] CreateAdminMenu() core.HandlerFunc // ListAdminMenu 菜单授权列表 // @Tags API.admin // @Router /api/admin/menu/{id} [get] ListAdminMenu() core.HandlerFunc } type handler struct { logger *zap.Logger cache redis.Repo hashids hash.Hash adminService admin.Service } func New(logger *zap.Logger, db mysql.Repo, cache redis.Repo) Handler { return &handler{ logger: logger, cache: cache, hashids: hash.New(configs.Get().HashIds.Secret, configs.Get().HashIds.Length), adminService: admin.New(db, cache), } } func (h *handler) i() {}