Files
saasshop/resources/views/admin/dashboard.blade.php

72 lines
4.0 KiB
PHP

@extends('admin.layouts.app')
@section('title', '总台管理仪表盘')
@section('page_title', '总台管理仪表盘')
@section('content')
@php
$incomingBack = (string) request()->query('back', '');
$safeBackForLinks = \App\Support\BackUrl::sanitizeForLinks($incomingBack);
$billingEntryLinks = [
'platform_orders' => \App\Support\BackUrl::withBack('/admin/platform-orders', $safeBackForLinks),
'site_subscriptions' => \App\Support\BackUrl::withBack('/admin/site-subscriptions', $safeBackForLinks),
'plans' => \App\Support\BackUrl::withBack('/admin/plans', $safeBackForLinks),
];
$platformOrdersQuickLinks = [
'unpaid_pending' => \App\Support\BackUrl::withBack('/admin/platform-orders?payment_status=unpaid&status=pending', $safeBackForLinks),
'paid_pending' => \App\Support\BackUrl::withBack('/admin/platform-orders?payment_status=paid&status=pending', $safeBackForLinks),
'syncable_only' => \App\Support\BackUrl::withBack('/admin/platform-orders?syncable_only=1', $safeBackForLinks),
'sync_failed' => \App\Support\BackUrl::withBack('/admin/platform-orders?sync_status=failed', $safeBackForLinks),
];
@endphp
<div class="two-col mb-20">
<div class="card">
<p>欢迎回来,{{ $adminName }}。当前入口已明确为 <strong>总台管理</strong>,用于平台运营方统一查看站点、渠道、全局配置和平台级业务数据。</p>
<p class="muted">当前平台上下文已通过封装统一解析,不再依赖控制器里零散读取 session。</p>
<p class="muted mb-0">仪表盘统计已接入缓存:{{ $cacheMeta['store'] }} / TTL {{ $cacheMeta['ttl'] }}</p>
</div>
<div class="card">
<h3 class="mt-0">平台定位</h3>
<table>
<tr><th>后台角色</th><td>{{ $platformOverview['system_role'] }}</td></tr>
<tr><th>当前视角</th><td>{{ $platformOverview['current_scope'] }}</td></tr>
<tr><th>商家模式</th><td>{{ $platformOverview['merchant_mode'] }}</td></tr>
<tr><th>渠道数</th><td>{{ $platformOverview['channel_count'] }}</td></tr>
<tr><th>活跃商家</th><td>{{ $platformOverview['active_merchants'] }}</td></tr>
<tr><th>待处理订单</th><td>{{ $platformOverview['pending_orders'] }}</td></tr>
</table>
</div>
</div>
<div class="card mb-20">
<h3 class="mt-0">收费工作台</h3>
<div class="muted">聚焦收费闭环的日常治理入口:订单 订阅 套餐。</div>
<div class="actions mt-12">
<a class="btn" href="{!! $billingEntryLinks['platform_orders'] !!}">进入平台订单</a>
<a class="btn btn-secondary" href="{!! $billingEntryLinks['site_subscriptions'] !!}">进入订阅管理</a>
<a class="btn btn-secondary" href="{!! $billingEntryLinks['plans'] !!}">进入套餐管理</a>
</div>
<div class="mt-12">
<div class="muted">快捷筛选:</div>
<div class="actions mt-8">
<a class="btn btn-secondary btn-sm" href="{!! $platformOrdersQuickLinks['unpaid_pending'] !!}">待支付</a>
<a class="btn btn-secondary btn-sm" href="{!! $platformOrdersQuickLinks['paid_pending'] !!}">待生效</a>
<a class="btn btn-secondary btn-sm" href="{!! $platformOrdersQuickLinks['syncable_only'] !!}">可同步</a>
<a class="btn btn-secondary btn-sm" href="{!! $platformOrdersQuickLinks['sync_failed'] !!}">同步失败</a>
</div>
</div>
</div>
<div class="grid">
<div class="card"><div class="muted">站点</div><div class="num">{{ $stats['merchants'] }}</div></div>
<div class="card"><div class="muted">管理员</div><div class="num">{{ $stats['admins'] }}</div></div>
<div class="card"><div class="muted">用户</div><div class="num">{{ $stats['users'] }}</div></div>
<div class="card"><div class="muted">商品</div><div class="num">{{ $stats['products'] }}</div></div>
<div class="card"><div class="muted">订单</div><div class="num">{{ $stats['orders'] }}</div></div>
</div>
@endsection