ef5b9416cc
fix(player): resolve missing AnnouncementMarquee import in MainLayout
2026-06-30 11:06:19 +08:00
4d8389a716
style(theme-2): replace gold components and colors with blue-white scheme on desktop
2026-06-30 11:04:13 +08:00
b327f65c63
style(theme-2): rewrite desktop CSS for light mode blue-white
2026-06-30 10:55:08 +08:00
c37b1a8548
Merge main into theme-2 and resolve conflicts for desktop architecture
2026-06-30 10:53:34 +08:00
8a1ba0fd95
feat(player): 新增桌面端 UI 与响应式双端路由架构
...
- 将原移动端页面重命名为 Mobile*,新增 22 个 Desktop* 视图与 DesktopShell 布局体系
- 路由入口改为 Wrapper 视图,通过 useViewport(≥1024px)自动切换移动/桌面端
- 新增投注单面板、盘口弹层、联赛侧栏、数据表格等桌面组件及独立样式令牌
- 扩展 betSlip store、串关筛选、冠军盘、Toast/悬浮信箱等交互与三语 i18n
- 公告/消息 Hub 拆分移动与桌面实现;API 投注/钱包/充值记录支持 pageSize 分页
2026-06-29 18:01:39 +08:00
5359c9baad
fix: add missing formatMoneyCompact import in WalletStatsPanel; fix bat cwd drift in all-themes builder
2026-06-24 11:25:41 +08:00
71203c66bb
fix(player): 修复主题分支网站图标不显示
...
favicon.svg 原外链 /logo.png 浏览器无法加载;改为内嵌 base64
index.html 增加 logo.png 作为 favicon 回退;theme-3 theme-color 对齐 #0F2027
2026-06-23 16:31:38 +08:00
7f30408524
fix(player): theme-2 使用正确的 theme-color
2026-06-23 16:29:57 +08:00
01698bf410
fix(player): 修复主题分支网站图标不显示
...
favicon.svg 原外链 /logo.png 浏览器无法加载;改为内嵌 base64
index.html 增加 logo.png 作为 favicon 回退;theme-3 theme-color 对齐 #0F2027
2026-06-23 16:29:31 +08:00
713739475b
feat(player): theme-2 钱包页与流水展示优化
...
- 钱包首页、明细、交易详情适配 Pinnacle 浅色主题
- WalletStatsPanel 统计面板布局与样式更新
- 流水金额展示统一使用 txAmountClass / txDisplayType
2026-06-23 15:56:53 +08:00
f9d68d94ce
feat(player): theme-2 认证页 zt2 背景与表单样式优化
...
- 登录/注册/找回密码使用 zt2.webp,移除暗色渐变遮罩
- 表单标题、标签、链接改为深蓝/灰色,适配 Pinnacle 浅色主题
- 更新 zt2.webp 资源文件
2026-06-23 15:56:13 +08:00
6ba541c133
feat(player): theme-2 登录/注册/找回密码使用 zt2.webp 背景
...
替换 h5bg.webp,仅 theme-2 玩家端认证页
2026-06-23 15:24:25 +08:00
43fa8ebef0
fix(dev): 本地 API 默认端口改为 3100 避开 Windows 保留段
...
Hyper-V 常保留 2960-3059,3000 会 EACCES;ensure-port-free 与 Vite 代理从 apps/api/.env 读取 PORT
2026-06-23 15:11:50 +08:00
a8b7d5763f
fix(player): captcha canvas colors follow theme CSS variables (theme-2)
2026-06-23 14:33:40 +08:00
26e2adf786
sync(theme-2): 从 main 同步优胜赛结算态与钱包流水展示优化
...
- checkout shared/api/admin 自 d3c2114
- player: outright 结算态逻辑、wallet txAmountClass、i18n 新增 key(保留蓝白主题样式)
2026-06-23 13:49:43 +08:00
d3c211411b
feat(admin+api+player): 优胜赛结算态、禁止新增单场与钱包流水展示优化
...
- API/管理端:优胜赛 SETTLED 后禁止新增单场,列表与子页展示结算状态
- 玩家端:已结算 outright 只读展示并高亮冠军
- 管理端:结算后 stale 标记驱动列表刷新;财务流水时间与备注 i18n 优化
- shared:txDisplayAmount 与 LEAGUE_OUTRIGHT_SETTLED 错误码
2026-06-23 12:20:40 +08:00
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
021d216613
fix(theme-2): 补全首页 bento 与查看全部赛事 i18n 键
...
恢复 home.bento_desc、view_bet_history、view_all_matches 三语文案,修复同步 main 时丢失的翻译。
2026-06-22 16:59:38 +08:00
fa8d3fbf0c
sync(theme-2): 同步 main Admin 菜单权限修复与 i18n
2026-06-22 16:23:10 +08:00
f20243fa8a
refactor(player): 重构注单详情页为票据式布局并突出净赢
2026-06-22 15:27:58 +08:00
27dc9eb3b0
sync(theme-2): 同步 main 最新 API/Admin 与玩家端逻辑
...
从 main 同步站内信手动发送、媒体库选择、列表子路由重构等 API/Admin 改动;玩家端仅合并 ADMIN_CUSTOM 富文本、消息预览与充值截图压缩逻辑,保留 theme-2 样式。
2026-06-22 14:10:54 +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
dd7802c6f7
style: separate header back-bar and tabs in InboxHubView on theme-2
2026-06-18 17:37:13 +08:00
074531f705
feat: align homepage banner navigation and default banner logic with main
2026-06-18 17:30:32 +08:00
3212cd6040
fix(player): 冠军盘弹窗支持赔率变更轮询与确认下注
...
- 打开弹窗后定时拉取最新赔率并展示变更提示
- 赔率变动时按钮切换为「接受变更并下注」,提交前自动锁定新版本
- 接口返回 ODDS_CHANGED 时刷新赔率并引导用户重新确认
2026-06-18 13:54:22 +08:00
4de320f143
fix(player): 冠军盘弹窗支持赔率变更轮询与确认下注
...
- 打开弹窗后定时拉取最新赔率并展示变更提示
- 赔率变动时按钮切换为「接受变更并下注」,提交前自动锁定新版本
- 接口返回 ODDS_CHANGED 时刷新赔率并引导用户重新确认
2026-06-18 13:46:44 +08:00
33e7092b77
style(theme-2): 修复详情页顶部导航栏上方的空白边距及滚动内容穿透问题
2026-06-18 10:54:18 +08:00
f4c71b22f2
style(theme-2): remove Message Center shortcut from profile page
2026-06-18 10:46:16 +08:00
75bd5c3512
feat(theme-2): replace quick entries with bento grid, implement hot match carousel, limit upcoming matches list, and fix layout details
2026-06-18 10:42:09 +08:00
740799a820
feat(theme-2): sync match search feature from main
2026-06-18 09:45:53 +08:00
e56029225e
feat(theme-2): sync inbox/announcements/presence/deposit from main
2026-06-18 09:38:33 +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
ec51b675e3
fix(player): 赛事详情页恢复顶部 8px 间距(theme-2)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-17 11:18:44 +08:00
9f1d263741
fix(admin/player/api): 同步单关串关持久化、仅串关可选与盘口状态展示
...
1. 后台/API:赛事详情返回 allowSingle/allowParlay,管理端 mapMarkets 正确回读
2. 玩家端:仅关单关时仍可点选加入串关;投注抽屉禁用单关提交并提示
3. 玩家端:盘口暂停/已关闭状态标签;MarketTypeTile 展示 statusLabel
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-17 11:09:23 +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
cb4e48b9f4
feat(player): ???????????????
...
???????????????????????????????????????????????????????????
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-16 16:10:11 +08:00
4a93fcfce0
feat(player): 全站 UI 主题重构与布局优化 — 从暗金奢华风格迁移至 Pinnacle 风格蓝白专业主题
...
一、全局主题重构(52 文件)
- 设计体系从深色/金色奢华调性全面迁移至 Pinnacle 风格的清爽专业调性
- 主色:深海蓝 #003D6B,辅色:橙色 #F8971F / #E8870A(赔率强调色)
- 背景从纯黑/深灰改为白色/浅灰 (#F5F7FA, #E8EDF2)
- 更新 CSS 变量设计令牌体系:--primary, --border, --text-muted, --bg-body, --bg-hover, --radius-sm 等
- styles.css 全量重写,所有组件 scoped CSS 同步适配
二、紧凑布局优化
- 首页:BannerCarousel 轮播高度缩减 (clamp 148→120px),MatchBetCard 内边距/间距/字号全面收紧
- 首页:赛事卡片 padding 14px→10px,队旗尺寸 72×48→56×38,VS 区域缩小
- 个人中心:钱包横幅宽高比 2/1→1.75/1,设置单元格 min-height 48→42px
- 钱包页:交易行 padding/字号收紧,金额字号 15→14px
- MainLayout:顶栏高度 50→48px,底部导航间距微调
三、对比度与可读性增强
- 赛事详情/投注页背景从透明加深至 #E8EDF2
- 所有卡片边框从 #E5E7EB 加深至 #CBD5E1,阴影强度提升
- 盘口选择面板背景 #F5F7FA→#EDF0F4,增加 border-top 分隔线
- 赔率颜色从 #F8971F 加深至 #E8870A,选中态 border-width 加粗至 2px
- 标签字号增大并加粗 (font-weight: 600),颜色从 #6B7280 加深至 #4B5563
四、首页快捷入口 & 个人中心网格布局
- 首页新增 4 宫格快捷入口(投注/充值/账单/活动),彩色图标区分功能
- 个人中心重构为「4 宫格快捷操作 + 列表」结构:钱包/充值/返水/记录
- 移除原个人中心金色入口列表项,精简设置列表为修改资料/投注规则/语言
五、顶部导航栏重设计
- Logo 从 img 标签替换为内联 SVG 纯文字:THE(灰) + BET(深蓝) + 365(橙)
- 客服按钮改为纯图标圆形按钮 (32×32px),增加竖线分隔符
- Chip 高度 34→32px,间距 8→6px
- 底部导航激活态指示条加粗至 2.5px,左右缩进从 22% 调至 18%
六、SVG Favicon
- 新增纯路径 SVG favicon(无 <text> 元素,确保浏览器 favicon 沙箱兼容)
- 深蓝圆角方块 + 白色 "B" 字母路径 + 橙色圆点 + 白色 "365" 数字路径
- index.html 更新 favicon 引用为 /favicon.svg
🤖 Generated with [Qoder][https://qoder.com ]
2026-06-16 12:24:41 +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