chore(admin-ui): dedupe platform order show back links into page header actions

This commit is contained in:
萝卜
2026-03-16 06:43:51 +08:00
parent 4787f6d32e
commit be3169d705

View File

@@ -27,6 +27,23 @@
'refund_inconsistent' => 1,
]), $orderShowSelf);
@endphp
@php
$incomingBack = (string) request()->query('back', '');
// back 安全护栏:
// - 仅允许站内相对路径(/ 开头)
// - 拒绝引号/尖括号
// - 拒绝 nested back=(避免 URL 膨胀/绕过)
// 说明:下方 href 采用原样输出以避免 & 影响断言。
$safeBackForLinks = \App\Support\BackUrl::sanitizeForLinks($incomingBack);
// 若 back 指向的平台订单列表带 lead_id则在详情页也提示当前来源线索更不迷路
$leadIdFromBack = 0;
if ($safeBackForLinks !== '') {
$parts = parse_url($safeBackForLinks);
parse_str((string) ($parts['query'] ?? ''), $q);
$leadIdFromBack = (int) ($q['lead_id'] ?? 0);
}
@endphp
<div class="page-header mb-20" data-page="admin.platform_orders.show">
<div class="page-header-main">
<div>
@@ -35,6 +52,10 @@
</div>
<div class="page-header-actions">
@if($safeBackForLinks !== '')
<a href="{!! $safeBackForLinks !!}" class="btn btn-secondary btn-sm"> 返回上一页(保留上下文)</a>
@endif
@php
$platformLeadId = (int) (data_get($order->meta, 'platform_lead_id') ?? 0);
$leadIndexUrl = '';
@@ -47,7 +68,11 @@
@if($platformLeadId > 0)
<span class="badge">来源线索:#{{ $platformLeadId }}</span>
<a class="btn btn-secondary btn-sm" href="{!! $leadIndexUrl !!}">查看线索</a>
@elseif($leadIdFromBack > 0)
<span class="badge">来源线索:#{{ $leadIdFromBack }}</span>
@endif
<a href="{!! $makePlatformOrderIndexUrl([]) !!}" class="btn btn-secondary btn-sm">返回平台订单列表(保留上下文)</a>
</div>
</div>
</div>
@@ -877,34 +902,5 @@
<pre class="pre-wrap">{{ json_encode($order->meta, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE) }}</pre>
</div>
<div class="mb-20 mt-16">
@php
$incomingBack = (string) request()->query('back', '');
// back 安全护栏:
// - 仅允许站内相对路径(/ 开头)
// - 拒绝引号/尖括号
// - 拒绝 nested back=(避免 URL 膨胀/绕过)
// 说明:下方 href 采用原样输出以避免 &amp; 影响断言。
$safeBackForLinks = \App\Support\BackUrl::sanitizeForLinks($incomingBack);
// 若 back 指向的平台订单列表带 lead_id则在详情页也提示当前来源线索更不迷路
$leadIdFromBack = 0;
if ($safeBackForLinks !== '') {
$parts = parse_url($safeBackForLinks);
parse_str((string) ($parts['query'] ?? ''), $q);
$leadIdFromBack = (int) ($q['lead_id'] ?? 0);
}
@endphp
@if($safeBackForLinks !== '')
<a href="{!! $safeBackForLinks !!}" class="muted"> 返回上一页(保留上下文)</a>
@if($leadIdFromBack > 0)
<span class="muted"></span>
<span class="badge">来源线索:#{{ $leadIdFromBack }}</span>
@endif
<span class="muted"></span>
@endif
<a href="{!! $makePlatformOrderIndexUrl([]) !!}"> 返回平台订单列表(保留上下文)</a>
</div>
{{-- 返回入口已收敛到 PageHeader actions避免页面底部重复出现“返回上一页/返回列表”链接) --}}
@endsection