feat(agents, config, dashboard, i18n): add agent line provision wizard, site deletion, and site dashboard with multi-language support

Added agent line provision wizard page with permission gating, replacing redirect placeholder. Introduced site deletion API and UI with confirmation dialog in integration sites management. Added new site-scoped dashboard panel showing bet metrics, P/L trends, active players, and quick links. Enhanced chart tooltip to support custom formatters and fix indicator color
This commit is contained in:
2026-06-12 20:47:53 +08:00
parent 24fd7c10bd
commit 6ea0a6feec
48 changed files with 1573 additions and 629 deletions

View File

@@ -301,15 +301,12 @@
},
"lineProvision": {
"title": "创建一级代理",
"description": "将一级代理绑定到已有接入站点,并配置后台登录账号与占成、授信、回水、结算周期。代理编码创建后不可修改。",
"description": "将一级代理绑定到已有接入站点,并配置后台登录账号与占成、授信、回水、结算周期。",
"siteCode": "接入站点",
"siteCodePlaceholder": "选择站点",
"siteRequired": "请选择接入站点",
"codeRequired": "请填写代理编码",
"codePatternInvalid": "代理编码仅支持字母、数字、下划线和中划线,且需以字母或数字开头",
"noUnboundSite": "暂无未绑定一级代理的站点",
"openIntegrationSites": "前往接入站点",
"code": "代理编码",
"name": "一级代理名称",
"username": "后台登录账号",
"password": "初始密码",

View File

@@ -111,6 +111,10 @@
"loading": "加载中…",
"comingSoon": "功能开发中"
},
"integrationSites": {
"emptyPlatformHint": "暂无接入站点。请先创建站点,再进行代理、玩家、结算等业务操作。",
"createSite": "去创建接入站点"
},
"errors": {
"loadFailed": "加载失败"
},

View File

@@ -72,6 +72,13 @@
"rotateConfirmTitle": "确认重置密钥?",
"rotateConfirmDescription": "将重新生成站点 {{code}} 的 SSO 与钱包密钥,旧密钥立即失效。",
"rotateConfirm": "确认重置",
"delete": "删除站点",
"deleteSuccess": "已删除站点 {{code}}",
"deleteFailed": "删除站点失败",
"deleteConfirmTitle": "确认删除站点?",
"deleteConfirmDescription": "将永久删除站点 {{code}}{{name}})及其代理链、账期、玩家与站点后台账号,此操作不可恢复。",
"deleteConfirm": "确认删除",
"deleting": "删除中…",
"secretsTitle": "请妥善保存密钥",
"secretsDescription": "站点 {{code}} 的密钥仅显示一次,关闭后无法再次查看完整内容。",
"secretsDismiss": "我已保存",

View File

@@ -156,9 +156,35 @@
"riskMonitor": "风控监控",
"systemSettings": "系统设置"
},
"site": {
"title": "站点概览",
"subtitle": "{{name}} · 本站点",
"todayBet": "今日下注",
"todayProfit": "今日盈亏",
"sevenDayTitle": "近 7 天走势",
"sevenDayProfit": "近 7 天盈亏",
"profitScopeHint": "站点口径:投注减派彩(不含占成拆分)",
"activePlayersToday": "今日活跃玩家",
"betOrdersTodayHint": "今日 {{count}} 单",
"pendingBills": "待结账单",
"pendingUnpaid": "未结合计 {{amount}}",
"latestBetAt": "最近下注 {{time}}",
"noBetToday": "今日暂时没有下注",
"scaleTitle": "站点规模",
"agentCount": "代理节点",
"playerCount": "玩家总数",
"topAgentToday": "今日投注最高代理:{{name}}{{amount}}",
"quickLinks": {
"tickets": "注单查询",
"players": "玩家管理",
"reports": "报表统计",
"agents": "代理组织",
"bills": "结算中心"
}
},
"agent": {
"title": "经营概览",
"subtitle": "本线路数据范围 · {{name}}",
"subtitle": "{{name}} · 本线路",
"heroEyebrow": "今日经营驾驶舱",
"heroTitle": "{{name}} 的线路动态",
"creditTitle": "授信额度",
@@ -176,6 +202,7 @@
"teamPlayers": "线路玩家数",
"activePlayersToday": "今日活跃玩家",
"betOrdersToday": "今日下注单数",
"betOrdersTodayHint": "今日 {{count}} 单",
"todayBet": "今日下注",
"todayPayout": "今日派彩",
"todayProfit": "今日盈亏",
@@ -202,6 +229,7 @@
"yes": "是",
"no": "否",
"viewBills": "查看账单",
"lineMeta": "层级 {{depth}} · 可开下级 {{childAgent}} · 可开玩家 {{player}}",
"viewLine": "代理线路",
"quickLinks": {
"tickets": "注单查询",

View File

@@ -159,7 +159,6 @@
"paid": "已收付",
"unpaid": "未结",
"status": "状态",
"billId": "账单 ID",
"payer": "付款方",
"payee": "收款方",
"amount": "金额",
@@ -282,7 +281,8 @@
"player": "玩家账单",
"agent": "代理账单",
"pendingConfirm": "待确认",
"awaitingPayment": "待收付"
"awaitingPayment": "待收付",
"all": "全部"
},
"quickFilter": {
"title": "当前想看哪一层结算",
@@ -318,22 +318,49 @@
},
"hierarchyHint": "同一账期会生成多笔账单:玩家先与直属代理结,代理扣除本级占成后再向上级缴纳。因此「输赢」可能相同,但「结算金额」会逐级减少。",
"emptyFiltered": "当前筛选下暂无账单,请改为「全部状态」或重置筛选。",
"emptyClosed": "本期已关账但暂无账单。常见原因:账期内无信用盘玩家的已结算注单,或占成流水不在本账期时间范围内。"
"emptyClosed": "本期已关账但暂无账单。常见原因:账期内无信用盘玩家的已结算注单,或占成流水不在本账期时间范围内。",
"intro": "关账后生成的占成账单。可按类型或状态筛选,详情内确认或登记收付。"
},
"panels": {
"workbench": { "title": "工作台" },
"overview": { "title": "结算概览" },
"ledger": { "title": "账务流水" },
"bills": { "title": "全部账单" },
"creditLedger": { "title": "信用流水" },
"playerBills": { "title": "玩家账单" },
"agentBills": { "title": "代理账单" },
"pendingConfirm": { "title": "待确认账单" },
"awaiting": { "title": "待收付账单" },
"payments": { "title": "收付记录" },
"adjustments": { "title": "调账 / 冲正" },
"reports": { "title": "账期报表" },
"badDebt": { "title": "坏账核销" }
"workbench": {
"title": "工作台"
},
"overview": {
"title": "结算概览"
},
"ledger": {
"title": "账务流水"
},
"bills": {
"title": "全部账单"
},
"creditLedger": {
"title": "信用流水"
},
"playerBills": {
"title": "玩家账单"
},
"agentBills": {
"title": "代理账单"
},
"pendingConfirm": {
"title": "待确认账单"
},
"awaiting": {
"title": "待收付账单"
},
"payments": {
"title": "收付记录"
},
"adjustments": {
"title": "调账 / 冲正"
},
"reports": {
"title": "账期报表"
},
"badDebt": {
"title": "坏账核销"
}
},
"empty": {
"noSite": "请选择站点。",
@@ -356,5 +383,20 @@
"loadAdjustments": "调账记录加载失败",
"loadBadDebt": "坏账记录加载失败",
"loadCreditLedger": "信用流水加载失败"
},
"header": {
"subtitle": "信用盘结算",
"statusRunning": "账期进行中",
"statusIdle": "无进行中账期",
"statusCompleted": "账期已结清"
},
"subnav": {
"label": "结算中心导航"
},
"workbench": {
"viewPeriod": "账期",
"closePreset": "关账 · {{label}}",
"closeNoData": "关账失败:账期内无占成流水,请先完成信用盘开奖结算。",
"openPeriodPipeline": "开账 {{range}} · 占成流水 {{share}} 笔"
}
}