Appearance
BBSport-New 資料 Model 知識庫
最後更新:2026-04-09
概覽
BBSport 的 Model 層主要分為:
- API Response Model — 對應 API 回應結構
- Sport Data Model — 賽事核心資料(DB/FB/LS 三個供應商)
- Bet / Settle Model — 投注與結算相關
- UI Model — 介面展示用資料
所有 Model 基本上符合 Codable 或 Decodable,並使用 SEEKTOP 自研的 @AutoDecode property wrapper 設定預設值。
體育賽事 Model
OBEventModel(DB體育賽事)
位置:STUIKit/STSportCoreDataCenter/SportDataManager/DB/OBEventModel.swift
swift
class OBEventModel: Codable {
var csna: String // 賽種名稱
var csid: String // 賽種 ID
var tid: String // 聯賽 ID
var tn: String // 聯賽名稱
var mid: String // 賽事 ID
var mhid: String // 主隊 ID
var mhn: String // 主隊名稱
var maid: String // 客隊 ID
var man: String // 客隊名稱
var mgt: String // 賽事開始時間(毫秒 timestamp)
var mgt_str: String // 格式化時間
var ms: Int? // 賽事狀態
var mcg: Int // 欄目類型(1=滾球, 2=即將, 3=今日, 4=早盤)
var mmp: String // 比賽階段
var mms: Int // 視頻狀態(-1無, 0已配置但不可用, 1可用, 2播放中)
var mvs: Int // 動畫狀態
var mc: Int // 玩法數量
var hps: [OBOddInfoModel] // 玩法集合
var msc: [String] // 比分集合(格式:S1|1:0)
var mhs: Int // 盤口狀態(0=開, 1=封, 2=關, 11=鎖)
var mo: Int // 比賽是否結束
var isInplay: Bool // 是否滾球(自訂)
var isFinish: Bool // 是否完場(自訂)
var sportType: CommonSportType // 體育類型(自訂)
var lsdata: FootBallTechnicModel? // 雷速數據(足球專用)
var obliveInfo: LiveInfoModel? // 直播/動畫/視頻資訊
var result: EventScoreboardModel // 小比分資訊
}GameStatus 枚舉:
| 值 | 說明 |
|---|---|
| 0 | 賽事未開始 |
| 1 | 滾球階段 |
| 2 | 暫停 |
| 3 | 結束 |
| 4 | 關閉 |
| 5 | 取消 |
| 6 | 放棄 |
| 7 | 延遲 |
| 8 | 未知 |
| 9 | 延期 |
| 10 | 中斷 |
| 110 | 即將開賽 |
| 111 | 滾球(數據商自定義) |
OBLeagueModel(DB體育聯賽)
swift
class OBLeagueModel: Codable {
var tn: String // 聯賽名稱
var tid: String // 聯賽 ID
var lurl: String // 聯賽圖標
var events: [OBEventModel] // 賽事列表
var csid: String // 運動 ID
var csna: String // 運動名稱
var tlev: String // 聯賽等級
var isFold: Bool // 是否折疊(自訂)
var eventsCount: String // 賽事數量
var pages: String // 總頁數
}OBChampionModel(冠軍賽事)
swift
class OBChampionModel: Codable {
var picUrl: String // 展示 logo
var tournamentId: String // 聯賽 ID
var playName: String // 冠軍玩法名稱
var tournamentName: String // 聯賽名稱
var scoreResult: String // 贏隊名稱
var sportName: String // 賽種名稱
var sportId: String // 賽種 ID
var matchId: String // 冠軍賽事 ID
var marketId: String // 冠軍盤口 ID
var matchTime: String // 比賽時間
var time: String // 轉換後比賽時間
}STDataModel / STEventModel(FB體育賽事)
位置:STUIKit/STSportCoreDataCenter/SportDataManager/FB/STEventModel.swift
swift
class STDataModel: Codable {
var records: [STEventModel] // 賽事列表
var pageTotal: Int // 總頁數
var current: Int // 當前頁
var size: Int // 每頁大小
var total: Int // 總數
}
class STLeagueModel: Codable {
var na: String // 聯賽名稱
var id: Int // 聯賽 ID
var lurl: String // 聯賽圖標
var sportId: Int // 運動 ID
var events: [STEventModel] // 賽事列表
var isFold: Bool // 是否折疊
var sportType: CommonSportType
}SportMenuModel(體育菜單)
位置:STUIKit/STSportCoreDataCenter/SportDataManager/SportMenuModel.swift
swift
class SportMenuModel: Decodable {
var sportName: String // 運動名稱
var sportCount: Int // 賽事數量
var sportId: Int // 球類 ID
var menuId: Int // 體育菜單 ID(DB體育)
var liveTag: Bool // 直播標記
}
class MenuDataModel: Decodable {
var id: String
var entityType: Int
var name: String
var fixturesTotalCount: Int // 賽事總數
var liveFixturesTotalCount: Int // 直播賽事數
var outrightsTotalCount: Int // 冠軍賽事數
var todayCount: Int // 今日賽事數
}STPlayType 枚舉:
| 值 | 說明 |
|---|---|
| 0 | 今日 |
| 1 | 早盤 |
| 2 | 串關 |
| 3 | 收藏 |
| 4 | 滾球 |
| 5 | 冠軍 |
| 6 | 未知 |
投注 / 結算 Model
BetSettleModel(投注結算)
位置:STUIKit/STSportCoreDataCenter/SportDataManager/SettleModel/BetSettleModel.swift
swift
struct BetSettleModel: Decodable {
var gameType: GameType // 遊戲類型
var status: BetSettledStatus // 訂單狀態(未結算/已結算/預約)
var orderID: String // 訂單號
var betTime: String // 投注時間
var settlementTime: String // 結算時間
var selections: [BetSettleSelectionsModel] // 投注賽事清單
var totalStake: String // 投注金額
var returns: String // 返還金額(已結算)
var winAmount: String // 最大可贏額
var settlementStatus: BetSettlementStatus // 輸/贏/和
var betType: BetSettleType // 單關/串關
var isEarlySettlement: Bool // 可提前結算
var earlySettlementAmount: String // 提前結算返還額
var cashOutStatus: FBCashOutStatus // 預約提前結算狀態
var isHasEarlySettleHistory: Bool // 是否有提前結算歷史
var ab: Bool // 是否預約投注(auto bet)
var reserveType: FBABSettleStatus // 預約列表狀態
var rst: STSettleReserveType // 預約結算類型
}EarlySettlementButtonStatus 枚舉:
| 值 | 說明 |
|---|---|
| 0 | 按鈕不顯示 |
| 1 | 啟用狀態 |
| 2 | 未啟用 |
| 3 | 等待中 |
OrderShareStatus 枚舉(聊天室晒單):
| 值 | 說明 |
|---|---|
| 0 | 審核中 |
| 1 | 確認中 |
| 2 | 已確認 |
| 3 | 投注失敗 |
| 4 | 取消 |
| 5 | 輸 |
| 6 | 輸半 |
| 7 | 贏 |
| 8 | 贏半 |
| 9 | 平 |
| 10 | 兌現 |
| -99 | 其他 |
EventDetailModel(賽事詳情類型)
位置:STUIKit/STBusiness/Services/Detail/EventDetailModel.swift
swift
enum Typeset: Int, Codable {
case unknow = 0
case one = 1
case two = 2
case three = 3
}
enum TypeTitle: Int, Codable {
case hta = 8 // 主和客
case ha = 5 // 主客
case ht = 4 // 主和
case ta = 7 // 和客
case none = 0 // 無 title
}API Response Model(部分)
STAPI.RiskFreeBetConfigurationRequest.Response(包賠配置)
swift
struct Response: STAutoCodable {
var actName: String // 活動名稱
var actId: Int // 活動 ID
var actStartDate: TimeInterval
var actEndDate: TimeInterval
var content: String
var gameRuleConfig: [GameRuleConfig] // 盤口設置
var introduction: [String] // 活動說明
var amountSettingConfig: [AmountSettingConfig] // 條件設定
var status: Int // 是否有包賠
var template: String // 活動模板
}
struct GameRuleConfig: STAutoCodable {
var cornerKick: Int // 是否有角球
var oddEven: Int // 是否有單雙
var overUnder: Int // 是否有大小
var pointSpread: Int // 是否有讓分
var single: Int // 是否有獨贏
var type: Int // 球類(1=足球, 2=籃球)
}STAPI.UsernameLoginRequest.Body(帳密登入)
swift
struct Body: Encodable {
let username: String
let password: String
let lotNumber: String // 行為驗證
let captchaOutput: String // 行為驗證
let passToken: String // 行為驗證
let genTime: String // 行為驗證
}其他 Model
CryptoAddressInfo(加密貨幣地址)
位置:API/STAPI/User/Address/Model/CryptoAddressInfo.swift
LiveBetGameModel(直播投注遊戲)
位置:API/STAPI/Chat/Model/LiveBetGame/LiveBetGameModel.swift
LiveGameBetInfoModel(直播遊戲投注資訊)
位置:API/STAPI/Bet/Model/LiveGameBetInfoModel.swift
SportMenuModel 相關枚舉
swift
enum AnyCodable {
case string(value: String)
case int(value: Int)
case data(value: Data)
case double(value: Double)
}用於處理 API 回應中型別不固定的欄位。
雷速體育(LS)Model
| Model | 說明 |
|---|---|
LSBallTechniqueModel | 球技術統計 |
LSLineupDataModel | 陣容資料 |
LSRealTimeDataModel | 即時資料 |
LSIntelligenceConfigModel | 情報設定 |
彩票 Model
| Model | 說明 |
|---|---|
MLBetModel | 投注資料 |
MLBetHistoryModel | 投注記錄 |
MLChaseModel | 智能追號 |
MLLotteryGroupModel | 彩票群組 |
MLLotteryPlayingMethodModel | 玩法 |
MLPCDDLocalModel | PC蛋蛋本地資料 |
MLPlayMultiColorModel | 六合彩多色 |
MLPlayMultiModel | 六合彩多選 |
MLChartDataModel | 圖表資料 |