diff --git a/app/Utilities/FocusMode.php b/app/Utilities/FocusMode.php index a244b0ba..7e4edfbd 100644 --- a/app/Utilities/FocusMode.php +++ b/app/Utilities/FocusMode.php @@ -12,7 +12,12 @@ class FocusMode { $section = $sectionSlug ?: (string) (request()->route('section') ?: request()->segment(3)); + // 钉钉工作台打开时 UA 可能被替换成普通浏览器,Referer 仍指向钉钉域名。 + $referer = strtolower((string) request()->headers->get('referer')); + $fromDingTalk = str_contains((string) request()->userAgent(), 'DingTalk') + || str_contains($referer, 'dingtalk'); + return in_array($section, ['financial-risk-control'], true) - && (request()->boolean('focus') || str_contains((string) request()->userAgent(), 'DingTalk')); + && (request()->boolean('focus') || $fromDingTalk); } }