perf: 优化@其他成员在线状态

This commit is contained in:
kuaifan 2022-06-23 19:14:45 +08:00
parent f13472f088
commit d386b4e7ac
2 changed files with 12 additions and 0 deletions

View File

@ -353,6 +353,9 @@ class UsersController extends AbstractController
* @apiParam {Object} sorts 排序方式
* - sorts.az 按字母asc|desc
* @apiParam {Number} updated_time 在这个时间戳之后更新的
* @apiParam {Number} state 获取在线状态
* - 0: 不获取(默认)
* - 1: 获取会员在线状态返回数据多一个online值
*
* @apiParam {Number} [take] 获取数量10-100
* @apiParam {Number} [page] 当前页,默认:1赋值分页模式take参数无效
@ -369,6 +372,7 @@ class UsersController extends AbstractController
$keys = Request::input('keys');
$sorts = Request::input('sorts');
$updatedTime = intval(Request::input('updated_time'));
$state = intval(Request::input('state', 0));
$keys = is_array($keys) ? $keys : [];
$sorts = is_array($sorts) ? $sorts : [];
//
@ -405,6 +409,13 @@ class UsersController extends AbstractController
} else {
$list = $builder->orderBy('userid')->take(Base::getPaginate(100, 10, 'take'))->get();
}
//
if ($state === 1) {
$list->transform(function (User $userInfo) {
$userInfo->online = $userInfo->getOnlineStatus();
return $userInfo;
});
}
return Base::retSuccess('success', $list);
}

View File

@ -1107,6 +1107,7 @@ export default {
keys: {
key,
},
state: 1,
take: 30
},
}).then(({data}) => {