Files
thebet365/apps/admin/src/views/bet-form.ts
Mars 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

56 lines
1.2 KiB
TypeScript

export interface BetSelectionPreview {
matchId: string | null;
matchLabel: string;
leagueName: string;
marketType: string;
period: string | null;
selectionName: string;
odds: string;
}
export interface BetListRow {
id: string;
betNo: string;
userId: string;
username: string;
parentUsername: string | null;
agentId: string | null;
betType: string;
stake: string;
totalOdds: string | null;
potentialReturn: string | null;
actualReturn: string;
status: string;
settlementStatus: string | null;
currency: string;
placedAt: string;
settledAt: string | null;
isCashbacked: boolean;
selectionCount: number;
selectionSummary: string;
selectionPreviews: BetSelectionPreview[];
}
export interface BetSelectionDetail {
id: string;
matchId: string | null;
matchLabel: string;
leagueName: string;
marketType: string;
period: string | null;
selectionName: string;
handicapLine: string | null;
totalLine: string | null;
odds: string;
resultStatus: string | null;
effectiveOdds: string | null;
sortOrder: number;
}
export interface BetDetail extends BetListRow {
requestId: string;
createdAt: string;
updatedAt: string;
selections: BetSelectionDetail[];
}