refactor(backurl): add mergeQueryToCurrentPath for safe self links
This commit is contained in:
@@ -13,23 +13,10 @@
|
||||
unset($currentQuery['back']);
|
||||
$back = $selfWithoutBack;
|
||||
|
||||
// 用于构建“保留当前筛选上下文”的站内跳转链接(且不透传 back,避免嵌套/污染)
|
||||
// 用于构建“保留当前筛选上下文”的站内跳转链接:统一抽到 BackUrl,避免 Blade 内闭包口径漂移。
|
||||
// 说明:这里不透传 back(避免嵌套/污染)。
|
||||
$buildSelfUrl = function (array $overrides = []) use ($currentQuery) {
|
||||
$q = $currentQuery;
|
||||
foreach ($overrides as $k => $v) {
|
||||
if ($v === null) {
|
||||
unset($q[$k]);
|
||||
} else {
|
||||
$q[$k] = $v;
|
||||
}
|
||||
}
|
||||
|
||||
$url = '/' . ltrim(request()->path(), '/');
|
||||
if (count($q) > 0) {
|
||||
$url .= '?' . \Illuminate\Support\Arr::query($q);
|
||||
}
|
||||
|
||||
return $url;
|
||||
return \App\Support\BackUrl::mergeQueryToCurrentPath($currentQuery, $overrides);
|
||||
};
|
||||
|
||||
// back 安全护栏(全页通用):
|
||||
|
||||
Reference in New Issue
Block a user