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
83f0f380c5
chore: 将本地密钥 env 文件加入 gitignore
...
忽略 apps/api/.env 与 .env.docker,并从仓库移除已跟踪的 API 本地配置。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-12 10:30:11 +08:00
db28390be9
feat(player): 接入创蓝短信手机注册与登录页优化
...
新增 SMS 验证码注册、8 国手机号选择与 Redis 频控;优化登录/注册 UI 及图形验证码样式。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-12 10:25:59 +08:00
168aecfd5c
feat(admin): 公共管理列表添加分页
...
后端 listForAdmin 支持 page/pageSize 分页查询,控制器接收分页参数并校验边界,前端 Contents 页面添加 el-pagination 组件并同步分页状态。
🤖 Generated with [Qoder][https://qoder.com ]
2026-06-12 09:31:38 +08:00
5a15159ff3
fix(admin): 修复公共内容展示时段与编辑表单时区不一致
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-12 09:24:25 +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
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
9c6c5e51f3
fix: switch admin to subdomain mode and fix frozen-lockfile build
...
- Remove /admin path prefix (using admin.protdskj.top subdomain instead)
- Change pnpm install to --no-frozen-lockfile for lockfile compatibility
- Simplify admin Nginx config to standard SPA serving
🤖 Generated with [Qoder][https://qoder.com ]
2026-06-09 11:24:40 +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
b0062ddf39
fix(admin): resolve Nginx redirect loop with alias and named location
...
Use alias to strip /admin/ prefix for file lookups and @admin_spa
named location for SPA fallback, preventing internal redirect cycle.
🤖 Generated with [Qoder][https://qoder.com ]
2026-06-09 09:42:58 +08:00
b1ef7dc6f9
feat(admin): set /admin base path for reverse proxy deployment
...
Configure Vite base, Vue Router history, axios baseURL and container
Nginx to serve the admin panel under /admin/ path prefix.
🤖 Generated with [Qoder][https://qoder.com ]
2026-06-09 09:18:16 +08:00
5279a7f831
fix(deploy): defer nginx upstream DNS until api is reachable
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 17:49:57 +08:00
b4d3315db8
fix(deploy): run database seed from compiled dist in Docker
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 17:45:33 +08:00
55a7043cbd
docs: add server Git sync and Docker deploy guide
...
Document Gitea SSH/HTTPS auth, daily git pull workflow, and common server deployment troubleshooting in the project startup guide.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 17:40:47 +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
490118f3b5
fix: approve pnpm 11 build scripts and untrack .env files
...
Add pnpm.onlyBuiltDependencies to allow Prisma, esbuild, NestJS etc.
to run postinstall scripts. Remove .env and .env.local from .gitignore.
🤖 Generated with [Qoder][https://qoder.com ]
2026-06-08 17:01:57 +08:00
bbede5d164
fix(docker): upgrade Node.js to v22 and pnpm to v11 to resolve build failure
...
pnpm 11.5.2 requires Node.js v22.13+ and uses node:sqlite module unavailable in Node.js v20.
Also switch to --no-frozen-lockfile temporarily for lockfile format migration compatibility.
🤖 Generated with [Qoder][https://qoder.com ]
2026-06-08 16:50:51 +08:00
e52cac7444
feat(deploy): add Docker full-stack deployment and server pack scripts
...
Enable one-click production deploy via docker-compose.prod.yml, with deployment docs and zip packaging for Baota upload.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 16:24:06 +08:00
0d761db70b
fix(admin,api,player): 返水注单去重、操作日志 i18n 与钱包紧凑金额
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 16:07:11 +08:00
22535d4c27
fix(admin,api): 上分超额提示而非静默截断,并返回中文业务错误
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 15:47:45 +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
9b63d67e7c
feat(player,admin): 钱包卡片与登录页 UI 优化
...
- 玩家端我的页:钱包背景图、银行卡式排版、自定义语言下拉与投注规则折叠
- 管理端登录:左右布局、金边半透明卡片、自定义语言选择
- 修复 API promotePlayerToTier1Agent 返回类型导致编译失败
2026-06-03 16:59:53 +08:00
95abbcb470
feat: 世界杯48强夺冠盘、管理端调赔与项目文档
...
- 固定48强基准数据、同步种子与后台世界杯夺冠页
- 补全 user_preferences 迁移文件;新增启动指南与默认数据说明
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-03 16:19:36 +08:00
3b739982a1
feat(admin): 从已有玩家升级代理、修复 i18n 与过期 .js 冲突
...
- 新建一级代理改为选择已有玩家;新建用户可选一级代理
- 操作日志/注单等扁平 key 翻译;清理 src 内误生成 .js,Vite 优先解析 .ts
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-03 15:42:15 +08:00
cbfa18d1d3
feat(i18n): 管理端与玩家端三语支持(中/英/马来语)
...
- 管理后台 adminT 文案库、结算与代理端页面、表单校验
- 玩家端 vue-i18n 补全首页/公告/串关与 ms 文案
- Element Plus ms 语言包与共享 locale 工具
2026-06-03 15:05:36 +08:00