ce84226219
feat(admin+api): 代理停用默认、结算加固与冒烟配置探针
...
- 代理层级默认授信比例与停用冻结/禁登全局默认
- 结算预览去重、比分校验、串关当场判负与市场类型校验
- 站内信 Banner/公告自动通知开关;开发环境动态 API 端口
- 扩充 RBAC/结算/认证/返现单元测试与 agent skills
2026-06-23 11:08:41 +08:00
fa06fee64c
fix(player+admin): 移动端 PWA 安全区、防缩放与局域网调试
...
玩家端适配主屏幕 safe-area、底部导航滚动隐藏与全屏布局;双端禁止页面缩放并开放 Vite host 供手机联调。
2026-06-22 17:58:51 +08:00
f20243fa8a
refactor(player): 重构注单详情页为票据式布局并突出净赢
2026-06-22 15:27:58 +08:00
1210142a33
feat(admin+api+player): 站内信手动发送、媒体库选择与发送记录详情
...
新增管理员手动发送站内信(三语富文本),支持发送记录查看与删除;修复全站「从媒体库选择」因分类过滤导致列表为空的问题;玩家端支持渲染管理员自定义消息;并优化后台列表页双层卡片布局。
2026-06-22 14:01:31 +08:00
648c314e23
feat(admin+api): 列表页子路由重构、结算历史与充值截图清理
...
赛事/代理管理从表格展开改为子路由详情页;结算页增加预览弹窗与历史记录;媒体库支持截图存储统计与自动/手动清理;Player 端充值截图压缩为 WebP 300KB。
2026-06-22 12:28:25 +08:00
7288ef3f57
style: separate header back-bar and tabs in InboxHubView on main
2026-06-18 17:37:46 +08:00
4de320f143
fix(player): 冠军盘弹窗支持赔率变更轮询与确认下注
...
- 打开弹窗后定时拉取最新赔率并展示变更提示
- 赔率变动时按钮切换为「接受变更并下注」,提交前自动锁定新版本
- 接口返回 ODDS_CHANGED 时刷新赔率并引导用户重新确认
2026-06-18 13:46:44 +08:00
f9343b00af
feat(player/admin/api): 站内邮箱、在线状态、员工菜单权限与内容管理增强
...
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 >
2026-06-17 17:51:10 +08:00
e9a23de935
fix(admin/player/api): 同步单关串关持久化、仅串关可选与盘口状态展示
...
1. 后台/API:赛事详情返回 allowSingle/allowParlay,管理端 mapMarkets 正确回读
2. 玩家端:仅关单关时仍可点选加入串关;投注抽屉禁用单关提交并提示
3. 玩家端:盘口暂停/已关闭状态标签;MarketTypeTile 展示 statusLabel
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-17 11:08:43 +08:00
f34fe54489
fix(player): ????????????????
...
?????????????????+??+?????????????????????????????????/???????????????
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-16 16:25:27 +08:00
06d85953ba
feat(player): 新增长页面一键回到顶部按钮
...
- 在 MainLayout 主滚动区挂载浮动回顶按钮,投注列表与赛事详情等长页通用
- 滚动超过阈值后显示,支持平滑回顶与底部导航避让
- 补充中/英/马来语文案 common.back_to_top
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-16 10:07:09 +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
73a94e6be3
部署优化
2026-06-13 22:16:14 +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
8f14e85ebd
fix(player): 走马灯滚动周期调整为 18 秒
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-12 14:12:43 +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
e140861a2b
fix(player): 移除钱包与充值页银行卡芯片装饰
...
去掉 ProfileView、RechargeView 中的 bank-card-chip 元素及样式。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-12 11:31:14 +08:00
bc5b8e0950
perf(assets): Player/Admin 静态图改用 WebP,vs 保留 PNG
...
Player 端 banner/bg/card/h5bg 等改为 webp 并移除旧 png;Admin 登录背景改 webp;vs 对阵图仍用 png。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-12 11:16:51 +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
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
618fb49511
fix(player): 修复登录页「继续浏览」跳转到需登录页的死循环
...
跳过登录时仅允许进入首页、投注页或赛事详情等公开页面,避免 redirect 指向钱包/个人中心时被路由守卫拦截而停留在登录页。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-11 09:47:24 +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
785fa4416d
perf(player): 优化 Tab 切换性能并改进投注历史展示
...
- 主 Tab 启用 keep-alive,恢复各页滚动位置,避免切页重复加载与重复请求
- 首页数据缓存、余额/头像共用 profile 缓存,冠军盘与串关面板按需加载
- 球赛与串关列表新增「仅显示待开赛」筛选
- 重构历史注单卡片,展示注单类型、赔率与日期
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-10 17:33:06 +08:00
a8ee28fcce
feat: replace watermarks with corner tags, improve parlay layout and admin polish
...
- MatchDetailView: replace StatusWatermark with top-right solid status tags, remove match-hero background image
- ParlayPanel: replace StatusWatermark with corner tags, improve toggle button style and layout spacing, fix overflow clipping
- Admin: wallet ledger dialog, agent manager, and player page refinements
🤖 Generated with [Qoder][https://qoder.com ]
2026-06-10 16:24:01 +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
03f54ca689
feat: split admin dashboard, improve match ops, and player closed-match UX
...
Admin: add match/player overview sub-nav; refine settlement flow and league
match management UI; improve action button enabled/disabled styles; enhance
logo upload and outright odds sync.
API: expose matchPhase/bettingOpen for closed matches; league publish guards;
settlement preview with auto score save; outright team auto-sync.
Player: watermark for closed/settled states; keep match and bet details visible;
remove default login credentials.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-10 13:00:14 +08:00
6124313369
feat: add finance logs page, banner upload, and admin withdraw fix
...
## 财务流水
- 新增 FinanceLogs.vue(/finance-logs):额度流水 + 上下分流水双 Tab,支持时间/代理/玩家/操作人筛选与分页
- 管理员与代理共用页面,API 按角色自动切换(/admin/* 或 /agent/*)
- 侧栏「财务流水」替代原「额度流水」;代理侧栏同步新增入口
- /agent-credit-transactions 重定向至 /finance-logs?tab=credit,旧链接仍可用
- 后端:新增 GET /admin/wallet/transfer-transactions;增强额度/上下分列表筛选
- 代理端:新增 GET /agent/credit-transactions;GET /agent/wallet-transactions 支持分页与筛选
- 修复:管理员下分改为 adminWithdrawFromPlayer(),下分后重算上级代理 usedCredit
## 内容管理 Banner
- Contents.vue:各语言 Banner 支持本地上传、媒体库选择、手动填 URL(≤5MB)
- vite 开发代理 /uploads;生产 nginx 反代 /uploads/ 至 API
## 玩家端 Banner
- BannerCarousel:外链无协议时自动补 https://
- defaultBanner:API 加载中不闪默认图,仅空列表时展示默认 Banner
## 其他
- AgentManager:查看额度流水链接改为 /finance-logs
- i18n:finance.*、nav.finance_logs、content.upload.*(中/英/马来)
未纳入本次提交:.pnpm-store/、release/ 部署包、uploads/banners/ 下测试上传图片
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-10 10:10:11 +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
4caedde3fc
chore: optimize image assets and reduce bundle size
...
Compress PNG assets across admin and player apps, removing unused
qianbao.png. Total image size reduced from ~22MB to ~5MB.
🤖 Generated with [Qoder][https://qoder.com ]
2026-06-09 10:51:04 +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
0d761db70b
fix(admin,api,player): 返水注单去重、操作日志 i18n 与钱包紧凑金额
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 16:07:11 +08:00
414998ce36
feat(admin,api,player): 代理层级管理、额度上下分与玩家钱包详情
...
新增代理管理器与二级代理体系,完善信用额度/上下分上下文与冻结策略;代理端玩家与子代理管理增强;玩家端新增钱包详情页与交易筛选优化。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 15:34:12 +08:00
b2216abd0c
feat(admin,api,player): 返水流程优化、账单详情与数据库重置
...
优化返水预览/确认/作废,新增玩家账变详情与后台一键重置为 seed 数据,并修复 dev 启动时 3000 端口占用。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 11:14:22 +08:00
24fa1b275c
feat(admin,api,player): 优胜赛配置、赛事管理重构与玩家端投注体验优化
...
管理端拆分赛事/优胜赛 Tab,新增联赛优胜赔率面板(批量、排序、外侧删除);统一 list-chrome 工具栏对齐与列表页布局;Dashboard 失败重试、Users 操作下拉、小屏侧栏等体验修复。
API 扩展优胜赛与赛事目录接口,完善投注与钱包查询;玩家端重构赛事卡片、串关面板、注单/钱包页,新增注单详情、下注成功动画与下拉刷新。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 09:55:56 +08:00
efff7c27e6
feat(admin,api,player): 结算预览分页、统计图表与返水限额
...
完善结算计算与预览 API(含后端分页),加强管理端结算/返水/权限,并优化玩家端投注单与队徽展示。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-05 13:54:33 +08:00
6264b8806c
feat(admin,api,player): smart score solver, disable settlement UI, misc fixes
2026-06-04 17:56:32 +08:00
9fcee31a9a
feat(admin,api,player): settlement stats, team crests, MS fields and list bet summary
2026-06-04 17:30:48 +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
f76728dc3e
feat(admin,player,api): 公共管理与优胜冠军国旗、玩家端内容对接
...
新增公共内容 CRUD 与批量操作;公告滚动合并管理;优胜冠军内置国家选择与单行保存;玩家端统一 usePlayerHome 对接轮播与跑马灯。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-04 10:25:42 +08:00
27580b2479
feat(admin,player,api): 优胜冠军通用管理与界面精简
...
管理端新增冠军盘列表/编辑、展开懒加载与 ECharts 修复;各列表页去掉重复标题。玩家端支持多赛事冠军盘、分批加载与语言切换刷新。API 扩展 outright CRUD 与列表性能优化。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-04 09:17:01 +08:00