Skip to content

我的首頁

最後更新:2026-04-07


功能說明

「我的」Tab 是使用者的個人中心,提供帳戶管理、餘額查詢、充值提款入口、VIP 資訊、訂單進度、每日簽到/任務、活動 Banner、App 資訊等功能。頁面分為上方固定 Header 區域(個人資訊 + VIP + 錢包操作)和下方可滑動 TableView 區域。

使用者流程

  1. 點擊「我的」Tab → 進入 BBMineViewController
  2. 頁面上方 Header 顯示:頭像 + 暱稱 + VIP 等級 + 帳戶餘額 + 充值/提款按鈕 + 客服按鈕
  3. 下方 TableView 依序顯示:進行中訂單、每日簽到進度、每日任務進度、金幣餘額、用戶資訊入口、活動 Banner、體育相關、App 資訊列表
  4. 若有充值或提款進行中 → 顯示訂單進度條
  5. WebSocket 推送充提結果 → 即時更新訂單狀態

頁面跳轉

觸發位置目標
VIP 區塊VIPViewController(H5 VIP 中心)
充值按鈕充值頁(BBWalletService.openRecharge()
提款按鈕提款頁(BBWalletService.openWithdrawVC()
我的消息BBStationLetterViewController(需登入)
意見回饋BBFeedBackViewController(需登入)
每日簽到/任務BBTasksDetailViewController(需登入)
活動 Banner對應活動頁面(依 Banner 配置)
客服按鈕CustomerChatManager(開啟客服)
專屬客服ContactBenefitMemberViewController(push)

技術視角(開發看這裡)

相關檔案

類型檔案路徑
ViewController/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/C/BBMineViewController.swift
ViewModel/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/C/BBMineViewModel.swift
ViewModel(任務)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/M/MyTask/STCheckInViewModel.swift
View(Header)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/V/BBMineHeadView.swift
View(Header 頂部)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/V/BBNewHeaderTopView.swift
View(帳戶餘額)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/V/AccountBalanceView.swift
View(VIP Header)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/V/BBMineHeaderVipView.swift
View(帳戶區塊)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/V/BBMineAccountView.swift
View(客服按鈕)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/V/BBMineCustomerServiceButton.swift
ViewController(VIP)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/C/VIPViewController.swift
ViewController(專屬客服)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/C/ContactBenefitMemberViewController.swift
Cell(訂單進度)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/V/BBMineOrderProgressCell.swift
Cell(簽到進度)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/V/BBMineMySignProgressCell.swift
Cell(任務進度)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/V/BBMineMyTaskProgressCell.swift
Cell(活動 Banner)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/V/BBMineActivityCell.swift
Cell(App 資訊)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/V/BBMineInfoCell.swift
Model(專屬客服)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/M/BenefitMembersModel.swift
ViewController(照片瀏覽)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/C/PhotoBrowserViewController.swift
Model(完成任務)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/M/FinishTask.swift
Model(簽到任務)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/M/MyTask/STTaskCheckInModel.swift
Model(任務首頁)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/M/MyTask/STTaskHomeModel.swift
ViewModel(照片瀏覽)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/M/PhotoBrowserViewModel.swift
ViewModel(照片 Cell)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/M/PhotoCellViewModel.swift
View(代理入口)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/V/AgencyView.swift
View(金額 Label)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/V/BBAccountMoneyLabel.swift
Cell(餘額列表)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/V/BBBalacnceTableViewCell.swift
Cell(體育相關)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/V/BBMineAboutSportsCell.swift
Cell(訂單狀態)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/V/BBMineOrderStatusCell.swift
Cell(分隔線)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/V/BBMineSeparatorLineCell.swift
Cell(用戶資訊)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/V/BBMineUserInfoCell.swift
Cell(專屬客服列表)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/V/BenefitMemberTableViewCell.swift
ViewController(金幣餘額彈窗)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/V/GoldBalance/BBMineGoldBalancePopupViewController.swift
Cell(金幣餘額)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/V/GoldBalance/BBMineGoldBalanceTableViewCell.swift
Cell(照片)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/V/PhotoCollectionViewCell.swift
View(VIP 登出)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/V/VIP/BBMineVipLogoutView.swift
View(VIP 最高等級)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/V/VIP/BBMineVipMaxLevelView.swift
View(VIP 一般等級)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/V/VIP/BBMineVipNormalView.swift
View(VIP 標籤)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/V/VIP/BBMineVipTagView.swift
View(Web 彈窗)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Home/V/WebAlertView.swift
ViewController(個人檔案)/Users/user/Work/bbsport-new/BBSport/Tab/我的/PersonalProfile/View/BBPersonalProfileViewController.swift
View(個人投注)/Users/user/Work/bbsport-new/BBSport/Tab/我的/PersonalProfile/View/BBPersonalBetView.swift
Cell(個人投注)/Users/user/Work/bbsport-new/BBSport/Tab/我的/PersonalProfile/View/BBPersonalProfileBetTableViewCell.swift
View(個人 Header)/Users/user/Work/bbsport-new/BBSport/Tab/我的/PersonalProfile/View/BBPersonalProfileHeaderView.swift
View(切換區塊)/Users/user/Work/bbsport-new/BBSport/Tab/我的/PersonalProfile/View/BBPersonalProfileSwitchSectionView.swift
Cell(標籤)/Users/user/Work/bbsport-new/BBSport/Tab/我的/PersonalProfile/View/BBPersonalTagCollectionViewCell.swift
View(粉絲頁切換)/Users/user/Work/bbsport-new/BBSport/Tab/我的/PersonalProfile/View/FansPage/V/FansPageSwitchTypeView.swift
Cell(粉絲頁)/Users/user/Work/bbsport-new/BBSport/Tab/我的/PersonalProfile/View/FansPage/V/FansPageTableViewCell.swift
ViewController(粉絲頁)/Users/user/Work/bbsport-new/BBSport/Tab/我的/PersonalProfile/View/FansPage/V/FansPageViewController.swift
ViewModel(粉絲頁)/Users/user/Work/bbsport-new/BBSport/Tab/我的/PersonalProfile/View/FansPage/VM/FansPageViewModel.swift
ViewModel(個人投注 Cell)/Users/user/Work/bbsport-new/BBSport/Tab/我的/PersonalProfile/ViewModel/BBPersonalProfileBetTableViewCellModel.swift
ViewModel(個人 Header)/Users/user/Work/bbsport-new/BBSport/Tab/我的/PersonalProfile/ViewModel/BBPersonalProfileHeaderViewModel.swift
ViewModel(個人檔案)/Users/user/Work/bbsport-new/BBSport/Tab/我的/PersonalProfile/ViewModel/BBPersonalProfileViewModel.swift
ViewController(意見回饋)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Mine/BottomMenu/C/BBFeedBackViewController.swift
ViewController(版本資訊)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Mine/BottomMenu/C/BBVersionController.swift
Model(回饋問題)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Mine/BottomMenu/M/BBFeedbackProblemModel.swift
View(照片預覽)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Mine/BottomMenu/V/BBPhotoImageView.swift
View(回饋留言)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Mine/BottomMenu/V/BBWriteMessageView.swift
Model(競賽)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Mine/Others/M/BBCompetitionModel.swift
Model(轉帳)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Mine/Others/M/BBTransferModel.swift
View(時間按鈕)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Mine/Others/V/STTimeButton.swift
ViewController(任務詳情)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Mine/Tasks/C/BBTasksDetailViewController.swift
ViewController(簽到成功)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Mine/Tasks/C/SignInSuccessViewController.swift
ViewModel(每日任務 Cell)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Mine/Tasks/M/BBDailyTaskCellViewModel.swift
View(每日任務)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Mine/Tasks/V/BBDailyTaskView.swift
Cell(每日簽到)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Mine/Tasks/V/MyDailyMySignCell.swift
Cell(簽到資訊)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Mine/Tasks/V/MyDailyMySignInfoCell.swift
Cell(簽到獎勵)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Mine/Tasks/V/MyDailyMySignRewardCell.swift
View(任務進度條)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Mine/Tasks/V/MyDailyTaskProgressBarView.swift
View(任務進度條包裝)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Mine/Tasks/V/MyDailyTaskProgressBarWrapper.swift
View(任務副標題)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Mine/Tasks/V/MyDailyTaskSubtitleView.swift
Cell(任務總覽)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Mine/Tasks/V/MyDailyTaskSummaryCell.swift
View(任務標題)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Mine/Tasks/V/MyDailyTaskTitleView.swift
View(簽到規則彈窗)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Mine/Tasks/V/SignRuleAlertView.swift
ViewModel(任務詳情)/Users/user/Work/bbsport-new/BBSport/Tab/我的/Mine/Tasks/VM/BBTasksDetailViewModel.swift
UserTitleManager(稱號管理器)/Users/user/Work/bbsport-new/BBSport/Tools/UserTitleManager/UserTitleManager.swift
UserTitleWall — Model/Users/user/Work/bbsport-new/BBSport/Tools/UserTitleManager/UserTitleWall/M/UserTitleWallModel.swift
UserTitleWall — ViewModel/Users/user/Work/bbsport-new/BBSport/Tools/UserTitleManager/UserTitleWall/VM/UserTitleWallViewModel.swift
UserTitleWall — 基礎視圖/Users/user/Work/bbsport-new/BBSport/Tools/UserTitleManager/UserTitleWall/V/UserTitleWallBaseView.swift
UserTitleWall — 主視圖/Users/user/Work/bbsport-new/BBSport/Tools/UserTitleManager/UserTitleWall/V/UserTitleWallView.swift
UserTitleWall — 內容視圖/Users/user/Work/bbsport-new/BBSport/Tools/UserTitleManager/UserTitleWall/V/SubViews/UserTitleWallContentView.swift
UserTitleWall — 標題視圖/Users/user/Work/bbsport-new/BBSport/Tools/UserTitleManager/UserTitleWall/V/SubViews/UserTitleWallTitleView.swift
UserTitleWall — 條件進度/Users/user/Work/bbsport-new/BBSport/Tools/UserTitleManager/UserTitleWall/V/SubViews/ConditionProgressView.swift
UserTitleWall — 稱號列表/Users/user/Work/bbsport-new/BBSport/Tools/UserTitleManager/UserTitleWall/V/SubViews/TitleListView.swift

API

功能說明NamespaceEndpointMethod主要參數
個人資訊STAPISTAPI.ProfileInfoRequestPOST
金幣餘額STAPIapi/forehead/activity/goldmall/balancePOST
未讀通知數STAPISTAPI.UserNoticeUnreadCountRequestPOST
活動領取狀態STAPISTAPI.ActivityActReceiveInfoRequestPOST
提款最新狀態STAPISTAPI.WithdrawLastStatusRequestPOST
充值狀態HttpServiceHttpService.getRechargeStatus-
專屬客服STAPISTAPI.UserContactBenefitMemberRequestPOST
運營位圖片STAPISTAPI.SystemConfigImagesRequestPOSTcategoryId

資料模型

MineSection(TableView Sections)

Section枚舉值說明
0orderProgress進行中訂單
1singInMy每日簽到進度
2taskMy每日任務進度
3goldBalance金幣餘額
4userInfo用戶資訊快捷入口
5banners活動 Banner
6separatorLine分隔線
7aboutSports體育相關
8appInfoApp 資訊列表

實作重點

  1. 登入狀態影響:大部分操作需登入(checkLoginStatus()),未登入彈出 STNormalAlertView.showLoginAlertView()
  2. Header 動態高度:依登入狀態和訂單狀態調整 headViewHeight constraint;未登入 AD(189)、已登入 AD(267)AD(251)
  3. WebSocket 即時更新:監聽 STNotify.receivedSocketPush,依 OrderStatusID(充提相關 12 種)刷新訂單狀態
  4. 客服氣泡CustomerChatManager.shared.haveNewMessageAndBubbleBubblesSubject(RxSwift)控制客服按鈕紅點和氣泡提示
  5. 浮動球系統STBallItemViewProtocol 管理多個浮動球(活動、新用戶轉盤),支援 jumpToPage 和 jumpToEntertainment 兩種跳轉
  6. 夜間模式:監聽 STNotify.nightPatternOpenrefreshNightMode() 刷新所有 UI 顏色

API 呼叫流程

進入「我的」Tab (BBMineViewController)

viewWillAppear
  ├─ [API 1] POST api/forehead/user/center/home
  │  → 用戶頭像、暱稱、VIP、錢包資訊

  ├─ [並行] POST api/forehead/user/notice/unreadCount
  │  → 系統/活動/賽事/社區 未讀數量
  │  └─ 回調: POST api/forehead/activity/act/receiveInfo
  │     → 金幣商城/邀請/福利可領取狀態 (紅點)

  ├─ [並行] POST api/forehead/user/contactBenefitMember
  │  → 專屬客服資訊

  ├─ [並行] POST api/forehead/system/config/images/query
  │  → 充值活動運營圖

  ├─ [並行] POST api/fund/withdraw/lastStatus
  │  → 最近提款訂單狀態

  ├─ [並行] POST api/forehead/activity/act/userInfo {template:"signPercentage"}
  │  → 簽到進度

  ├─ [並行] POST api/forehead/activity/dailyMission/get
  │  → 每日任務列表與進度

  └─ [並行] POST api/forehead/user/title/list
     → 用戶稱號牆