feat(admin,api,player): 代理层级管理、额度上下分与玩家钱包详情

新增代理管理器与二级代理体系,完善信用额度/上下分上下文与冻结策略;代理端玩家与子代理管理增强;玩家端新增钱包详情页与交易筛选优化。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-08 15:34:12 +08:00
parent b2216abd0c
commit 414998ce36
54 changed files with 6641 additions and 481 deletions

View File

@@ -17,19 +17,17 @@ const isMobileNav = ref(false);
const adminMenus = computed(() => [
{ path: '/', label: t('nav.dashboard') },
{ path: '/matches', label: t('nav.matches'), matchPrefix: true },
{ path: '/bets', label: t('nav.bets') },
{ path: '/users', label: t('nav.users') },
{ path: '/agents', label: t('nav.agents') },
{ path: '/users', label: t('nav.agents_players') },
{ path: '/cashback', label: t('nav.cashback') },
{ path: '/bets', label: t('nav.bets') },
{ path: '/contents', label: t('nav.contents') },
{ path: '/audit', label: t('nav.audit') },
]);
const agentMenus = computed(() => [
{ path: '/', label: t('nav.dashboard') },
{ path: '/my-players', label: t('nav.players') },
{ path: '/my-players', label: t('nav.agents_players') },
{ path: '/my-bets', label: t('nav.myBets') },
{ path: '/sub-agents', label: t('nav.subAgents') },
]);
const menus = computed(() => (auth.isAdmin.value ? adminMenus.value : agentMenus.value));
@@ -55,6 +53,13 @@ const currentLabel = computed(() => {
const topbarCrumbs = computed(() => resolveAdminBreadcrumb(route.path, t));
const roleLabel = computed(() => {
if (auth.isAdmin.value) return t('role.admin');
if (auth.isTier1Agent.value) return t('role.tier1_agent');
if (auth.isTier2Agent.value) return t('role.tier2_agent');
return t('role.agent');
});
const userInitial = computed(() =>
(auth.user?.username ?? '').charAt(0).toUpperCase()
);
@@ -171,7 +176,7 @@ watch(() => route.path, () => {
<div class="avatar">{{ userInitial }}</div>
<div class="user-info">
<span class="user-name">{{ auth.user?.username }}</span>
<span class="user-role">{{ auth.isAdmin ? t('role.admin') : t('role.agent') }}</span>
<span class="user-role">{{ roleLabel }}</span>
</div>
</div>
<AdminLocaleSwitcher />