Added input validation for admin login and player creation forms, ensuring usernames and passwords meet specified criteria. Introduced new components for numeric input handling in agent profile fields, improving user experience. Updated agent line detail and provision wizard to reflect these changes, enhancing overall data integrity and user interaction.
42 lines
2.2 KiB
Markdown
42 lines
2.2 KiB
Markdown
<!-- BEGIN:nextjs-agent-rules -->
|
||
# 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.
|
||
<!-- END:nextjs-agent-rules -->
|
||
|
||
## 玩家双模式(钱包 / 信用)
|
||
|
||
后端字段(`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)
|
||
- `<PlayerFundingModeBadge />` / `<PlayerLedgerSourceBadge />` — 表格徽章
|
||
|
||
**模块边界:**
|
||
|
||
- `/admin/wallet/*`:仅**主站钱包**流水与转账单
|
||
- `/admin/settlement-center` → **账务流水**单页(筛选 + 分类 + 表格 + ⋯ 操作),合并信用/收付/调账/坏账;**账单**单页用分类筛选待确认/待收付等
|
||
- 玩家详情:按 `funding_mode` 切换 Tab(信用流水 / 钱包流水;信用盘隐藏转账单)
|
||
|
||
新增涉及玩家资金的页面时,先读 `src/lib/admin-player-display.ts`。
|
||
|
||
## Learned User Preferences
|
||
|
||
- 占成/授信/回水/上限等数值字段用 `AdminNumericStepper`(± 步进 + 可手输),勿单独裸 `input[type=number]`。
|
||
|
||
## Learned Workspace Facts
|
||
|
||
- 无接入站时依赖站点的页面展示 `<AdminNoIntegrationSiteState />`;仅 `profile.is_super_admin` 显示创建入口。
|
||
- 超管判定用登录态 `is_super_admin`,勿用站点角色或 `admin_user_site_roles` 绑定推断。
|
||
- 站点管理员(`profile.site != null`)代理 UI 绕过选中代理的 `can_create_*` 门控,按自身 manage 权限展示 Tab/操作。
|
||
- 站点管理员在代理下创建玩家须传 `agent_node_id`(与超管同逻辑),勿默认挂根代理。
|