Files
thebet365/docs/默认数据说明.md
Mars 27580b2479 feat(admin,player,api): 优胜冠军通用管理与界面精简
管理端新增冠军盘列表/编辑、展开懒加载与 ECharts 修复;各列表页去掉重复标题。玩家端支持多赛事冠军盘、分批加载与语言切换刷新。API 扩展 outright CRUD 与列表性能优化。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-04 09:17:01 +08:00

6.7 KiB
Raw Blame History

默认数据说明

执行 pnpm db:migrate 后数据库仅有表结构;执行 pnpm db:seed 后会写入下文演示数据。
种子脚本位置:apps/api/prisma/seed.ts

注意:以下为开发演示用途。生产环境务必修改密码、JWT_SECRET,勿直接使用默认账号。


migrate 与 seed 的区别

命令 作用
pnpm db:migrate 按 Prisma 迁移建表 / 改表(用户、赛事、盘口、注单等)
pnpm db:seed 在已有表结构中写入演示账号、赛事、赔率、内容等

推荐顺序:先 db:migrate,再 db:seed
种子多为 upsert重复执行一般不会重复创建用户但会补全赛事、48 强夺冠盘等。


一、默认账号

用户名 密码 角色 说明
admin Admin@123 平台管理员 绑定 SUPER_ADMIN 角色
agent1 Agent@123 一级代理 授信额度 100,000
agent2 Agent@123 二级代理 上级为 agent1授信 30,000
player1 Player@123 玩家 挂靠 agent1
入口 地址
管理后台admin / agent1 / agent2 http://localhost:5174
玩家前台player1 http://localhost:5173
接口 路径
管理端登录 POST /api/manage/auth/login
玩家端登录 POST /api/player/auth/login

二、默认环境与端口

默认值
API http://localhost:3000 ,全局前缀 /api
Swagger http://localhost:3000/api/docs
管理后台 http://localhost:5174
玩家前台 http://localhost:5173
Docker PostgreSQL 用户/密码/库:thebet365 @ localhost:5432
Docker Redis localhost:6379(当前 API 逻辑以 Postgres 为主)

apps/api/.env 模板见根目录 .env.example,主要项:

变量 示例 说明
DATABASE_URL postgresql://thebet365:thebet365@localhost:5432/thebet365 数据库连接
JWT_SECRET 长随机串 生产必须修改
JWT_PLAYER_EXPIRES 24h 玩家 Token
JWT_ADMIN_EXPIRES 2h 管理员 Token
JWT_AGENT_EXPIRES 8h 代理 Token
PORT 3000 API 端口
UPLOAD_DIR 默认 apps/api/uploads

三、默认赛事与盘口

联赛

代码 名称
EPL 英超 / Premier League
WC2026 2026 世界杯(加拿大、墨西哥、美国)

已发布场次(约 9 场)

  • 英超 2 场:如曼联 vs 切尔西(开球时间为相对当前的演示时间)
  • 世界杯 7 场:如墨西哥-南非、美国-巴拉圭、法国-阿根廷等2026-06 固定日期)

每场在尚无盘口时会自动创建演示玩法,包括但不限于:

  • 全场 / 半场:独赢、让球、大小、单双
  • 全场 / 半场 / 下半场:波胆(多档比分选项)

赔率均为种子脚本中的示例数值,可在管理后台赛事相关流程中调整(非冠军盘)。

世界杯 48 强夺冠盘

说明
数据来源 apps/api/src/domains/catalog/wc2026-outright-teams.ts
队伍数 48 支,含排名与中英文名
默认赔率 如法国 4.95、英格兰 6.3、苏格兰 2500 等
玩家端 投注页 /bet「优胜冠军」:按后台已发布赛事折叠展示,多赛事可分别展开;选项过多时点击 加载更多(须玩家账号)
管理端 菜单 「优胜冠军」 → 选择赛事 → 可增删队伍、改赔率;世界杯可 导入 48 强基准
恢复基准 优胜冠军 页点击 「导入世界杯 48 强」 与代码表对齐

pnpm db:seed 会以 forceCanonical: true 同步 48 强;已有选项的赔率仅在「应用基准」或重新 seed 时按文件覆盖。


四、玩家演示数据player1

默认值
可用余额 88,888.88
账变流水 2 笔演示充值(DEMO-DEP-001 / DEMO-DEP-002
语言偏好 zh-CN
示例注单 DEMO-BET-001:待结算单关;DEMO-BET-002:已赢且已结算单关

五、运营内容(玩家首页)

类型 数量 说明
Banner 3 欢迎投注、首存礼遇、热门赛事
走马灯TICKER 1 欢迎语 + 理性投注提示
公告NOTICE 1 每周一 04:0005:00 维护通知

图片路径示例:/uploads/banners/welcome.svg 等。
重复执行 seed 时,已存在的同类内容可能因 catch 跳过,不会无限重复插入。


六、权限与库内多语言

角色与权限

  • 角色:SUPER_ADMIN(超级管理员)
  • 权限示例:users.createusers.viewagents.createagents.viewwallet.depositwallet.withdrawmatches.managesettlement.confirmcashback.confirmcontent.managereports.view

i18n_messages 表

种子仅写入少量玩家端 key中 / 英 / 马来),例如 nav.homebet.place_bet
管理后台与玩家端大部分文案在代码内admin-messagesplayer 内 vue-i18n不全部存数据库。


七、管理后台默认行为

默认
界面语言 中文 zh-CNlocalStorageadmin_locale
可选语言 中文、English、Bahasa Melayu
登录页 若开启「快速登录(调试)」可一键 admin / agent

八、玩家端看不到「优胜冠军」时

  1. 使用 玩家账号 登录(player1 / Player@123),代理或管理员账号无法访问 GET /player/outrights
  2. 确认 API 已启动:pnpm dev:api
  3. 确认已种子:pnpm db:seed(或管理端 优胜冠军 → 导入世界杯 48 强)。
  4. 进入 投注 页,点顶部 优胜冠军(不是「赛事」标签)。
  5. 浏览器 F12 → Network/api/player/outrights 是否 200 且 data 数组非空。

后台有数据、玩家端没有:多为玩家接口原先只查 OPEN 盘口,与后台查询不一致;现已改为与管理端「优胜冠军」页共用 OutrightService 数据源。修改后需 重启 API


九、如何查看 / 重置

# 可视化浏览所有表
pnpm db:studio

# 重新写入种子(不删表,多为 upsert
pnpm db:seed

仅想恢复 48 强夺冠赔率 为代码基准:管理后台 → 优胜冠军导入世界杯 48 强

清空数据库后重来:

docker compose down -v   # 会删除 Docker 数据卷,慎用
docker compose up -d
pnpm db:migrate
pnpm db:seed

十、相关文档