# This is NOT the Next.js you know This version has breaking changes — APIs, conventions, and file structure may all differ from your training data. Read the relevant guide in `node_modules/next/dist/docs/` before writing any code. Heed deprecation notices. ## 玩家双模式(钱包 / 信用) 后端字段(`players` 表): | 字段 | 值 | 含义 | |------|-----|------| | `funding_mode` | `wallet` / `credit` | 主站钱包 vs 信用盘 | | `auth_source` | `main_site_sso` / `lottery_native` | 主站 SSO vs 彩票端账号 | **后台统一用法(不要各页手写 `funding_mode === "credit"`):** - `isCreditFundingPlayer(row)` / `playerUsesCredit(row)` — 是否信用盘 - `playerShowsTransferOrders(row)` — 是否展示主站转账单 - `playerFundingModeLabel` / `playerAuthSourceLabel` — 文案 - `playerBalanceCells` — 列表余额列(信用用 major 额度,钱包用 minor) - `` / `` — 表格徽章 **模块边界:** - `/admin/wallet/*`:仅**主站钱包**流水与转账单 - `/admin/settlement-center` → **账务流水**单页(筛选 + 分类 + 表格 + ⋯ 操作),合并信用/收付/调账/坏账;**账单**单页用分类筛选待确认/待收付等 - 玩家详情:按 `funding_mode` 切换 Tab(信用流水 / 钱包流水;信用盘隐藏转账单) 新增涉及玩家资金的页面时,先读 `src/lib/admin-player-display.ts`。 ## Learned User Preferences - 占成/授信/回水/上限等数值字段用 `AdminNumericStepper`(± 步进 + 可手输),勿单独裸 `input[type=number]`。 ## Learned Workspace Facts - 无接入站时依赖站点的页面展示 ``;仅 `profile.is_super_admin` 显示创建入口。 - 超管判定用登录态 `is_super_admin`,勿用站点角色或 `admin_user_site_roles` 绑定推断。 - 站点管理员(`profile.site != null`)代理 UI 绕过选中代理的 `can_create_*` 门控,按自身 manage 权限展示 Tab/操作。 - 站点管理员在代理下创建玩家须传 `agent_node_id`(与超管同逻辑),勿默认挂根代理。 - 客户接入文档公开站:`/docs`(首页)、`/docs/integration`(接入正文),无需 `/admin` 登录;旧 `/admin/docs/integration-guide` 重定向至此。 - `SettlementBillRow` 无 `currency_code`;账单金额展示用玩家 `default_currency`。