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{}