f9343b00af01b637420895d65da2f2dced2417b8
API: - 新增 player-messages 域:充值审核通过/拒绝、Banner/公告推广消息,支持多语言模板 - 新增 presence 域:Redis 心跳在线状态,管理端可查询在线玩家数 - User 表增加 visible_menus 字段;新增 player_messages 表及迁移 - 充值审核通过/拒绝时按系统配置自动写入玩家站内消息 - 管理端新增 GET /deposit-orders/pending-count、GET /presence/online-count - 玩家端新增消息 CRUD、presence/ping、home 返回 inbox 开关配置 - 员工管理支持 visibleMenus 配置与删除保护(不能删自己/最后超管) - SystemConfig 增加 inbox 功能开关及各类通知开关 Admin: - 员工管理:按角色默认菜单 + 可勾选可见菜单项 - ManageLayout:按 visibleMenus 过滤侧栏;充值待审数量角标轮询 - Contents:富文本编辑器、图片字段组件重构 - DashboardPlayers:展示在线玩家数;AdminPlayerStatusCell 在线状态列 - 多页面 i18n 与权限细节调整 Player: - 站内邮箱中心(InboxHub):消息列表/详情、未读角标、一键已读/删除 - 公告列表与详情页;走马灯可跳转详情 - 客服 Modal 改为 Panel,与邮箱 Hub 整合 - 充值状态轮询通知;presence 心跳;BetSlip 清空二次确认 - HomeView 今日赛事板块;FootballView 等体验优化 Shared: 新增 CANNOT_DELETE_SELF、STAFF_NOT_FOUND、MESSAGE_NOT_FOUND 等错误码 Docs: 玩家端缺失功能分析文档 Chore: 移除 .agents/skills 设计类 skill 文件 Co-authored-by: Cursor <cursoragent@cursor.com>
TheBet365 - 足球投注平台 MVP
Monorepo 项目,包含 NestJS 后端与 Vue 3 三端前端。
技术栈
| 层级 | 技术 |
|---|---|
| 后端 | NestJS + Prisma + PostgreSQL + Redis |
| 玩家前台 | Vue 3 + Vite + Pinia (H5 移动端优先) |
| 管理后台(平台+代理) | Vue 3 + Vite + Element Plus,单应用 apps/admin |
| 包管理 | pnpm workspace |
快速开始
完整步骤、环境变量、端口、演示账号与排错见 docs/项目启动指南.md。
Docker 全栈一键部署(生产) 见 docs/Docker部署指南.md。
1. 启动基础设施
docker compose up -d
2. 安装依赖
pnpm install
3. 配置环境
cp .env.example apps/api/.env
4. 数据库迁移与种子数据
pnpm db:migrate
pnpm db:seed
5. 启动开发服务
pnpm dev:api # API http://localhost:3000
pnpm dev:player # 玩家前台 http://localhost:5173
pnpm dev:admin # 管理后台 http://localhost:5174(admin/agent 同一入口)
pnpm dev:manage # 同上别名
API 文档:http://localhost:3000/api/docs
测试账号
| 角色 | 用户名 | 密码 |
|---|---|---|
| 超级管理员 | admin | Admin@123 |
| 一级代理 | agent1 | Agent@123 |
| 二级代理 | agent2 | Agent@123 |
| 玩家 | player1 | Player@123 |
更多默认数据(赛事、48 强夺冠、余额、Banner 等)见 docs/默认数据说明.md。
项目结构
apps/api/src/
├── domains/ # 8 个业务领域
│ ├── identity/ # 身份与权限(auth + users)
│ ├── agent/ # 代理网络
│ ├── ledger/ # 账务账本(wallet)
│ ├── catalog/ # 赛事目录(matches)
│ ├── odds/ # 盘口赔率(markets)
│ ├── betting/ # 注单引擎
│ ├── settlement/ # 结算引擎(含 domain/ 纯函数)
│ └── operations/ # 运营支撑(audit/cashback/content/i18n)
├── applications/ # 三端应用层(编排,不含领域规则)
│ ├── player/
│ ├── admin/
│ └── agent/
├── shared/ # 基础设施
│ ├── prisma/
│ └── common/
├── app.module.ts
└── main.ts
apps/
player/ 玩家 H5 前台
admin/ 管理后台(平台 + 代理,单应用)
packages/
shared/ 共享类型与常量
MVP 功能
- 三端登录鉴权 + RBAC
- 2 级代理 + 信用额度池
- 钱包账变(禁止直接改余额)
- 11 种足球玩法 + 盘口模板
- 单关 / 2~5 串 1 下注
- 结算预览 + 确认入账
- 返水批次
- Banner / 公告 / 多语言
测试
pnpm --filter @thebet365/api test
Description
Languages
Vue
49.1%
TypeScript
45.5%
JavaScript
3.2%
CSS
1%
Shell
0.8%
Other
0.4%