

# 《"36字花" 数字竞猜游戏功能需求与详细流程规格说明书 (PRD)》

**文档版本**：V 1.0 (最终定稿版)
**项目定位**：高频（30秒/期）、高爆率、多国本地化数字竞猜平台

## 一、 系统全局架构与底层规范

### 1.1 多币种与游戏币体系（统一结算层）
为支持多国市场无缝拓展，系统底层不直接使用法币（如 RM、IDR）进行业务流转：
*   **充值兑换**：用户使用本地法币充值，资金到账后，系统根据实时/固定汇率自动转化为平台统一的**游戏币（Coins/Credits）**。
*   **前端展示**：所有下注、余额、开奖金额均显示为统一的“游戏币图标 + 数值”（如 💎 100）。
*   **提现结汇**：提现时，系统将游戏币按提现国的当前汇率反向换算为本地法币打款。
*   **技术优势**：代理分佣、AI算票引擎完全剥离汇率波动，仅对游戏币进行纯数学计算，极大降低系统复杂度。

### 1.2 分布式站点架构
系统拆分为三个独立的前端与一个核心后端服务：
1.  **用户前端 (User Portal)**：H5/Web响应式，面向玩家游玩。
2.  **代理后台 (Agent Portal)**：面向总代理/子代理的数据与分佣端。
3.  **总控后台 (Admin Portal)**：面向平台运营方的全局管控端。

### 1.3 域名与防封安全架构
*   采用 **方案A（反向代理 + CDN 隐藏源站） + 方案D（域名轮换池 Domain Pool）** 的组合方案。确保源站IP完全隐藏，入口域名被封时可秒级切换备用域名。

---

## 二、 核心玩法与游戏机制

### 2.1 36字花字典对照表
系统包含36个字号，分为生肖、猛兽、飞禽、虫蛇、神兽五大类。前端需展示“编号+名称+专属插画”。

| 编号 | 名称 | 编号 | 名称 | 编号 | 名称 |
| :---: | :---: | :---: | :---: | :---: | :---: |
| 01 | 鼠 | 02 | 牛 | 03 | 虎 |
| 04 | 兔 | 05 | 龙 | 06 | 蛇 |
| 07 | 马 | 08 | 羊 | 09 | 猴 |
| 10 | 鸡 | 11 | 狗 | 12 | 猪 |
| 13 | 狮 | 14 | 象 | 15 | 鹿 |
| 16 | 熊 | 17 | 狼 | 18 | 豹 |
| 19 | 鹰 | 20 | 鹤 | 21 | 孔雀 |
| 22 | 鸳鸯 | 23 | 鸵鸟 | 24 | 天鹅 |
| 25 | 蟾蜍 | 26 | 蜘蛛 | 27 | 蝙蝠 |
| 28 | 蜈蚣 | 29 | 蝎 | 30 | 蛇蜥 |
| 31 | 麒麟 | 32 | 凤凰 | 33 | 青龙 |
| 34 | 白虎 | 35 | 朱雀 | 36 | 玄武 |

其中 01-12 为十二生肖，13-18 为猛兽类，19-24 为飞禽类，25-30 为虫蛇类，31-36 为神兽类。

### 2.2 游戏节奏（30秒循环制）
每局精确耗时30秒，分为两个绝对阶段：

*   **【常态阶段 / 下注期】 (0-20秒)**
    *   倒计时 20 秒启动，接收玩家下注。
    *   **UI表现**：前端界面的 36 个格子上的高亮光圈，呈现**持续不断、不规则、快速的随机跳动**，营造强烈的赌场氛围。
*   **【封盘开奖期】 (20-30秒)**
    *   **第 20.0 秒**：准时锁盘。在此之后到达服务器的任何延迟请求（如因网络卡顿），直接**拒单退回（提示：已封盘，下注失败）**。
    *   **第 20-22 秒（AI算票）**：AI 引擎瞬间完成全网盈亏计算并得出结果。
    *   **第 22-25 秒（开奖动画与异步派彩）**：后端在第 22.0 秒得出结果后，立刻将派彩结算指令打入 MQ 异步执行。同时前端高亮光圈加速跳动，配合紧张心跳音效。在3秒内不规则快速跳动后，“啪”地一声**定格**在最终中奖号码上。
    *   **第 25-30 秒（结算展示）**：前端通过轮询/推送接收到余额更新通知，开始播放中奖者全屏/半屏的**金币喷洒动画（伴随爆金音效）**，弹出醒目提示【恭喜获得 💎 XXX】。

### 2.3 下注交互与限制
*   **便捷筹码**：提供 💎1, 5, 10, 25, 50, 100 的快捷筹码按钮。
*   **下注限制**：默认每场最多选 **5个数字**（后台可配）。单局内所选的每个数字，下注金额必须一致。
*   **单注上限**：后台须配置“单号最高下注额（Max Bet Limit）”（如 💎500），以对冲超级连赢带来的数学风险。
*   **快捷操作**：
    *   **重复上一注 (Re-bet)**：一键复制上一局的选号和金额并提交。
    *   **自动托管 (Auto-Spin)**：允许设定连续下注 N 局。采用**服务端执行、逐局扣款**机制。开启后，服务器将在每局的 **00:00 - 00:10 秒之间（引入随机抖动，防止并发风暴）**平滑地为所有托管玩家自动扣款下注，直至局数完成或余额不足。

---

## 三、 连续中奖 (Streak Bonus) & 大奖 (Jackpot) 规则

### 3.1 赔率累加机制
*   基础赔率为 **1:33**。
*   玩家连续中奖时，赔率累加：第1场 1:33；连中2场 1:66；连中3场 1:99... 依此类推。
*   只要某场未中奖（中断），连续记录清零，赔率重置为 1:33。
*   **【跳局处理规则】**：出于提高活跃度和平台流水考虑，**连胜必须基于系统的“连续期号”判断**。若玩家在连胜期间，主动跳过了某一局（未下注），则连胜状态**直接强制清零**。

### 3.2 连赢期间的“换注限制”
为了防止玩家利用连赢的高赔率恶意“洗盘梭哈”：
*   **下注金额锁定**：若第 N 轮中奖，则第 N+1 轮的**总下注金额上限**严格锁定为第 N 轮的实际总下注额。（如：上轮总共下了💎100，本轮最多只能下💎100；若本轮只下了💎10并中奖，下一轮上限将降为💎10）。
*   **选号策略自由**：在总金额不超限的前提下，**允许玩家改变选字的数量**。例如：上一轮花💎100买了5个字，本轮可以花💎100全押在1个字上。

### 3.3 Jackpot 百万大奖触发
*   当玩家连续中奖达到 **10 场** 时触发。
*   **触发门槛与限红**：为防止利用极小注额套取大奖，系统设定【Jackpot资格最小下注额】（如单注连续 ≥ 💎50）。若连胜中有任何一局未达大奖基准入场额，连胜仅享受常规多倍赔率，**不触发额外 Jackpot 大奖**。
*   **派发逻辑（额外叠加）**：达标玩家正常获得第10场应得的常规连赢派彩，系统将在此基础上，**额外发放 Jackpot 大奖（如 💎100万）**。
*   触发后，连续中奖场次重置为0。

---

## 四、 AI算票风控与开奖系统

### 4.1 自动开奖引擎（利润最大化 + 随机放水）
*   **第一优先级**：AI在封盘后遍历36个数字的全局赔付（包含当前所有人的连胜倍率计算），优先开出让平台**总赔付最少（利润最大）**的数字。
*   **RTP 全局风控放水池**：
    *   系统累积平台抽水利润的固定比例进入“放水池”。
    *   当开出某个高赔付（如触发别人连胜或大奖）造成的亏损 **小于** 当前放水池余额时，AI 有一定概率（后台可配，如15%）主动开出该数字，制造真实大奖作为营销案例。

### 4.2 手动开奖机制
*   管理员在后台一键切换至“手动模式”。
*   为了避免 10 秒开奖期的操作延误，管理员必须在**下注倒计时期间（前20秒内）**提前选定本局必开数字。20秒锁盘后，系统直接开出预设号码。

### 4.3 灾难恢复 (Disaster Recovery)
*   若系统在某局运行中途（如第25秒）遭遇断电或宕机崩溃。
*   服务器重启后的首要动作是自动执行 **“作废退本 (Void & Refund)”** 脚本：该期残局作废，退回所有玩家本局投注的本金，杜绝暗箱操作嫌疑。

---

## 五、 代理体系：普通刷水代理与联营合营代理双轨制 (Agent & Affiliate System)

为了适应不同渠道的推广需求，系统代理账号不开放前台自助注册（必须由后台人工创建或通过专属代理邀请码裂变），并支持**两条平行的代理分佣路线**：

### 5.1 普通刷水代理（以流水分桶为导向）
这是一种不承担玩家赢钱风险的基础代理模式。
1.  **大盘盈亏判断**：周期结算时，优先计算全平台总盈亏。若全平台整体亏损或平局，则该周期内所有此类代理不分佣。
2.  **计算流水占比**：若全平台盈利，则按某代理整条线下注流水占全平台总流水的百分比，分配资金池。（*应分红 = 平台总盈利 × 该线下注流水占比%*）。
3.  **无负结转优势**：即便该代理名下的玩家赢了钱，只要全平台大盘是盈利的，其依然可按流水占比分佣。

### 5.2 多级拨比机制
在上述“分桶利润分配”算法中，系统支持无限线代理树的极差分账。例如：GM 给出的盘口总分红给到顶部总代的是 80%，当这个总代拿手上的分红比例拨给下级时，若他给 70%，则这位下级能拿单线利润基数的 70%，总代由于极差卡段，自己这条线只能拿到 10%（80%-70%）的差额利润。这个级差裂变能一直往下分直到没有 % 为止。

### 5.3 联营代理模式 (Affiliate Agent / 客损占成分成)
这是专为有强大客源且愿意与平台**“共担风险、共享高利润”**的高级代理设计的模式（即行业标准的**联营 / 占成代理**）。
*   **角色定位**：联营代理脱离于普通流水池，直接对其名下所有会员的总客损（净输赢）负责。
*   **净亏损分润**：结算时，系统统计该联营代理辖区内的【玩家总输赢】，扣除平台抽水与通道费后得出【净客损】。联营代理按配置的**占成比例**（如 50%）直接分走这笔客损。
*   **负结转 (Negative Carryover)**：这是联营核心机制。如果该联营代理名下的玩家在当期大赢，导致结算时客损为负（代理亏钱），该亏损数字将“结转”至该代理的下期账单中。在后续周期里，必须先用玩家的输额填平该负结转账单后，代理才能恢复分红提现。

---

## 六、 用户与财务风控流程

### 6.1 用户交互与注册
*   只需手机号/邮箱+密码注册，**无需 KYC 实名认证**。
*   **路子图 (走势图)**：前端界面底部提供类似百家乐大路/珠盘路的走势图。以数字区分：单数使用**红色图标**（Odd），双数使用**蓝色图标**（Even），仅保留最近30期。

### 6.2 平台公告与运营触达流程
为保证由于赔率调整、节日活动或临时维护等重要信息能 100% 触达玩家，前端具备两级触达机制：
*   **静默收件箱 (Silent Mailbox)**：常规活动或系统通知直接派发至用户的【公告信箱/站内信】，UI 仅显示红点提示，不中断玩家游戏体验。
*   **强阻断强制公告 (Pop-out Notification)**：具有最高优先级。运营在后台下发此级公告后，无论玩家在任何界面、或者新用户首次登录，系统立即在屏幕中央弹出该公告弹窗。玩家**必须手动勾选“已阅读并同意”**后才可关闭弹窗并继续游戏下注。

### 6.3 财务风控与提现
*   **提现门槛**：用户必须完成历史总充值额 **1倍流水** 的有效下注方可提现，防止恶意洗钱。
*   **提现限制**：最低提现 💎100，系统自动扣除 0.5% 手续费。
*   **人工审核强阻断**：任何触发 **100万 Jackpot** 或达到系统设定的超大额提现标准的资金，不会直接进入可用余额，而是进入“冻结/审核中”状态。必须由总后台管理员核查 IP 与下注流水，点击【通过】后方可打款。

### 6.4 历史数据展示限制
*   前端的下注记录、开奖记录仅展示**最近 1 个月**的数据。
*   历史更久远的数据前端做隐藏处理，减少数据库连表查询压力。

---

## 七、 技术性能要求规范

由于“30秒/期”属超高频高并发场景，系统架构必须满足以下规范：

1.  **冷热数据分离架构**：
    *   必须引入 **Redis** 内存数据库，用于存放最新30期开奖记录、当前进行中的下注队列、以及玩家当前的连赢（Streak）状态。确保 AI 引擎 2 秒内完成算票。
    *   引入 **ElasticSearch 或 ClickHouse** 存储海量历史注单与资金流水，与交易主库隔离开来。
2.  **异步派彩机制**：
    *   开奖后的批量资金入账、连胜进度更新、以及站内信发送，必须采用 **消息队列 (Kafka / RabbitMQ)** 异步削峰处理。严禁在 10 秒结算期内使用数据库同步强锁表，防止并发雪崩。
3.  **API 频控 (Rate Limiting)**：
    *   用户端及代理端所有核心 API（如下注、提现申请）必须配置严格的频率限制，防止恶意脚本撞库或刷单。