From d386b4e7acee2d89a4b22727c122070e22872587 Mon Sep 17 00:00:00 2001 From: kuaifan Date: Thu, 23 Jun 2022 19:14:45 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96@=E5=85=B6=E4=BB=96?= =?UTF-8?q?=E6=88=90=E5=91=98=E5=9C=A8=E7=BA=BF=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Api/UsersController.php | 11 +++++++++++ .../js/pages/manage/components/ChatInput/index.vue | 1 + 2 files changed, 12 insertions(+) diff --git a/app/Http/Controllers/Api/UsersController.php b/app/Http/Controllers/Api/UsersController.php index fda1a0058..270d87a37 100755 --- a/app/Http/Controllers/Api/UsersController.php +++ b/app/Http/Controllers/Api/UsersController.php @@ -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); } diff --git a/resources/assets/js/pages/manage/components/ChatInput/index.vue b/resources/assets/js/pages/manage/components/ChatInput/index.vue index 4590dd011..a7491d478 100755 --- a/resources/assets/js/pages/manage/components/ChatInput/index.vue +++ b/resources/assets/js/pages/manage/components/ChatInput/index.vue @@ -1107,6 +1107,7 @@ export default { keys: { key, }, + state: 1, take: 30 }, }).then(({data}) => {