From 648c314e23939d076cba47d7fd0f51977053a149 Mon Sep 17 00:00:00 2001 From: Mars <3361409208a@gmail.com> Date: Mon, 22 Jun 2026 12:28:25 +0800 Subject: [PATCH] =?UTF-8?q?feat(admin+api):=20=E5=88=97=E8=A1=A8=E9=A1=B5?= =?UTF-8?q?=E5=AD=90=E8=B7=AF=E7=94=B1=E9=87=8D=E6=9E=84=E3=80=81=E7=BB=93?= =?UTF-8?q?=E7=AE=97=E5=8E=86=E5=8F=B2=E4=B8=8E=E5=85=85=E5=80=BC=E6=88=AA?= =?UTF-8?q?=E5=9B=BE=E6=B8=85=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 赛事/代理管理从表格展开改为子路由详情页;结算页增加预览弹窗与历史记录;媒体库支持截图存储统计与自动/手动清理;Player 端充值截图压缩为 WebP 300KB。 --- .gitignore | 2 + AGENTS.md | 2 +- apps/admin/components.d.ts | 1 + .../admin/src/components/LeagueRowActions.vue | 98 +++ .../components/PlayerWalletLedgerDialog.vue | 22 +- .../agent-direct-players-context.ts | 24 + apps/admin/src/i18n/admin-messages.ts | 21 + apps/admin/src/i18n/admin-pages-ms.ts | 44 + apps/admin/src/i18n/admin-pages.ts | 16 + apps/admin/src/i18n/pages/en.ts | 42 + apps/admin/src/i18n/pages/zh.ts | 44 +- apps/admin/src/layouts/ManageLayout.vue | 6 +- apps/admin/src/router/index.ts | 26 + apps/admin/src/utils/admin-breadcrumb.ts | 31 +- apps/admin/src/utils/matchesListState.ts | 32 +- apps/admin/src/views/AgentManager.vue | 605 +++----------- apps/admin/src/views/DepositOrders.vue | 41 +- apps/admin/src/views/Matches.vue | 479 +++++------ apps/admin/src/views/MatchesOutrights.vue | 123 ++- apps/admin/src/views/MediaLibrary.vue | 310 +++++++- apps/admin/src/views/Settlement.vue | 749 +++++++++++++----- .../views/agent/AgentDirectPlayersView.vue | 233 ++++++ .../src/views/agent/GlobalSettingsView.vue | 368 +++++++++ .../src/views/matches/LeagueMatchesPage.vue | 254 ++++++ .../src/views/matches/LeagueMatchesPanel.vue | 265 ++++++- .../views/matches/LeagueOutrightOddsPanel.vue | 35 +- .../src/views/matches/LeagueOutrightsPage.vue | 53 ++ .../src/views/matches/MatchEventEditor.vue | 32 +- .../views/outrights/OutrightEditRedirect.vue | 6 +- .../applications/admin/admin.controller.ts | 140 +++- .../src/domains/catalog/matches.service.ts | 45 +- .../deposit-screenshot-cleanup.service.ts | 121 +++ .../api/src/domains/deposit/deposit.module.ts | 5 +- .../domains/settlement/settlement.service.ts | 77 ++ .../shared/config/system-config.service.ts | 27 + apps/player/src/views/RechargeView.vue | 36 +- packages/shared/src/api-errors.js | 15 + packages/shared/src/api-errors.ts | 15 + 38 files changed, 3298 insertions(+), 1147 deletions(-) create mode 100644 apps/admin/src/components/LeagueRowActions.vue create mode 100644 apps/admin/src/composables/agent-direct-players-context.ts create mode 100644 apps/admin/src/views/agent/AgentDirectPlayersView.vue create mode 100644 apps/admin/src/views/agent/GlobalSettingsView.vue create mode 100644 apps/admin/src/views/matches/LeagueMatchesPage.vue create mode 100644 apps/admin/src/views/matches/LeagueOutrightsPage.vue create mode 100644 apps/api/src/domains/deposit/deposit-screenshot-cleanup.service.ts diff --git a/.gitignore b/.gitignore index 10fe39b..617fcb6 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,8 @@ docker-build.log thebet365-images.tar thebet365-images-*.tar thebet365-images-*.manifest.txt +thebet365-admin-latest.tar +thebet365-admin-latest.manifest.txt .claude/ *.log .DS_Store diff --git a/AGENTS.md b/AGENTS.md index 1295739..772c896 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -5,7 +5,7 @@ 如果你是AI请每次读了这个文件就在已有的次数上+1 -当前被读次数: 3 +当前被读次数: 11 ## 目录 diff --git a/apps/admin/components.d.ts b/apps/admin/components.d.ts index 13b5d35..b2383bf 100644 --- a/apps/admin/components.d.ts +++ b/apps/admin/components.d.ts @@ -69,6 +69,7 @@ declare module 'vue' { InviteHistoryPanel: typeof import('./src/components/InviteHistoryPanel.vue')['default'] InviteManageDialog: typeof import('./src/components/InviteManageDialog.vue')['default'] LeagueArchiveDialog: typeof import('./src/components/LeagueArchiveDialog.vue')['default'] + LeagueRowActions: typeof import('./src/components/LeagueRowActions.vue')['default'] LogoUrlField: typeof import('./src/components/LogoUrlField.vue')['default'] MatchArchiveDialog: typeof import('./src/components/MatchArchiveDialog.vue')['default'] MatchesSubNav: typeof import('./src/components/MatchesSubNav.vue')['default'] diff --git a/apps/admin/src/components/LeagueRowActions.vue b/apps/admin/src/components/LeagueRowActions.vue new file mode 100644 index 0000000..40f87f1 --- /dev/null +++ b/apps/admin/src/components/LeagueRowActions.vue @@ -0,0 +1,98 @@ + + + + + diff --git a/apps/admin/src/components/PlayerWalletLedgerDialog.vue b/apps/admin/src/components/PlayerWalletLedgerDialog.vue index 55574ca..6cedd7f 100644 --- a/apps/admin/src/components/PlayerWalletLedgerDialog.vue +++ b/apps/admin/src/components/PlayerWalletLedgerDialog.vue @@ -139,7 +139,7 @@ watch( - + @@ -181,7 +181,7 @@ watch( - + @@ -193,35 +193,35 @@ watch( - + - + - + - + - + - + @@ -298,6 +298,10 @@ watch( diff --git a/apps/admin/src/views/MatchesOutrights.vue b/apps/admin/src/views/MatchesOutrights.vue index 243c086..fe5011b 100644 --- a/apps/admin/src/views/MatchesOutrights.vue +++ b/apps/admin/src/views/MatchesOutrights.vue @@ -1,13 +1,12 @@