签入脚本
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
// ================================================================================
|
||||
// 手维护服务接口:监控域无表模块(在线用户/服务器监控/缓存监控)
|
||||
// ================================================================================
|
||||
|
||||
package service
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"easygoadmin/api/v1"
|
||||
)
|
||||
|
||||
// IOnlineUser 在线用户服务接口
|
||||
type IOnlineUser interface {
|
||||
// Page 在线用户分页
|
||||
Page(ctx context.Context, req *v1.OnlineUserPageReq) (res *v1.OnlineUserPageRes, err error)
|
||||
// Detail 在线会话详情(含令牌原文)
|
||||
Detail(ctx context.Context, req *v1.OnlineUserDetailReq) (res *v1.OnlineUserDetailRes, err error)
|
||||
// ForceLogout 强制下线
|
||||
ForceLogout(ctx context.Context, req *v1.OnlineUserForceLogoutReq) (res *v1.OnlineUserForceLogoutRes, err error)
|
||||
// ForceLogoutUser 踢出该用户全部设备
|
||||
ForceLogoutUser(ctx context.Context, req *v1.OnlineUserForceLogoutUserReq) (res *v1.OnlineUserForceLogoutUserRes, err error)
|
||||
}
|
||||
|
||||
// IServerMonitor 服务器监控服务接口
|
||||
type IServerMonitor interface {
|
||||
// Info 服务器监控信息
|
||||
Info(ctx context.Context, req *v1.ServerInfoReq) (res *v1.ServerInfoRes, err error)
|
||||
}
|
||||
|
||||
// ICacheMonitor 缓存监控服务接口
|
||||
type ICacheMonitor interface {
|
||||
// Info 缓存监控信息
|
||||
Info(ctx context.Context, req *v1.CacheInfoReq) (res *v1.CacheInfoRes, err error)
|
||||
}
|
||||
|
||||
var (
|
||||
localOnlineUser IOnlineUser
|
||||
localServerMonitor IServerMonitor
|
||||
localCacheMonitor ICacheMonitor
|
||||
)
|
||||
|
||||
// OnlineUser 获取在线用户服务实例
|
||||
func OnlineUser() IOnlineUser {
|
||||
if localOnlineUser == nil {
|
||||
panic("implement not found for interface IOnlineUser, forgot register?")
|
||||
}
|
||||
return localOnlineUser
|
||||
}
|
||||
|
||||
// RegisterOnlineUser 注册在线用户服务实现
|
||||
func RegisterOnlineUser(i IOnlineUser) { localOnlineUser = i }
|
||||
|
||||
// ServerMonitor 获取服务器监控服务实例
|
||||
func ServerMonitor() IServerMonitor {
|
||||
if localServerMonitor == nil {
|
||||
panic("implement not found for interface IServerMonitor, forgot register?")
|
||||
}
|
||||
return localServerMonitor
|
||||
}
|
||||
|
||||
// RegisterServerMonitor 注册服务器监控服务实现
|
||||
func RegisterServerMonitor(i IServerMonitor) { localServerMonitor = i }
|
||||
|
||||
// CacheMonitor 获取缓存监控服务实例
|
||||
func CacheMonitor() ICacheMonitor {
|
||||
if localCacheMonitor == nil {
|
||||
panic("implement not found for interface ICacheMonitor, forgot register?")
|
||||
}
|
||||
return localCacheMonitor
|
||||
}
|
||||
|
||||
// RegisterCacheMonitor 注册缓存监控服务实现
|
||||
func RegisterCacheMonitor(i ICacheMonitor) { localCacheMonitor = i }
|
||||
Reference in New Issue
Block a user