From 44baa743c073dd5222a9290b5e820b126111efe5 Mon Sep 17 00:00:00 2001 From: kuaifan Date: Mon, 7 Jul 2025 18:08:54 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E8=81=8A=E5=A4=A9?= =?UTF-8?q?=E5=8F=91=E9=80=81=E4=BC=9A=E5=91=98=E3=80=81=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E3=80=81=E6=96=87=E4=BB=B6=E6=94=AF=E6=8C=81=E6=90=9C=E7=B4=A2?= =?UTF-8?q?ID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Api/FileController.php | 6 +++++- app/Http/Controllers/Api/UsersController.php | 4 +++- .../assets/js/pages/manage/components/ChatInput/index.vue | 7 ++++++- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/Api/FileController.php b/app/Http/Controllers/Api/FileController.php index d311491cc..8fd80b63f 100755 --- a/app/Http/Controllers/Api/FileController.php +++ b/app/Http/Controllers/Api/FileController.php @@ -134,7 +134,11 @@ class FileController extends AbstractController $builder->where("id", $id); } if ($key) { - $builder->where("name", "like", "%{$key}%"); + if (!$id && Base::isNumber($key)) { + $builder->where("id", $key); + } else { + $builder->where("name", "like", "%{$key}%"); + } } $array = $builder->take($take)->get()->toArray(); // 搜索共享的 diff --git a/app/Http/Controllers/Api/UsersController.php b/app/Http/Controllers/Api/UsersController.php index c8a46fcd3..822b8de74 100755 --- a/app/Http/Controllers/Api/UsersController.php +++ b/app/Http/Controllers/Api/UsersController.php @@ -494,7 +494,7 @@ class UsersController extends AbstractController * @apiName searchinfo * * @apiParam {Object} keys 搜索条件 - * - keys.key 昵称、拼音、邮箱关键字 + * - keys.key 会员ID、昵称、拼音、邮箱关键字 * - keys.disable 0-排除离职(默认),1-仅离职,2-含离职 * - keys.bot 0-排除机器人(默认),1-仅机器人,2-含机器人 * - keys.project_id 在指定项目ID @@ -534,6 +534,8 @@ class UsersController extends AbstractController if ($keys['key']) { if (str_contains($keys['key'], "@")) { $builder->where("email", "like", "%{$keys['key']}%"); + } elseif (Base::isNumber($keys['key'])) { + $builder->where("userid", intval($keys['key'])); } else { $builder->where(function($query) use ($keys) { $query->where("nickname", "like", "%{$keys['key']}%") diff --git a/resources/assets/js/pages/manage/components/ChatInput/index.vue b/resources/assets/js/pages/manage/components/ChatInput/index.vue index 22ce454b9..b3bb8e585 100755 --- a/resources/assets/js/pages/manage/components/ChatInput/index.vue +++ b/resources/assets/js/pages/manage/components/ChatInput/index.vue @@ -1179,7 +1179,12 @@ export default { array.some(item => { let list = item.list; if (searchTerm) { - list = list.filter(({value, key}) => $A.strExists(key || value, searchTerm)); + list = list.filter(({id, value, key}) => { + if (/^\d+$/.test(searchTerm) && id && id == searchTerm) { + return true; + } + return $A.strExists(key || value, searchTerm) + }); } if (list.length > 0) { item.label && values.push(...item.label)