OnlineUserController(在线用户)¶
管理控制台的在线用户能力:分页查询当前在线的 runtime 用户集合,以及把指定在线用户强制下线(将其 WebUser.status 置为 99)。
- 类级基址:
${myapps.context-path.manager:}/api/authtime(完整路径:{manager-context}/api/authtime<相对路径>) - Tag:在线用户(控制器源码声明
@Tag(name = "在线用户")) - 控制器源码:
obpm-manager/src/main/java/cn/myapps/manager/authtime/controller/onlineuser/OnlineUserController.java - 公共说明:
- 类继承
BaseAuthTimeController,通过其success(errmsg, data)/error(errcode, errmsg, errors)返回统一Resource(字段errcode/errmsg/data/errors,结构见 ../index.md「统一响应结构」)。 - 端点在
try/catch内捕获Exception并e.printStackTrace()后返回errcode=500、errmsg=e.getMessage()、data=null。 - 端点显式声明
@ResponseStatus(HttpStatus.OK),HTTP 状态码 200。 - 鉴权说明见 index.md「鉴权说明」(adminToken JWT)。
- 控制器注入
UserRunTimeService(cn.myapps.manager.authtime.service.user.UserRunTimeService),由其读取 host 共享缓存中的OnlineUsers在线用户表。 - 路径变量
userId为 runtime 用户 id(即WebUser.getId())。
1. 获取在线用户集合¶
分页查询当前在线的 runtime 用户集合,可按企业域(domainid)过滤。
- 接口类型:REST 资源
- 请求方式:
GET - 请求路径:
/onlines(完整:{manager-context}/api/authtime/onlines) - 鉴权:是(需管理员 adminToken,详见 index.md「鉴权说明」)
- Tag:在线用户
请求参数¶
| 参数名 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| currpage | query | string | 否 | 当前页码,缺省 1 |
| pagelines | query | string | 否 | 每页条数,缺省 10 |
| domainid | query | string | 否 | 企业域 id(无 @RequestParam 注解,Spring 默认按 query 参数绑定;为空时不过滤) |
请求示例¶
响应¶
结构:统一 Resource。
data:Map<String, Object>(由 UserRunTimeService.getOnlineUserList2 返回,具体字段由该服务实现决定,通常含分页信息与在线用户列表)。
成功示例:
{
"errcode": 0,
"errmsg": "ok",
"data": {
"currpage": 1,
"pagelines": 20,
"rowCount": 1,
"datas": [
{ "id": "__U001", "name": "admin", "loginno": "admin", "domainid": "__P1UD2yVWpnFpUedONr" }
]
},
"errors": null
}
注:
data的具体字段形态由UserRunTimeService.getOnlineUserList2决定,上例为示意。
失败示例:
2. 移除在线用户¶
按 runtime 用户 id 把指定在线用户强制下线:构造 WebUser 实例并把其 status 置为 99(强制下线标记),再写回会话。源码内有一段基于 OnlineUsers.getOnlineUsers() 全表迭代下线的逻辑被注释,当前生效的是 WebUser.setWebUser 路径。
- 接口类型:REST 资源
- 请求方式:
DELETE - 请求路径:
/onlines/{userId}(完整:{manager-context}/api/authtime/onlines/{userId}) - 鉴权:是
- Tag:在线用户
请求参数¶
| 参数名 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| userId | path | string | 是 | 待强制下线的 runtime 用户 id |
请求示例¶
响应¶
结构:统一 Resource。
data:null。
成功示例:
失败示例: