feat(admin, i18n): enhance reports, draws, config, and player workflows

This commit is contained in:
2026-06-08 17:41:55 +08:00
parent af982bb9f7
commit 7e65c53732
55 changed files with 1986 additions and 804 deletions

View File

@@ -168,7 +168,7 @@
"draws": "期号列表",
"config": "运营配置",
"rules_plays": "投注规则",
"rules_odds": "赔率与回水",
"rules_odds": "赔率与基础回水",
"risk_cap": "限额版本",
"risk": "风控",
"settlement": "结算",

View File

@@ -150,7 +150,7 @@
"reports": "报表中心",
"draws": "期号列表",
"rules_plays": "投注规则",
"rules_odds": "赔率与回水",
"rules_odds": "赔率与基础回水",
"rules": "投注规则",
"risk_cap": "限额版本",
"risk": "风控中心",

View File

@@ -15,9 +15,9 @@
"risk-cap": "赔付封顶"
},
"rulesPlaysTitle": "投注规则",
"rulesOddsTitle": "赔率与回水",
"rulesOddsDescription": "赔率矩阵与回水比例在同一页维护,共用赔率版本线。",
"rulesOddsDescriptionShort": "左侧选玩法,右侧改赔率与回水;修改后记得保存草稿并发布。",
"rulesOddsTitle": "赔率与基础回水",
"rulesOddsDescription": "赔率矩阵与基础回水在同一页维护,共用赔率版本线。",
"rulesOddsDescriptionShort": "左侧选玩法,右侧改赔率与基础回水;代理/玩家回水需在此基础上叠加,修改后记得保存草稿并发布。",
"riskCapTitle": "限额版本"
},
"hub": {
@@ -25,8 +25,8 @@
"description": "按业务域进入玩法、赔率回水、奖池与限额配置;接入站点在侧栏「平台管理 → 接入配置」。",
"playsTitle": "投注规则",
"playsDesc": "玩法开关、限额与规则说明",
"oddsTitle": "赔率与回水",
"oddsDesc": "赔率矩阵与回水比例,版本一体发布",
"oddsTitle": "赔率与基础回水",
"oddsDesc": "赔率矩阵与基础回水,版本一体发布",
"jackpotTitle": "奖池",
"jackpotDesc": "奖池参数与进账流水",
"riskCapTitle": "限额版本",
@@ -360,6 +360,20 @@
"readOnlyDraftHint": "当前版本为只读,请先创建草稿。",
"batchEnabledCount": "{{enabledCount}}/{{total}} 已开启",
"noPlayTypes": "暂无玩法",
"filters": {
"sectionTitle": "筛选玩法",
"sectionDescription": "先缩小范围,再进行批量开关或逐项修改。",
"keyword": "搜索玩法",
"keywordPlaceholder": "按玩法编码、显示名或分类筛选",
"category": "分类",
"status": "状态",
"allCategories": "全部分类",
"allStatuses": "全部状态",
"uncategorized": "未分类",
"reset": "清空筛选",
"empty": "没有匹配的玩法",
"groupCount": "{{count}} 个玩法"
},
"actions": {
"enable": "开启",
"disable": "关闭",
@@ -371,6 +385,13 @@
"en": "English",
"ne": "नेपाली"
},
"categories": {
"standard": "标准类",
"attribute": "属性类",
"position": "位置类",
"box": "包号类",
"jackpot": "奖池类"
},
"table": {
"playCode": "玩法编码",
"category": "分类",
@@ -422,7 +443,7 @@
},
"currentSelection": "当前选择:{{category}} / {{play}}",
"playSelectPlaceholder": "选择玩法",
"readOnlyBanner": "当前版本只读,需先创建草稿才能修改赔率与回水。",
"readOnlyBanner": "当前版本只读,需先创建草稿才能修改赔率与基础回水。",
"table": {
"prizeScope": "奖级范围",
"multiplier": "赔率倍数"
@@ -461,11 +482,11 @@
"loadingDetails": "正在加载详情…",
"multiplier": "倍数 x{{value}} · {{currency}}",
"missingScopeRow": "缺少 {{scope}} 对应行,请检查种子或版本数据。",
"rebateRate": "回水比例 (%)",
"rebateRateHint": "会把 rebate_rate 写入该玩法下所有奖级范围。",
"rebateRate": "基础回水比例 (%)",
"rebateRateHint": "这里维护的是平台基础回水,会把 rebate_rate 写入该玩法下所有奖级范围;代理/玩家回水需在此基础上叠加。",
"placeholders": {
"multiplier": "请输入赔率倍数",
"rebateRate": "请输入返点比例"
"rebateRate": "请输入基础回水比例"
},
"publishFailed": "发布失败",
"createDraftSuccess": "已创建草稿 v{{version}}",
@@ -490,33 +511,33 @@
}
},
"rebate": {
"sectionHint": "回水比例写入赔率版本;请先在上方选择或创建赔率草稿。",
"sectionHint": "这里配置的是基础回水,写入赔率版本;请先在上方选择或创建赔率草稿。",
"lazyLoadHint": "向下滚动至回水区域后加载",
"embeddedVersionHint": "回水与上方赔率共用版本线,请在「赔率」区块切换版本。",
"embeddedVersionHint": "基础回水与上方赔率共用版本线,请在「赔率」区块切换版本。",
"sheetDescription": "回水配置存放在赔率草稿版本中,与赔率共用同一套版本记录。",
"publishLabel": "发布",
"publishSuccess": "已发布带回水的赔率版本",
"publishFailed": "发布失败",
"publishDialog": {
"title": "确认发布回水/赔率版本?",
"description": "发布后将影响后续新注单的回水计算。",
"title": "确认发布基础回水/赔率版本?",
"description": "发布后将影响后续新注单的基础回水计算;代理/玩家额外回水仍在此基础上叠加。",
"confirm": "确认发布"
},
"createDraftSuccess": "已创建草稿 v{{version}}",
"createDraftFailed": "创建草稿失败",
"deleteFailed": "删除失败",
"editingVersion": "当前编辑版本 v{{version}} · {{status}}",
"readOnlyHint": "修改回水前请先创建草稿。",
"dimensionRatesMixedHint": "检测到同一维度2D/3D/4D内各玩法的首奖级回水比例不完全相同:上方三个百分比输入仅展示按玩法编码排序后的第一个有值示例,实际回水请以下方表格各行数据为准;使用批量输入会先按维度覆盖为同一比例。",
"readOnlyHint": "修改基础回水前请先创建草稿。",
"dimensionRatesMixedHint": "检测到同一维度2D/3D/4D内各玩法的首奖级基础回水不完全相同:上方三个百分比输入仅展示按玩法编码排序后的第一个有值示例,实际基础回水请以下方表格各行数据为准;使用批量输入会先按维度覆盖为同一比例。",
"fields": {
"d2": "2D 回水比例 (%)",
"d3": "3D 回水比例 (%)",
"d4": "4D 回水比例 (%)"
"d2": "2D 基础回水比例 (%)",
"d3": "3D 基础回水比例 (%)",
"d4": "4D 基础回水比例 (%)"
},
"placeholders": {
"d2": "请输入 2D 返点",
"d3": "请输入 3D 返点",
"d4": "请输入 4D 返点"
"d2": "请输入 2D 基础回水",
"d3": "请输入 3D 基础回水",
"d4": "请输入 4D 基础回水"
},
"winEnjoy": {
"label": "中奖注单结算时再扣回水",
@@ -536,6 +557,8 @@
"validation": {
"requireAtLeastOne": "至少需要一条封顶配置",
"defaultGreaterThanZero": "默认封顶金额必须大于 0",
"defaultCannotBindDraw": "默认封顶不能绑定具体期号",
"specialGreaterThanZero": "特殊封顶金额必须大于 0{{number}}",
"numberMustBe4Digits": "号码必须为 4 位数字:{{number}}",
"enterValidCapAmount": "请输入有效的封顶金额"
},
@@ -556,14 +579,37 @@
"defaultCap": {
"title": "默认封顶",
"description": "没有单独特殊封顶的号码,统一使用这条默认封顶模板。",
"fieldLabel": "封顶金额(最小单位)"
"fieldLabel": "封顶金额(主币单位)"
},
"specialCaps": {
"title": "特殊封顶"
"title": "特殊封顶",
"description": "不选期号时表示全局号码限额;选择期号后表示该期单独限额。"
},
"scope": {
"global": "全局号码",
"drawId": "期号 ID{{id}}"
},
"groups": {
"globalTitle": "全局号码限额",
"globalDescription": "长期生效,不绑定具体期号。适合配置某个号码的常规售卖上限。",
"globalEmpty": "暂无全局号码限额。",
"drawTitle": "期号单独限额",
"drawDescription": "仅对所选期号生效。适合某一期临时收紧或放宽某个号码的限额。",
"drawEmpty": "暂无期号单独限额。",
"count": "{{count}} 条"
},
"summary": {
"defaultCap": "默认封顶",
"defaultHint": "未命中特殊配置的号码,统一回落到这里。",
"globalCaps": "全局号码限额",
"globalHint": "长期规则,不跟随单一期号变化。",
"drawCaps": "期号单独限额",
"drawHint": "仅在指定期号内临时生效。"
},
"loadingDetails": "正在加载详情…",
"noDetailRows": "暂无明细行。",
"table": {
"scope": "作用范围",
"number": "号码",
"capAmount": "封顶金额",
"used": "已占用",

View File

@@ -30,9 +30,9 @@
"queryDraw": "查询期号",
"reset": "重置",
"fuzzyDrawNo": "模糊匹配期号",
"viewDetails": "查看详情",
"viewDetails": "查看期号详情",
"editDraw": {
"action": "编辑",
"action": "编辑期号",
"title": "编辑期号",
"description": "期号 {{drawNo}} · 时间按 {{tz}} 编辑",
"drawNoPlaceholder": "请输入期号,如 20260526-008",
@@ -42,7 +42,7 @@
"failed": "更新失败"
},
"deleteDraw": {
"action": "删除",
"action": "删除期号",
"title": "删除期号",
"description": "确定删除期号 {{drawNo}}?仅适用于未开始且无注单的记录,删除后不可恢复。",
"success": "期号已删除",
@@ -56,14 +56,20 @@
"listActionsHint": "未开始且无注单:可编辑、删除;可下注/封盘/待开奖且无注单:可取消(见详情页更多操作)。",
"invalidDrawId": "无效的期号 ID",
"loadFailed": "加载失败,请检查登录与 API 配置",
"drawDetail": "开奖详情",
"drawDetail": "期号详情",
"backToList": "返回期号列表",
"detailSubtitle": "{{date}} · 第 {{seq}} 期",
"overviewTitle": "期号概览",
"overviewBetTotal": "下注总额",
"overviewPayoutTotal": "派彩总额",
"overviewProfitLoss": "盈亏",
"scheduleTitle": "时间安排",
"resultBatchesTitle": "开奖批次",
"batchSummaryTotal": "共 {{count}} 批",
"batchSummaryPending": "待审 {{count}}",
"batchSummaryPublished": "已发 {{count}}",
"noResultBatchesYet": "尚无开奖批次。",
"reviewQueueHint": "结果生成后,可前往审核与发布处理。",
"goToReviewTab": "去审核与发布",
"businessDate": "业务日",
"sequenceNo": "流水序号",

View File

@@ -3,17 +3,21 @@
"configTitle": "奖池配置",
"pageDescription": "维护各币种奖池参数,下方可查询蓄水与派彩流水。",
"poolsSectionDescription": "蓄水比例、爆池阈值、开关与手动爆池。",
"rulesTitle": "规则说明",
"rulesJoin": "只有提交成功且满足最低参与下注额的注项,才会按蓄水比例进入奖池。",
"rulesBurst": "奖池会在达到爆池阈值、达到强制爆池间隔,或命中指定组合触发玩法时释放。",
"rulesManual": "手动爆池仅限超管兜底使用,可填写后台期号数字 ID 或期号编码。",
"recordsSectionTitle": "蓄水与派彩流水",
"recordsSectionDescription": "按条件筛选派彩记录与蓄水明细,只读查询。",
"loadFailed": "加载失败",
"saveSuccess": "已保存",
"saveFailed": "保存失败",
"invalidDrawId": "请填写有效的期号 ID",
"invalidDrawId": "请填写有效的期号 ID 或期号编码",
"manualBurstSuccess": "已手动触发爆池",
"manualBurstFailed": "手动爆池失败",
"noPoolData": "暂无奖池数据",
"displayBalance": "展示余额 {{amount}}",
"currentAmount": "当前池余额(最小单位)",
"currentAmount": "当前池余额(主币单位)",
"balanceAdjustmentTitle": "余额调整",
"balanceAdjustmentHint": "须填写原因并写入调整流水;不可在「保存」中直接改余额。",
"adjustmentDirection": "方向",
@@ -33,13 +37,13 @@
"recentAdjustments": "最近调整记录",
"contributionRate": "蓄水比例 (%)",
"contributionRatePlaceholder": "如 2 表示 2%",
"triggerThreshold": "爆池阈值(最小单位)",
"triggerThreshold": "爆池阈值(主币单位)",
"triggerThresholdPlaceholder": "请输入触发阈值",
"payoutRate": "爆池派彩比例 (%)",
"payoutRatePlaceholder": "如 5 表示 5%",
"forceTriggerGap": "强制爆池间隔(已结算期数)",
"forceTriggerGapPlaceholder": "请输入强制触发间隔期数",
"minBetAmount": "最低下注额(最小单位)",
"minBetAmount": "最低参与下注额(主币单位)",
"minBetAmountPlaceholder": "请输入最低下注金额",
"comboTriggerPlays": "组合触发玩法(逗号分隔)",
"comboTriggerPlaysPlaceholder": "请输入玩法编码,多个用逗号分隔,如 straight,ibox",
@@ -50,8 +54,8 @@
"save": "保存",
"confirmSavePoolTitle": "确认保存奖池配置?",
"confirmSavePoolDescription": "将更新蓄水比例、阈值、派彩比例等参数(不含池余额);余额请使用「余额调整」。",
"manualBurstDrawId": "手动爆池期号 ID",
"manualBurstHint": "仅超级管理员可在紧急情况下触发;须该期已开奖结算且存在头奖中奖注单,按当前「爆池派彩比例」释放并派彩入账。",
"manualBurstDrawId": "手动爆池期号ID 或编码)",
"manualBurstHint": "仅超级管理员可在紧急情况下触发;可填写后台期号数字 ID 或期号编码。须该期已开奖结算且存在头奖中奖注单,按当前「爆池派彩比例」释放并派彩入账。",
"manualBurstConfirmTitle": "确认手动爆池?",
"manualBurstConfirmDescription": "将对期号 {{drawId}} 的头奖中奖玩家按奖池派彩比例分配 Jackpot并扣减奖池余额。此操作不可自动撤销。",
"processing": "处理中…",

View File

@@ -7,6 +7,7 @@
"detailSubtitle": "{{site}} · {{sitePlayerId}} · ID {{playerId}}",
"tabOverview": "概览",
"tabTickets": "注单",
"ticketTableHint": "这里展示该玩家最近注单;如需查看完整上下文,可通过行内操作跳到总注单列表继续排查。",
"tabWalletTxns": "钱包流水",
"tabCreditLedger": "信用流水",
"tabTransferOrders": "转账单",

View File

@@ -29,7 +29,7 @@
"createSummaryPlayer": "将对玩家 {{player}} 在 {{from}} 至 {{to}} 的数据发起人工对账。",
"createSummaryPending": "请选择完整的对账日期范围后,再创建任务。",
"jobsTitle": "对账任务",
"jobsDesc": "在右侧操作中查看差异明细与分页。",
"jobsDesc": "在右侧操作中查看差异明细与分页结果。",
"refresh": "刷新",
"jobNo": "任务号",
"type": "类型",
@@ -42,10 +42,18 @@
"createdAt": "创建时间",
"operate": "操作",
"view": "查看",
"detailsTitle": "任务明细",
"viewDetails": "查看差异明细",
"detailsTitle": "差异明细",
"sideARef": "彩票侧引用",
"sideBRef": "主站侧引用",
"differenceAmount": "差额(分)",
"itemResult": "检查结果",
"diagnosis": "异常说明",
"suggestedAction": "建议处理方向",
"processingStatus": "处理状态",
"quickAccess": "快捷处理",
"openTransferOrder": "查看转账单",
"openWalletTxn": "查看钱包流水",
"detectedAt": "发现时间",
"noDetails": "无明细",
"playerSearch": "指定玩家(可选)",
@@ -63,5 +71,33 @@
"statusFailed": "失败",
"itemMismatch": "不一致",
"itemMatched": "一致",
"itemPendingCheck": "待核对"
"itemPendingCheck": "待核对",
"itemStaleProcessing": "长时间处理中",
"itemPendingReconcile": "待人工对账",
"itemMissingWalletTxn": "缺少钱包流水",
"itemUnexpectedWalletTxn": "出现多余钱包流水",
"itemMissingRefund": "缺少退款流水",
"itemMissingReversal": "缺少冲正流水",
"itemResolved": "已处理",
"itemUnresolved": "未处理",
"diagnosisStaleProcessing": "转账单长时间停留在处理中,系统未拿到明确成功或失败结果。",
"diagnosisPendingReconcile": "转账单已被标记为待人工对账,需要人工确认主站与彩票侧最终结果。",
"diagnosisMissingWalletTxn": "转账单状态已推进,但彩票侧缺少对应钱包流水。",
"diagnosisUnexpectedWalletTxn": "彩票侧出现了与当前转账状态不匹配的额外钱包流水。",
"diagnosisMissingRefund": "转出失败后,应有退款流水回补,但当前未找到。",
"diagnosisMissingReversal": "转账单已冲正,但彩票侧缺少冲正流水。",
"diagnosisMatched": "该记录已对平,无需进一步处理。",
"diagnosisPendingCheck": "该记录需要继续人工确认。",
"actionStaleProcessing": "先核对主站是否已成功扣款,再查看转账单和钱包流水是否需要冲正或补记。",
"actionPendingReconcile": "优先打开转账单核对主站回执,再决定是补记入账、冲正,还是结案。",
"actionMissingWalletTxn": "打开转账单与钱包流水交叉核对,确认是否需要补记一笔钱包流水。",
"actionUnexpectedWalletTxn": "检查是否发生重复记账或错误回补,必要时按实际情况冲正。",
"actionMissingRefund": "确认主站侧失败后是否已退款;若已退款,补记彩票侧退款流水或冲正。",
"actionMissingReversal": "确认冲正是否在外部成功,再补记彩票侧冲正流水。",
"actionMatched": "无需处理。",
"actionPendingCheck": "请结合转账单与钱包流水继续核对。",
"actionResolved": "该异常已处理,当前转账单状态为:{{status}}。如需复核,请打开转账单查看处理结果。",
"transferStatusSuccess": "已成功",
"transferStatusReversed": "已冲正",
"transferStatusManual": "已结案"
}

View File

@@ -35,6 +35,7 @@
"loadFailed": "任务列表加载失败",
"downloadSuccess": "已下载 {{jobNo}}",
"downloadFailed": "下载失败",
"currentReportHint": "这里只显示当前所选报表的导出任务,避免和其他报表任务混在一起。",
"columns": {
"jobNo": "任务编号",
"report": "报表",
@@ -191,6 +192,8 @@
"stats": {
"records": "记录数",
"currentPage": "当前页",
"notQueried": "未查询",
"notSet": "未设置",
"drawNo": "期号",
"currency": "币种",
"exportRows": "导出行数",
@@ -225,12 +228,10 @@
"status": "状态",
"createdAt": "创建时间"
},
"legacyTitle": "旧版钱包报表",
"categories": {
"all": "全部",
"profit": "盈亏",
"wallet": "资金",
"legacy": "旧版口径",
"risk": "风控",
"audit": "审计"
},

View File

@@ -25,6 +25,7 @@
"actualDeduct": "实扣",
"status": "状态",
"actions": "操作",
"viewTicketInList": "查看该注单",
"failReason": "失败原因",
"winAmount": "中奖",
"placedAt": "下单时间",