Files
EasyGoAdmin_GoFrame_EleVue/api/v1/online_user.go
T
2026-10-20 11:37:25 +08:00

73 lines
3.7 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 v1
import (
"github.com/gogf/gf/v2/util/gmeta"
)
// ============================== 在线用户模块 ==============================
// OnlineUserItem 在线用户行数据
type OnlineUserItem struct {
Id string `json:"id"` // 访问令牌标识(jti)
UserId int `json:"userId"` // 用户ID
Username string `json:"username"` // 用户名
Realname string `json:"realname"` // 姓名
Avatar string `json:"avatar"` // 头像(已补全访问域名)
Ip string `json:"ip"` // 登录IP
Location string `json:"location"` // 登录地点
Oss string `json:"oss"` // 操作系统
Browser string `json:"browser"` // 浏览器
LoginTime string `json:"loginTime"` // 登录时间
IssuedTime string `json:"issuedTime"` // 令牌颁发时间
ExpireTime string `json:"expireTime"` // 令牌过期时间
RefreshIssuedTime string `json:"refreshIssuedTime"` // 刷新令牌颁发时间(空表示无)
RefreshExpireTime string `json:"refreshExpireTime"` // 刷新令牌过期时间(空表示无)
SessionNo int `json:"sessionNo"` // 同用户会话序号
Sessions int `json:"sessions"` // 同用户会话总数
TokenType string `json:"tokenType"` // 令牌类型(Bearer)
ExpiresIn int64 `json:"expiresIn"` // 访问令牌有效期(秒)
AccessToken string `json:"accessToken"` // 访问令牌原文(仅详情返回)
RefreshToken string `json:"refreshToken"` // 刷新令牌原文(仅详情返回)
}
// OnlineUserPageReq 在线用户分页请求
type OnlineUserPageReq struct {
gmeta.Meta `method:"get" path:"/api/onlineUser/page" summary:"在线用户分页" permission:"sys:onlineUser:page" log:"在线用户-查询分页记录" logType:"query"`
PageReq // 分页基础参数
Username string `json:"username" dc:"用户名模糊"` // 用户名模糊匹配
Ip string `json:"ip" dc:"登录IP模糊"` // 登录IP模糊匹配
}
// OnlineUserPageRes 在线用户分页结果
type OnlineUserPageRes = PageData[OnlineUserItem]
// OnlineUserDetailReq 在线会话详情请求
type OnlineUserDetailReq struct {
gmeta.Meta `method:"get" path:"/api/onlineUser/detail/:id" summary:"在线会话详情" permission:"sys:onlineUser:detail" log:"在线用户-查询会话详情" logType:"query"`
Id string `json:"id" v:"required#缺少令牌标识" dc:"令牌标识"`
}
// OnlineUserDetailRes 在线会话详情结果
// 含访问/刷新令牌原文与登录环境信息
type OnlineUserDetailRes struct {
OnlineUserItem
}
// OnlineUserForceLogoutReq 强制下线请求
type OnlineUserForceLogoutReq struct {
gmeta.Meta `method:"get" path:"/api/onlineUser/forceLogout/:id" summary:"强制下线" permission:"sys:onlineUser:forceLogout" log:"在线用户-强制下线" logType:"update"`
Id string `json:"id" v:"required#缺少令牌标识" dc:"令牌标识"`
}
// OnlineUserForceLogoutRes 强制下线结果
type OnlineUserForceLogoutRes struct{}
// OnlineUserForceLogoutUserReq 踢出该用户全部设备请求
type OnlineUserForceLogoutUserReq struct {
gmeta.Meta `method:"get" path:"/api/onlineUser/forceLogoutUser/:userId" summary:"踢出用户全部设备" permission:"sys:onlineUser:forceLogout" log:"在线用户-踢出全部设备" logType:"update"`
UserId int `json:"userId" v:"required#缺少用户ID" dc:"用户ID"`
}
// OnlineUserForceLogoutUserRes 踢出该用户全部设备结果
type OnlineUserForceLogoutUserRes struct{}