From 03fc19f0700a8fe4a2d125044acb7a00d21be726 Mon Sep 17 00:00:00 2001 From: kuaifan Date: Mon, 21 Apr 2025 14:26:31 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E8=AE=BE=E5=A4=87=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Models/UserDevice.php | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/app/Models/UserDevice.php b/app/Models/UserDevice.php index 1bccfe119..a90679f52 100644 --- a/app/Models/UserDevice.php +++ b/app/Models/UserDevice.php @@ -129,11 +129,35 @@ class UserDevice extends AbstractModel if (preg_match("/android_kuaifan_eeui/i", $ua)) { // Android 客户端 - $result['app_type'] = 'Android'; + if ($dd->getBrandName() && $dd->getModel()) { + // 厂商+型号 + $result['app_type'] = $dd->getBrandName() . ' ' . $dd->getModel(); + } elseif ($dd->getBrandName()) { + // 仅厂商 + $result['app_type'] = $dd->getBrandName(); + } elseif ($dd->isTablet()) { + // 平板 + $result['app_type'] = 'Tablet'; + } elseif ($dd->isPhablet()) { + // 平板 + $result['app_type'] = 'Phablet'; + } else { + // 未确定的 Android 设备 + $result['app_type'] = 'Android'; + } $result['app_version'] = self::getAfterVersion($ua, 'kuaifan_eeui/'); } elseif (preg_match("/ios_kuaifan_eeui/i", $ua)) { // iOS 客户端 - $result['app_type'] = 'iOS'; + if (preg_match("/(macintosh|ipad)/i", $ua)) { + // iPad + $result['app_type'] = 'iPad'; + } elseif (preg_match("/iphone/i", $ua)) { + // iPhone + $result['app_type'] = 'iPhone'; + } else { + // 未确定的 iOS 设备 + $result['app_type'] = 'iOS'; + } $result['app_version'] = self::getAfterVersion($ua, 'kuaifan_eeui/'); } elseif (preg_match("/dootask/i", $ua)) { // DooTask 客户端