mars
ecfea51545
feat(theme-4): fix dark backgrounds, quick bet, inbox spacing, customer service theme
2026-07-09 18:03:57 +08:00
dcf9afacd6
fix(player): 修复主题分支网站图标不显示
...
favicon.svg 原外链 /logo.png 浏览器无法加载;改为内嵌 base64
index.html 增加 logo.png 作为 favicon 回退;theme-3 theme-color 对齐 #0F2027
2026-06-23 16:30:36 +08:00
a3e8958406
sync(theme-4): 从 main 同步优胜赛结算态与钱包流水展示优化
...
- checkout shared/api/admin 自 d3c2114
- player: outright 结算态逻辑、wallet txAmountClass、i18n 新增 key(保留海军蓝主题样式)
2026-06-23 13:53:20 +08:00
cffad00652
sync(theme-4): 同步 main 最新 API/Admin 与玩家端逻辑
...
从 main 同步站内信手动发送、媒体库选择、列表子路由重构等 API/Admin 改动;玩家端仅合并 ADMIN_CUSTOM 富文本、消息预览与充值截图压缩逻辑,保留 theme-4 样式。
2026-06-22 14:12:40 +08:00
5c5aa7e55a
feat(theme-4): sync inbox/announcements/presence/deposit from main
2026-06-18 10:08:03 +08:00
d3ca8498fb
feat(player/admin/api): 玩家端暗色极简主题重构与盘口单串关修复
...
## 管理端 / API(Bug 修复)
- matches.service:getAdminMatchDetail 返回 markets 时补充 allowSingle、allowParlay 字段
- MatchMarketsPanel:mapMarkets 从接口读取单关/串关开关,不再硬编码为 true
- match-form.ts:AdminMarket 类型补充 allowSingle、allowParlay
## 玩家端 — 全局主题(styles.css / index.html / site.webmanifest)
- 海军暗色 + 白色强调 token,卡片高光渐变(--gradient-card)
- 下拉/弹窗实底不透明(--dropdown-bg: #0A2540)
- 统一 sub-toolbar、status-ribbon、filter-tab 等全局样式
- theme-color 同步为 #001A33
## 玩家端 — 布局与壳层
- MainLayout:详情子页去顶栏/公告,sub-toolbar 全宽铺底
- WalletBalanceCard(新):个人页钱包卡片(反水 + 未结算)
- walletStats.ts(新):钱包统计逻辑抽取
## 玩家端 — 赛事 / 投注
- MatchDetailView:顶栏 8px 顶距、卡片全宽(--detail-gutter-x: 0)
- 盘口状态标签(暂停/已关闭)、去掉 MarketTypeTile 右侧箭头
- VsBadge(新):纯文字 VS,删除 vs.png
- isMarketLocked:仅关单关但允许串关时仍可点击,支持串关流程
- BetSlipDrawer:仅串关盘口禁用单关提交并提示 slip_parlay_only_hint
- betSlip:SlipItem 增加 allowSingle 字段
- MatchBetCard / LeagueAccordionItem:45° 待开赛角标,去掉展开左侧白边
- OutrightEventSection:去掉展开时左侧白色选中条
- FootballView:加大左右边距、筛选栏去 sticky、选中态增强
- BannerCarousel:恢复原始全宽轮播
## 玩家端 — 钱包 / 个人 / 认证 / 其他页面
- WalletView:移除顶部钱包卡片,保留账单列表
- ProfileView:保留 WalletBalanceCard
- 充值/账单/注单/登录注册等页面配色与间距统一
- 公告标签、余额面板、语言切换、区号选择等弹层改为实底
## 国际化
- zh-CN / en-US / ms-MY:新增 slip_parlay_only_hint(仅串关盘口提示)
## 资产
- 更新 banner.svg、empty-matches.svg 配色
- 删除 vs.png
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-17 11:00:25 +08:00
567ec9ec8a
feat: 管理端 RBAC 权限体系与员工管理
...
新增多角色权限控制(赛事/财务/客服管理员),支持员工 CRUD、路由菜单按权限显隐、审计日志范围过滤;登录返回角色与权限列表。玩家端赛事列表增加静默刷新避免图片闪烁。Seed 补充演示员工账号与充值相关权限。附带 RBAC/审计范围单元测试及 UAT 文档更新。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-15 17:52:39 +08:00
afb5c5437e
feat: 充值订单审计与重新申请,优化赛事展示和余额刷新
...
- 新增 deposit_order_audit_logs 表,记录提交/审批/拒绝/撤销/重提全链路
- 管理端充值单页增加审计历史;玩家端充值历史支持时间线与重新申请
- 已拒绝订单可原单号重提;撤销入账使用 PLAYER_DEPOSIT_REVERSAL 并加强幂等
- 结算后清除热门标记,允许归档已结算赛事,完善今日赛事时区窗口
- 足球页今日/早盘独立折叠;资料与余额在进入钱包/个人页及下注后自动刷新
- 补充投注玩法、结算返水规则文档;新增 smoke/settlement CLI 脚本
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-15 14:52:05 +08:00
wchino
21dd9957f0
refactor: update match time utilities and improve local match window logic
...
- Introduced new functions `isInLocalTodayMatchWindow` and `isAfterLocalTodayMatchWindow` to enhance match time checks.
- Replaced the deprecated `dayKeyInTimeZone` function with `isInLocalTodayMatchWindow` in the PlayerController.
- Updated related tests and utility exports to reflect the new naming conventions.
- Improved handling of local match windows in various components for better accuracy.
2026-06-13 18:20:26 +08:00
wchino
7b33d9f9fa
重构
2026-06-13 17:38:25 +08:00
e7e938f261
feat: WC2026 赛事 seed、生产上线初始化脚本与目录归档
...
重构 seed 为 WC2026 72 场小组赛与 48 强优胜盘;新增 production 模式仅保留 admin 与赛事示例;提供 prod-init-db 全量重置脚本;管理端 i18n 分包与赛事归档能力。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-12 18:17:00 +08:00
cb9a1e8708
feat: 短信调试日志、Tawk 客服、手机号校验放宽与 Docker 文档
...
API
- 短信发码/验码/创蓝全链路结构化日志(手机号脱敏)
- 新增 SMS_DEBUG_LOG_CODE,联调时可输出验证码与 sessionId(对应创蓝批次号)
- 注册成功、短信找回密码成功写入审计相关日志
- 放宽手机号归一化:移除区号白名单与 10~15 位长度限制
Player
- 公告走马灯滚动周期调整为 35 秒
- 在线客服接入 Tawk.to(tawk.html),登录用户透传昵称/头像/ID
- 三语补充 support.connecting 文案
部署与文档
- docker-compose 与 .env.docker.example 增加 SMS_DEBUG_LOG_CODE
- 新增 docs/短信调试与日志说明.md、docs/docker 镜像构建导出脚本与说明
- Docker 部署指南补充镜像构建文档链接
- .gitignore 忽略 thebet365-images.tar 与 docker-build.log
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-12 14:08:00 +08:00
ff89c31b51
feat(player): 玩家端短信找回密码
...
支持手机号验证码重置密码,重置成功后跳转登录页;SMS 增加 reset_password 场景与 purpose 隔离。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-12 13:12:00 +08:00
312c3c5816
feat(player): 注册账号、登录双模式与移动端性能优化
...
注册必填 7-32 位账号,手机号区号/本地号分存;登录默认账号模式并支持切换手机号登录;Player i18n 拆包与赛事接口优化。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-12 10:56:51 +08:00
db28390be9
feat(player): 接入创蓝短信手机注册与登录页优化
...
新增 SMS 验证码注册、8 国手机号选择与 Redis 频控;优化登录/注册 UI 及图形验证码样式。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-12 10:25:59 +08:00
283252c841
fix(admin): 生产环境隐藏并禁用自动化测试
...
侧栏与路由按服务端 NODE_ENV 控制;可通过 ALLOW_SMOKE_TESTS=true 临时开启。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-11 17:52:07 +08:00
e469611138
fix(settlement): 要求封盘后才能结算并优化预览流程
...
封盘前禁止录入比分与生成预览;待结算未确认前可解除封盘。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-11 17:49:34 +08:00
03e72ca9b2
feat: 开户备注、账单展示优化与后台代理管理增强
...
- 新增初始上分备注(日常上分/开户赠金/自定义)及前后台校验与展示
- 优化钱包流水类型与备注显示,区分管理员/代理/玩家上下分
- 修复登录后语言被后端覆盖的问题,登录时同步当前语言到服务端
- 后台代理/玩家表格操作栏重构,充值订单增加备注列
- 前台个人中心、充值、账单与验证码组件体验优化
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-11 17:23:58 +08:00
10485ecfaf
feat: 手动充值、邀请码注册与后台管理增强
...
新增玩家手动充值全流程(收款方式配置、充值下单/审核、钱包上分),
支持邀请码注册、邀请历史与专属返水率;完善后台代理/玩家管理与响应式操作栏,
并补充前台注册、充值页及多语言错误码。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-11 12:20:11 +08:00
844727c82e
feat: 前台匿名浏览、登录引导、客服入口与返水增强
...
前台:
- 未登录可浏览首页/赛事/赔率,下注等操作弹出登录引导(去登录/继续浏览)
- 顶部新增客服入口与 iframe 弹窗
- 登录页支持暂不登录返回浏览
API:
- 首页/赛事/冠军盘接口改为公开访问,支持 X-Locale 头
- JWT 守卫支持可选认证
返水:
- 注单新增 is_cashbacked 字段,发放时自动标记
- 预览展示玩家余额,明确平台直发不从代理扣款
- 后台注单列表与玩家历史展示回水状态
其他:
- 串关禁止同场重复选号(SAME_MATCH)
- 补充结算资金流分析文档
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-11 09:36:44 +08:00
ef6b15f119
feat: multi-tier agent hierarchy, wallet ledger, and player UX polish
...
Add configurable agent max level and default sub-agent credit ratio, per-agent block direct player login on suspend, admin/agent wallet transaction views, and match detail my-bets section with refreshed player card styling.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-10 16:15:34 +08:00
641c92a5f5
feat: internationalize API error responses by locale
...
Add shared error codes with zh/en/ms messages, coded app exceptions,
and locale-aware global filter. Frontends send X-Locale so error text
matches the active UI language.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-10 13:36:38 +08:00
df20444be9
feat: refactor agent manager, media library, and player UX
...
- Split admin users page into player/tier-1/tier-2 tabs with affiliation labels and context-specific create dialogs
- Add media library with uploaded_files migration, list/delete unused files API, and admin nav route
- Enforce player username format (alphanumeric 3-32) on frontend and backend via shared package
- Improve admin dialog/panel styling; refine player parlay and match bet card kickoff display
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-09 17:56:28 +08:00
d5e7c8edb3
feat: add smoke tests, agent credit ledger, and player cashback page
...
Introduce admin smoke-test suite with API probes, agent credit transaction history, and player cashback records; fix SmokeTestModule DI and polish admin/player UI assets.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-09 16:05:48 +08:00
d5913b6301
fix(deploy): use ASCII player assets and harden Docker Linux builds
...
Rename Chinese public paths and image filenames so Vite builds succeed on Linux, strip legacy public dirs in Dockerfiles, and document clean redeploy steps.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 17:28:15 +08:00
cc737e2924
feat(admin,api,player): 赛事分组管理、盘口独立页与多语言展示优化
...
- 管理端按联赛展示单场,新增赛事/单场流程与列表展开状态保持
- 盘口赔率迁至独立页面,保存按钮仅在有修改时高亮
- API 新增联赛列表与子场查询,按 locale 返回队名并修复编译
- 波胆其它选项与促销标签等 i18n 补齐,文案更易懂
2026-06-04 16:25:03 +08:00
c68abadceb
feat(player,shared): 内置球员头像名称支持三语显示
2026-06-04 11:55:17 +08:00
a8e4ead618
feat(admin,player,api): 玩家账号密码管理与代理上下分
...
新增玩家头像、可查密码与全局改密/改账号开关;玩家资料页合并账号密码展示;代理直属玩家列表支持自定义上下分。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-04 11:36:53 +08:00
cbfa18d1d3
feat(i18n): 管理端与玩家端三语支持(中/英/马来语)
...
- 管理后台 adminT 文案库、结算与代理端页面、表单校验
- 玩家端 vue-i18n 补全首页/公告/串关与 ms 文案
- Element Plus ms 语言包与共享 locale 工具
2026-06-03 15:05:36 +08:00
b5dca1bfb1
feat(player): 完善 H5 投注端与 API 演示数据
...
- 球赛/串关/优胜冠军、赛事详情、历史投注与个人资料编辑
- 固定顶栏、公告与底栏,仅内容区滚动
- 底部导航与站点 favicon 使用 logo,登录页精简
- API 种子、冠军盘与历史注单增强
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-02 17:18:11 +08:00
7af2e418c3
chore: 改用 logo.png 并放大 Logo 显示尺寸
...
三端引用切换为 packages/shared/public/logo.png,显示高度加倍,移除占位 logo.svg 与根目录误放的 logo.png。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-02 15:15:10 +08:00
000bd8c956
fix: 修复三端路由引用并统一共享 Logo 静态资源
...
修正 admin/agent/player 路由与 agent App.vue 的 import 路径,三端 Vite 共用 packages/shared/public 下的 logo 与 favicon。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-02 15:01:55 +08:00
14e49374ac
初始化足球投注平台 MVP Monorepo
...
包含 NestJS 后端、三端前端、Prisma 数据模型、结算引擎测试与 PRD 文档。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-02 14:35:48 +08:00