Appearance
我的首頁(開發文檔)
最後更新:2026-04-10
📖 功能說明請參考 我的首頁
架構
相關檔案
ViewController(7 個)
| 檔案 | 說明 |
|---|---|
.../Home/C/BBMineViewController.swift | 我的主頁 |
.../Home/C/VIPViewController.swift | VIP 中心 |
.../Home/C/ContactBenefitMemberViewController.swift | 專屬客服 |
.../Home/C/PhotoBrowserViewController.swift | 照片瀏覽 |
.../Mine/Tasks/C/BBTasksDetailViewController.swift | 任務詳情 |
.../Mine/Tasks/C/SignInSuccessViewController.swift | 簽到成功 |
.../Mine/BottomMenu/C/BBFeedBackViewController.swift | 意見回饋 |
基礎路徑:
BBSport/Tab/我的/
ViewModel(5 個)
| 檔案 | 說明 |
|---|---|
.../Home/C/BBMineViewModel.swift | 主頁 ViewModel |
.../Home/M/MyTask/STCheckInViewModel.swift | 簽到任務 |
.../Mine/Tasks/VM/BBTasksDetailViewModel.swift | 任務詳情 |
.../Mine/Tasks/M/BBDailyTaskCellViewModel.swift | 每日任務 Cell |
.../Home/M/PhotoBrowserViewModel.swift | 照片瀏覽 |
基礎路徑:
BBSport/Tab/我的/
View — Header(6 個)
| 檔案 | 說明 |
|---|---|
.../Home/V/BBMineHeadView.swift | Header |
.../Home/V/BBNewHeaderTopView.swift | Header 頂部 |
.../Home/V/AccountBalanceView.swift | 帳戶餘額 |
.../Home/V/BBMineHeaderVipView.swift | VIP Header |
.../Home/V/BBMineAccountView.swift | 帳戶區塊 |
.../Home/V/BBMineCustomerServiceButton.swift | 客服按鈕 |
基礎路徑:
BBSport/Tab/我的/
View — Cell(11 個)
| 檔案 | 說明 |
|---|---|
.../Home/V/BBMineOrderProgressCell.swift | 訂單進度 |
.../Home/V/BBMineMySignProgressCell.swift | 簽到進度 |
.../Home/V/BBMineMyTaskProgressCell.swift | 任務進度 |
.../Home/V/BBMineActivityCell.swift | 活動 Banner |
.../Home/V/BBMineInfoCell.swift | App 資訊 |
.../Home/V/BBMineOrderStatusCell.swift | 訂單狀態 |
.../Home/V/BBMineUserInfoCell.swift | 用戶資訊 |
.../Home/V/BBMineSeparatorLineCell.swift | 分隔線 |
.../Home/V/BBMineAboutSportsCell.swift | 體育相關 |
.../Home/V/BBBalacnceTableViewCell.swift | 餘額列表 |
.../Home/V/BenefitMemberTableViewCell.swift | 專屬客服列表 |
基礎路徑:
BBSport/Tab/我的/
View — VIP / 其他(7 個)
| 檔案 | 說明 |
|---|---|
.../Home/V/VIP/BBMineVipLogoutView.swift | VIP 登出 |
.../Home/V/VIP/BBMineVipMaxLevelView.swift | VIP 最高等級 |
.../Home/V/VIP/BBMineVipNormalView.swift | VIP 一般等級 |
.../Home/V/VIP/BBMineVipTagView.swift | VIP 標籤 |
.../Home/V/AgencyView.swift | 代理入口 |
.../Home/V/BBAccountMoneyLabel.swift | 金額 Label |
.../Home/V/WebAlertView.swift | Web 彈窗 |
基礎路徑:
BBSport/Tab/我的/
View — 金幣餘額 / 任務(10 個)
| 檔案 | 說明 |
|---|---|
.../Home/V/GoldBalance/BBMineGoldBalancePopupViewController.swift | 金幣餘額彈窗 |
.../Home/V/GoldBalance/BBMineGoldBalanceTableViewCell.swift | 金幣餘額 Cell |
.../Mine/Tasks/V/BBDailyTaskView.swift | 每日任務 |
.../Mine/Tasks/V/MyDailyMySignCell.swift | 每日簽到 |
.../Mine/Tasks/V/MyDailyMySignInfoCell.swift | 簽到資訊 |
.../Mine/Tasks/V/MyDailyMySignRewardCell.swift | 簽到獎勵 |
.../Mine/Tasks/V/MyDailyTaskProgressBarView.swift | 任務進度條 |
.../Mine/Tasks/V/MyDailyTaskProgressBarWrapper.swift | 進度條包裝 |
.../Mine/Tasks/V/MyDailyTaskSubtitleView.swift | 任務副標題 |
.../Mine/Tasks/V/MyDailyTaskTitleView.swift | 任務標題 |
基礎路徑:
BBSport/Tab/我的/
Model(8 個)
| 檔案 | 說明 |
|---|---|
.../Home/M/BenefitMembersModel.swift | 專屬客服 |
.../Home/M/FinishTask.swift | 完成任務 |
.../Home/M/MyTask/STTaskCheckInModel.swift | 簽到任務 |
.../Home/M/MyTask/STTaskHomeModel.swift | 任務首頁 |
.../Home/M/PhotoCellViewModel.swift | 照片 Cell |
.../Mine/Tasks/V/MyDailyTaskSummaryCell.swift | 任務總覽 |
.../Mine/Tasks/V/SignRuleAlertView.swift | 簽到規則彈窗 |
.../Mine/BottomMenu/M/BBFeedbackProblemModel.swift | 回饋問題 |
基礎路徑:
BBSport/Tab/我的/
個人檔案(13 個)
| 檔案 | 說明 |
|---|---|
.../PersonalProfile/View/BBPersonalProfileViewController.swift | 個人檔案 |
.../PersonalProfile/View/BBPersonalBetView.swift | 個人投注 |
.../PersonalProfile/View/BBPersonalProfileBetTableViewCell.swift | 投注 Cell |
.../PersonalProfile/View/BBPersonalProfileHeaderView.swift | 個人 Header |
.../PersonalProfile/View/BBPersonalProfileSwitchSectionView.swift | 切換區塊 |
.../PersonalProfile/View/BBPersonalTagCollectionViewCell.swift | 標籤 Cell |
.../PersonalProfile/View/FansPage/V/FansPageSwitchTypeView.swift | 粉絲頁切換 |
.../PersonalProfile/View/FansPage/V/FansPageTableViewCell.swift | 粉絲頁 Cell |
.../PersonalProfile/View/FansPage/V/FansPageViewController.swift | 粉絲頁 |
.../PersonalProfile/View/FansPage/VM/FansPageViewModel.swift | 粉絲頁 ViewModel |
.../PersonalProfile/ViewModel/BBPersonalProfileBetTableViewCellModel.swift | 投注 Cell Model |
.../PersonalProfile/ViewModel/BBPersonalProfileHeaderViewModel.swift | Header ViewModel |
.../PersonalProfile/ViewModel/BBPersonalProfileViewModel.swift | 個人檔案 ViewModel |
基礎路徑:
BBSport/Tab/我的/
稱號系統(8 個)
| 檔案 | 說明 |
|---|---|
BBSport/Tools/UserTitleManager/UserTitleManager.swift | 稱號管理器 |
.../UserTitleWall/M/UserTitleWallModel.swift | 稱號牆 Model |
.../UserTitleWall/VM/UserTitleWallViewModel.swift | 稱號牆 ViewModel |
.../UserTitleWall/V/UserTitleWallBaseView.swift | 基礎視圖 |
.../UserTitleWall/V/UserTitleWallView.swift | 主視圖 |
.../UserTitleWall/V/SubViews/UserTitleWallContentView.swift | 內容視圖 |
.../UserTitleWall/V/SubViews/UserTitleWallTitleView.swift | 標題視圖 |
.../UserTitleWall/V/SubViews/ConditionProgressView.swift | 條件進度 |
基礎路徑:
BBSport/Tools/UserTitleManager/
其他(5 個)
| 檔案 | 說明 |
|---|---|
.../Mine/BottomMenu/C/BBVersionController.swift | 版本資訊 |
.../Mine/BottomMenu/V/BBPhotoImageView.swift | 照片預覽 |
.../Mine/BottomMenu/V/BBWriteMessageView.swift | 回饋留言 |
.../Mine/Others/M/BBCompetitionModel.swift | 競賽 |
.../Mine/Others/M/BBTransferModel.swift | 轉帳 |
基礎路徑:
BBSport/Tab/我的/
API
個人資訊
個人資訊(看自己)
POST api/forehead/user/center/home — urlForm — STAPI
無參數,靠 Header token/uid 認證。
Response:
| 欄位 | 型別 | 說明 |
|---|---|---|
| alreadyOpen | Bool | 是否開放個人主頁 |
| alreadySubscription | Bool | 是否已關注 |
| userCenter | UserCenter | 用戶資訊 |
| userTitleInfo | UserTitleInfo | 用戶稱號資訊 |
| userTitleWall | UserTitleWallDataContainer | 稱號牆資訊 |
UserCenter 欄位
| 欄位 | 型別 | 說明 |
|---|---|---|
| avatar | String | 頭像 URL |
| nickname | String | 暱稱 |
| username | String | 用戶名 |
| userId | Int | 用戶 ID |
| vipLevel | Int | VIP 等級(0~7) |
| lastWinAmount | Double | 最近盈利金額 |
| lastWinCount | Int | 最近盈利次數 |
| totalFan | Int | 粉絲數 |
| totalSubscription | Int | 關注數 |
| totalHost | Int | 主播數 |
| totalProfessor | Int | 專家數 |
| showSwitch | Int | 是否公開個人主頁 |
UserTitleInfo 欄位:pic(String), titleId(Int), titleIdList([Int]), titleSize(Int)
API Request 檔案:
BBSport/API/STAPI/User/Profile/STAPI+ProfileInfoRequest.swift
個人資訊(看別人)
POST api/forehead/user/center/info — urlForm — STAPI
| 參數 | 型別 | 必填 | 說明 |
|---|---|---|---|
| userId | int | ✅ | 目標用戶 ID |
Response: 同「個人資訊(看自己)」。
金幣餘額
POST api/forehead/activity/goldmall/balance — urlForm — STAPI.GoldMallBalanceRequest
API Request 檔案:
BBSport/API/STAPI/Activity/STAPI+GoldMallBalanceRequest.swift
無參數,靠 Header token/uid 認證。
Response:
| 欄位 | 型別 | 說明 |
|---|---|---|
| coinBalance | Int | 用戶金幣餘額 |
未讀通知數
POST api/forehead/user/message/group/count — urlForm — STAPI.UserNoticeUnreadCountRequest
API Request 檔案:
BBSport/API/STAPI/Notice/STAPI+UserNoticeUnreadCountRequest.swift
無參數,靠 Header token/uid 認證。
Response:
| 欄位 | 型別 | 說明 |
|---|---|---|
| sysUnreadCount | Int | 系統未讀數 |
| actUnreadCount | Int | 活動未讀數 |
| matchUnreadCount | Int | 賽事未讀數 |
| amUnreadCount | Int | 代理未讀數 |
| comUnreadCount | Int | 社區未讀數 |
活動領取狀態
POST api/forehead/activity/act/receive/info — urlForm — STAPI.ActivityActReceiveInfoRequest
API Request 檔案:
BBSport/API/STAPI/STAPI+ActivityActReceiveInfoRequest.swift
無參數,靠 Header token/uid 認證。
Response:
| 欄位 | 型別 | 說明 |
|---|---|---|
| goldMallCanReceive | Bool | 金幣商城是否可領取 |
| inviteCanReceive | Bool | 好友邀請是否可領取 |
| welfareCanReceive | Bool | 福利中心是否可領取 |
充提狀態
提款最新狀態
POST api/forehead/fund/withdraw/last/status — urlForm — STAPI
無參數,靠 Header token/uid 認證。
Response:
| 欄位 | 型別 | 說明 |
|---|---|---|
| bankCards | [WithdrawBankModel] | 用戶銀行卡列表 |
| telephone | String | 綁定的手機號 |
| withdraws | [WithdrawModel] | 提款記錄列表 |
| receivedMoney | Bool | 確認收款按鈕是否已按過 |
| isC2CSplitWithdrawOpen | Bool | 是否開啟 C2C 拆單功能 |
| totalFee | Double | C2C 拆單手續費總合 |
| currentStep | Int | 進度條(1=申請, 2=等待付款, 3=待確認到帳, 4=提款完成) |
| activityMessage | String | 提款超時補償文案 |
充值狀態
POST api/forehead/fund/recharge/status — POST — HttpService
無參數,靠 Header token/uid 認證。
Response:
| 欄位 | 型別 | 說明 |
|---|---|---|
| orderId | String | 訂單號 |
| amount | Double | 充值金額 |
| status | Int | 訂單主狀態(0=待支付, 1=成功, 2=失敗, 3=補單審核中) |
| subStatus | Int | 訂單子狀態 |
| paymentName | String | 支付方式名稱 |
| expiredTtl | Int | 倒計時剩餘秒數 |
其他
專屬客服
POST api/forehead/system/proxy/config/contacts — urlForm — STAPI.UserContactBenefitMemberRequest
API Request 檔案:
BBSport/API/STAPI/User/STAPI+UserContactBenefitMemberRequest.swift
無參數,靠 Header token/uid 認證。
Response: data: [BenefitMembersModel]
| 欄位 | 型別 | 說明 |
|---|---|---|
| id | Int | ID |
| name | String | 軟體名稱 |
| contact | String | 聯繫方式 |
| icon | String | 圖標 |
| proxyName | String | 代理帳號 |
| sort | Int | 排序 |
運營位圖片
POST api/forehead/system/config/images/query — urlForm — STAPI.SystemConfigImagesRequest
API Request 檔案:
BBSport/API/STAPI/STAPI+SystemConfigImagesRequest.swift
| 參數 | 型別 | 必填 | 說明 |
|---|---|---|---|
| categoryId | string | ✅ | 圖片分類 ID,多個以逗號分隔 |
Response: data 為 JSON 字串,解析為 RechargeOperateModel 陣列,含 images(URL)、actionContent(跳轉連結)、categoryId。
TableView 結構
Section ↔ API 對照表
| Section | 枚舉值 | 說明 | 數據來源 API |
|---|---|---|---|
| 0 | orderProgress | 進行中訂單 | POST /withdraw/last/status + POST /recharge/status |
| 1 | singInMy | 每日簽到進度 | POST /activity/act/receive/info + 簽到相關 API |
| 2 | taskMy | 每日任務進度 | POST /activity/act/receive/info + 任務相關 API |
| 3 | goldBalance | 金幣餘額 | POST /activity/goldmall/balance |
| 4 | userInfo | 用戶資訊快捷入口 | POST /user/center/home |
| 5 | banners | 活動 Banner | POST /system/config/images/query(categoryId=20101,20201) |
| 6 | separatorLine | 分隔線 | 無(純 UI) |
| 7 | aboutSports | 體育相關 | 無(靜態入口) |
| 8 | appInfo | App 資訊列表 | 無(靜態入口) |
活動 Banner
Banner 數據透過 STAPI.SystemConfigImagesRequest 取得,請求時傳入 categoryId:
20101(categoryId.gameOperate)— 遊戲運營位20201(categoryId.mineBanner)— 個人中心輪播圖
返回 RechargeOperateModel 陣列,每筆含 images(圖片 URL)、actionContent(跳轉連結,透過路由系統解析跳轉目標)、categoryId。
WebSocket OrderStatusID(12 種)
| ID | 枚舉值 | 說明 |
|---|---|---|
| 401 | rechargeSuccess | 會員充值成功 |
| 402 | withdrawSuccess | 會員提現成功 |
| 407 | rechargeFail | 會員充值失敗 |
| 408 | bonus | 紅利發放 |
| 413 | withdrawFail | 提現失敗 |
| 433 | c2cRechargePayTimeout | C2C 充值訂單付款超時 |
| 434 | c2cWithdrawPayReminder | C2C 提現訂單付款提醒 |
| 435 | c2cRechargeReceiveTimeout | C2C 充值訂單收款超時 |
| 437 | c2cWithdrawReceiveTimeout | C2C 提現訂單收款超時 |
| 438 | c2cWithdrawConfirmed | C2C 提現訂單被確認 |
| 439 | c2cEasterEggActivityStart | C2C 彩蛋活動開始 |
| 445 | c2cWithdrawPayerCanceled | C2C 提現訂單付款方取消 |
來源:
BBMineViewController.OrderStatusID,收到推送後呼叫getOrderStatus()刷新充提狀態。充值成功額外刷新 Header 頂部餘額。
實作重點
- 登入狀態:大部分操作需登入,未登入彈出登入提示
- Header 動態高度:依登入狀態和訂單狀態調整;未登入 189pt、已登入 267pt 或 251pt
- WebSocket 即時更新:監聽
STNotify.receivedSocketPush,依OrderStatusID(充提相關 12 種)刷新 - 客服氣泡:RxSwift 控制客服按鈕紅點和氣泡提示
- 浮動球系統:管理多個浮動球(活動、新用戶轉盤),支援 jumpToPage 和 jumpToEntertainment;浮動球數據來自
categoryId=20105(categoryIdOfBanner.homeMyCenter) - 夜間模式:監聽
STNotify.nightPatternOpen,刷新所有 UI 顏色
關鍵數字
- Header 未登入高度:189pt
- Header 已登入高度:267pt / 251pt
- WebSocket 充提推送 OrderStatusID:12 種