feat: 赛事管理操作日志与审计页体验优化

- API 为赛事/联赛/盘口/赔率/冠军盘写操作写入 CATALOG 审计日志,并新增 catalog-audit-logs 接口

- 管理端将赛事日志独立至赛事管理子页,通用操作日志排除 CATALOG 模块

- 统一赛事子页 list-chrome 布局与面包屑;修复操作日志页表格滚动与分页不可见问题

- 补充中英文/马来语文案及 UAT 验收项 SEC013/SEC014

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-16 10:00:24 +08:00
parent 567ec9ec8a
commit 2a8b8415e7
17 changed files with 850 additions and 216 deletions

View File

@@ -247,6 +247,7 @@ const zh: Record<string, string> = {
'nav.matches.fixtures': '赛事配置',
'nav.matches.outrights': '优胜赛配置(盘口)',
'nav.matches.market_templates': '盘口模板',
'nav.matches.audit_logs': '赛事日志',
'page.matches.title': '赛事管理',
'page.matches.desc': '草稿可编辑、删除;已发布可改开赛时间与热门;未结算可下架',
'page.bets.title': '注单管理',
@@ -254,7 +255,9 @@ const zh: Record<string, string> = {
'page.cashback.title': '返水管理',
'page.cashback.desc': '按周期生成返水并发放',
'page.audit.title': '操作日志',
'page.audit.desc': '记录所有管理操作行为',
'page.audit.desc': '账务、用户、结算等非赛事类管理操作',
'page.matches_audit.title': '赛事日志',
'page.matches_audit.desc': '联赛、赛事、盘口、赔率、冠军盘等赛事管理操作',
'page.settlement.title': '赛事结算',
'page.agent_dash.title': '代理概览',
'page.agent_dash.desc': '下线经营概况与分布',
@@ -543,6 +546,7 @@ const en: Record<string, string> = {
'nav.matches.fixtures': 'Fixtures',
'nav.matches.outrights': 'Outright odds',
'nav.matches.market_templates': 'Market templates',
'nav.matches.audit_logs': 'Match logs',
'page.matches.title': 'Matches',
'page.matches.desc': 'Edit/delete drafts; adjust kickoff and featured when published; unpublish while unsettled',
'page.bets.title': 'Bets',
@@ -550,7 +554,9 @@ const en: Record<string, string> = {
'page.cashback.title': 'Cashback',
'page.cashback.desc': 'Generate and issue cashback by period',
'page.audit.title': 'Audit Log',
'page.audit.desc': 'Administrator action history',
'page.audit.desc': 'Non-catalog admin actions: users, wallet, settlement, etc.',
'page.matches_audit.title': 'Match Logs',
'page.matches_audit.desc': 'Leagues, fixtures, markets, odds, and outright operations',
'page.settlement.title': 'Settlement',
'page.agent_dash.title': 'Agent overview',
'page.agent_dash.desc': 'Downline performance at a glance',
@@ -839,6 +845,7 @@ const ms: Record<string, string> = {
'nav.matches.fixtures': 'Konfigurasi perlawanan',
'nav.matches.outrights': 'Odds juara',
'nav.matches.market_templates': 'Templat pasaran',
'nav.matches.audit_logs': 'Log perlawanan',
'page.matches.title': 'Perlawanan',
'page.matches.desc': 'Edit/padam draf; laraskan masa mula bila diterbitkan; nyahterbit jika belum selesai',
'page.bets.title': 'Pertaruhan',
@@ -846,7 +853,9 @@ const ms: Record<string, string> = {
'page.cashback.title': 'Rebat',
'page.cashback.desc': 'Jana dan keluarkan rebat mengikut tempoh',
'page.audit.title': 'Log audit',
'page.audit.desc': 'Sejarah tindakan pentadbir',
'page.audit.desc': 'Tindakan bukan katalog: pengguna, dompet, penyelesaian, dll.',
'page.matches_audit.title': 'Log perlawanan',
'page.matches_audit.desc': 'Liga, perlawanan, pasaran, odds, dan outright',
'page.settlement.title': 'Penyelesaian',
'page.agent_dash.title': 'Gambaran ejen',
'page.agent_dash.desc': 'Prestasi downline sepintas lalu',