Avoid nested back param in subscription show links
This commit is contained in:
@@ -9,10 +9,18 @@
|
||||
// 注意:这里使用相对路径,避免测试/不同 APP_URL 环境下生成绝对域名导致断言与展示不一致
|
||||
// 同时:自动附带 back 参数,保证“从订阅详情跳到订单列表/治理后能回到订阅详情并保留上下文”
|
||||
$platformOrdersBaseUrl = '/admin/platform-orders';
|
||||
$backToSubscriptionShow = request()->getRequestUri();
|
||||
$makePlatformOrderUrl = function (array $query) use ($platformOrdersBaseUrl, $backToSubscriptionShow) {
|
||||
// 若调用方显式传了 back,则不覆盖;否则默认回到当前订阅详情页
|
||||
$query = $query + ['back' => $backToSubscriptionShow];
|
||||
|
||||
// back 参数用于“返回上一页(保留上下文)”,但 back 本身不应再包含 back(避免无限嵌套导致 URL 膨胀)
|
||||
$currentQuery = request()->query();
|
||||
unset($currentQuery['back']);
|
||||
$selfWithoutBack = '/' . ltrim(request()->path(), '/');
|
||||
if (count($currentQuery) > 0) {
|
||||
$selfWithoutBack .= '?' . \Illuminate\Support\Arr::query($currentQuery);
|
||||
}
|
||||
|
||||
$makePlatformOrderUrl = function (array $query) use ($platformOrdersBaseUrl, $selfWithoutBack) {
|
||||
// 若调用方显式传了 back,则不覆盖;否则默认回到当前订阅详情页(剔除 back,避免嵌套)
|
||||
$query = $query + ['back' => $selfWithoutBack];
|
||||
|
||||
return $platformOrdersBaseUrl . '?' . \Illuminate\Support\Arr::query($query);
|
||||
};
|
||||
@@ -305,7 +313,7 @@
|
||||
<span class="muted">|</span>
|
||||
<a href="?order_sync_status=syncable" class="muted">可同步</a>
|
||||
<span class="muted">|</span>
|
||||
<a href="/admin/platform-orders?site_subscription_id={{ $subscription->id }}&back={{ urlencode(request()->getRequestUri()) }}" class="muted">在平台订单页打开</a>
|
||||
<a href="/admin/platform-orders?site_subscription_id={{ $subscription->id }}&back={{ urlencode($selfWithoutBack) }}" class="muted">在平台订单页打开</a>
|
||||
@if($cur)
|
||||
<span class="muted">(当前:{{ $cur }})</span>
|
||||
@endif
|
||||
@@ -342,7 +350,7 @@
|
||||
@endphp
|
||||
<tr>
|
||||
<td>{{ $order->id }}</td>
|
||||
<td><a href="/admin/platform-orders/{{ $order->id }}?back={{ urlencode(request()->getRequestUri()) }}">{{ $order->order_no }}</a></td>
|
||||
<td><a href="/admin/platform-orders/{{ $order->id }}?back={{ urlencode($selfWithoutBack) }}">{{ $order->order_no }}</a></td>
|
||||
<td>{{ $order->status }}</td>
|
||||
<td>{{ $order->payment_status }}</td>
|
||||
<td>¥{{ number_format((float) $order->payable_amount, 2) }} / ¥{{ number_format((float) $order->paid_amount, 2) }}</td>
|
||||
@@ -360,7 +368,7 @@
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
<a href="/admin/platform-orders/{{ $order->id }}?back={{ urlencode(request()->getRequestUri()) }}">详情</a>
|
||||
<a href="/admin/platform-orders/{{ $order->id }}?back={{ urlencode($selfWithoutBack) }}">详情</a>
|
||||
</td>
|
||||
</tr>
|
||||
@empty
|
||||
|
||||
Reference in New Issue
Block a user